diff --git a/src/assets/img/icon/shop/1.webp b/src/assets/img/icon/shop/1.webp new file mode 100644 index 0000000..5a0364a Binary files /dev/null and b/src/assets/img/icon/shop/1.webp differ diff --git a/src/assets/img/icon/shop/2.webp b/src/assets/img/icon/shop/2.webp new file mode 100644 index 0000000..4e43a15 Binary files /dev/null and b/src/assets/img/icon/shop/2.webp differ diff --git a/src/assets/img/icon/shop/3.png b/src/assets/img/icon/shop/3.png new file mode 100644 index 0000000..1520d8a Binary files /dev/null and b/src/assets/img/icon/shop/3.png differ diff --git a/src/assets/img/icon/shop/4.jpg b/src/assets/img/icon/shop/4.jpg new file mode 100644 index 0000000..402f55f Binary files /dev/null and b/src/assets/img/icon/shop/4.jpg differ diff --git a/src/assets/img/icon/shop/baiyibutie.png b/src/assets/img/icon/shop/baiyibutie.png new file mode 100644 index 0000000..372fae8 Binary files /dev/null and b/src/assets/img/icon/shop/baiyibutie.png differ diff --git a/src/pages/home/Attention.vue b/src/pages/home/Attention.vue index f73f845..14982d3 100644 --- a/src/pages/home/Attention.vue +++ b/src/pages/home/Attention.vue @@ -1,40 +1,89 @@ @@ -75,7 +124,7 @@ import {onMounted, reactive} from "vue"; import {useNav} from "@/utils/hooks/useNav"; import api from "@/api"; import SlideList from "@/pages/home/slide/SlideList.vue"; -import Utils from "@/utils"; +import Utils, {$no} from "@/utils"; import Scroll from "@/components/Scroll.vue"; import goods from "@/assets/data/goods"; @@ -115,31 +164,14 @@ onMounted(() => { #Shop { font-size: 14rem; - color: white; - padding-top: @header-height; position: relative; background: @fColor; + background: #f1f1f1; + padding: 10rem 5rem; + color: black; - .bg { - top: 0; - position: absolute; - width: 100vw; - height: 30vh; - //background: red; - - @th: 70%; - @eColor: rgb(32, 28, 58); - - .top { - height: @th; - background: linear-gradient(to bottom, rgb(56, 30, 77), @eColor); - } - - .bottom { - height: 100% - @th; - background: red; - background: linear-gradient(to bottom, @eColor, @fColor); - } + .wrapper { + padding: 0 5rem; } .search { @@ -147,20 +179,22 @@ onMounted(() => { z-index: 2; display: flex; align-items: center; - height: @header-height; - padding: 9rem 20rem; + height: 36rem; box-sizing: border-box; + margin-bottom: 10rem; - img { - width: 20rem; + svg { + font-size: 22rem; } .search-input { - border: 3rem solid rgb(140, 48, 74); + border: 1rem solid rgb(140, 48, 74); border-radius: 8rem; height: 100%; padding: 0 10rem; + padding-right: 3rem; flex: 1; + gap: 10rem; display: flex; align-items: center; @@ -173,12 +207,19 @@ onMounted(() => { } .search-notice { - color: rgb(242, 62, 92); + background: rgb(242, 62, 92); + padding: 0 10rem; + height: 85%; + border-radius: 6rem; + display: flex; + justify-content: center; + align-items: center; + color: white; } } .more { - margin-left: 20rem; + margin-left: 10rem; display: flex; flex-direction: column; align-items: center; @@ -187,50 +228,66 @@ onMounted(() => { } } + .card { + background: white; + padding: 10rem 15rem; + margin-bottom: 10rem; + border-radius: 8rem; + } + .options { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 20rem; - height: 40rem; - padding: 4rem 20rem; + display: flex; + overflow-x: auto; box-sizing: border-box; - img { - width: 20rem; - margin-right: 10rem; - } - .option { + width: 17vw; + flex-shrink: 0; font-size: 13rem; - flex: 1; display: flex; - background: rgb(63, 58, 78); - padding: 6rem 8rem; - border-radius: 6rem; + flex-direction: column; + justify-content: center; + align-items: center; + + svg { + font-size: 30rem; + margin-bottom: 3rem; + } } } - .navs { - overflow: auto; - padding: 0 10rem; + .baiyibutie { + display: flex; - .wrapper { + .item { display: flex; - //flex-wrap: wrap; - } + flex-direction: column; + justify-content: center; + align-items: center; + width: 25%; + font-size: 12rem; + color: gray; - .nav { - margin: 10rem; - word-break: keep-all; - //border-bottom: 2rem solid white; + img { + width: 80%; + } + + .price { + color: red; + font-size: 16rem; + font-weight: bold; + + .m { + font-size: 10rem; + } + } } } .Scroll { position: relative; z-index: 2; - //height: calc(100vh - @header-height) !important; - height: calc(100vh - @header-height * 2 - @footer-height) !important; + height: calc(100vh - @footer-height * 2) !important; } .fixed { @@ -240,15 +297,15 @@ onMounted(() => { @p: 5rem; .goods-list { - padding: @p; + padding-bottom: 20rem; } .goods { - width: calc(50% - @p); + width: 50%; box-sizing: border-box; padding: 5rem; - .card { + .item { border-radius: 8rem; overflow: hidden; background: white; diff --git a/src/pages/home/Publish.vue b/src/pages/home/Publish.vue index 29bf24f..d8397f5 100644 --- a/src/pages/home/Publish.vue +++ b/src/pages/home/Publish.vue @@ -93,12 +93,16 @@ export default { // let constraints = {video: {width: this.bodyWidth, height: this.bodyHeight - 60}, audio: false}; // let constraints = {video:{width:480,height:320}, audio: false}; let constraints = {video: true, audio: false}; - getUserMedia(constraints, (MediaStream) => { - this.video.srcObject = MediaStream; - this.video.play(); - }, function (PermissionDeniedError) { - console.log(PermissionDeniedError); - }); + try { + getUserMedia(constraints, (MediaStream) => { + this.video.srcObject = MediaStream; + this.video.play(); + }, function (PermissionDeniedError) { + console.log(PermissionDeniedError); + }); + } catch (e) { + console.log('e', e) + } }, }, }