yuanyuan 2 лет назад
Родитель
Сommit
bdf3ef3dca
4 измененных файлов с 158 добавлено и 98 удалено
  1. 3 4
      src/App.vue
  2. BIN
      src/assets/icon_jiagenew@3x.png
  3. 77 3
      src/components/product/productInfo.vue
  4. 78 91
      src/views/Discover.vue

+ 3 - 4
src/App.vue

@@ -304,7 +304,6 @@ export default {
     }
 
     &.productSearchCorpse,
-    &.discover,
     &.mine,
     &.creatorDetail,
     &.hopeMarket {
@@ -326,9 +325,9 @@ export default {
     &.auction {
         background-color: #030001;
     }
-    // &.discover {
-    //     background: #0f1014;
-    // }
+    &.discover {
+        background: #0f1014;
+    }
     &.domainname,
     &.domainSubmit,
     &.activityList,

BIN
src/assets/icon_jiagenew@3x.png


+ 77 - 3
src/components/product/productInfo.vue

@@ -1,13 +1,40 @@
 <template>
-    <div class="product" :style="{ background: bg }" @click="goDetail" :class="{ dark: dark, domain: domain }">
+    <div v-if="copyright" class="product_copyright" @click="goDetail">
+        <div class="product-top_copyright">
+            <van-image
+                width="100%"
+                height="calc(50vw - 24px)"
+                :src="getImg(changeImgs(info.pic, 600))"
+                :fit="info.type === 'PICTURE' ? 'cover' : 'contain'"
+                class="product-top_copyright_img"
+            />
+            <div class="content">
+                <div class="copyright_name van-ellipsis">
+                    {{ info.name }}
+                </div>
+                <div class="copyright_circulate">
+                    <div>流通</div>
+                    <div>800份</div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div
+        class="product"
+        :style="{ background: bg }"
+        @click="goDetail"
+        :class="{ dark: dark, domain: domain, find: find }"
+        v-else
+    >
         <div class="product-top">
             <van-image
                 width="100%"
                 height="calc(50vw - 24px)"
                 :src="getImg(changeImgs(info.pic, 600))"
                 :fit="info.type === 'PICTURE' ? 'cover' : 'contain'"
+                class="product-top_img"
             />
-            <div class="number" v-if="info.number">编号:{{ info.number }}</div>
+            <div class="number" v-if="info.number && !find">编号:{{ info.number }}</div>
         </div>
 
         <div class="content">
@@ -35,7 +62,7 @@
             <template v-else>
                 <div class="price-content" v-if="info.salable">
                     <div class="price">
-                        <img src="@assets/jiage_huang.png" alt="" />
+                        <img src="@assets/icon_jiagenew@3x.png" alt="" />
                         <span>{{ info.price }}</span>
                     </div>
                     <div class="flex1"></div>
@@ -85,10 +112,18 @@ export default {
             type: Boolean,
             default: false
         },
+        find: {
+            type: Boolean,
+            default: false
+        },
         domain: {
             type: Boolean,
             default: false
         },
+        copyright: {
+            type: Boolean,
+            default: false
+        },
         type: {
             type: String,
             default: ''
@@ -161,6 +196,32 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.product_copyright {
+    width: calc(50vw - 24px);
+    margin: 8px;
+    display: inline-block;
+    border-radius: 8px;
+    overflow: hidden;
+    position: relative;
+    .van-image {
+        overflow: hidden;
+        display: block;
+    }
+    .product-top_copyright_img {
+        border-radius: 8px;
+    }
+    .content {
+        padding: 6px 10px 8px;
+        .copyright_name {
+            font-size: @font2;
+            color: @text0;
+            // color: #FFFFFF;
+            line-height: 24px;
+            display: flex;
+            align-items: center;
+        }
+    }
+}
 .product {
     width: calc(50vw - 24px);
     margin: 8px;
@@ -240,6 +301,19 @@ export default {
             color: #43ce00;
         }
     }
+    &.find {
+        background: #242632;
+        .name {
+            color: #fff;
+        }
+        .price {
+            font-family: OSP-DIN, OSP;
+            color: #00fe1e;
+        }
+        .product-top_img {
+            border-radius: 8px;
+        }
+    }
     &.domain {
         background: #161414;
 

+ 78 - 91
src/views/Discover.vue

@@ -8,24 +8,24 @@
     >
         <van-sticky ref="top">
             <div class="padding-safe-top">
-                <!-- <div class="top">
+                <div class="top">
                     <div class="search" @click="$router.push('/productSearch')">
                         <img src="@assets/icon_sosuofaxian@3x.png" alt="" />
                         <span>搜索你要的精彩</span>
                     </div>
                     <img src="@assets/icon_liutong@3x.png" class="logo" alt="" />
-                </div> -->
-                <div class="top">
+                </div>
+                <!-- <div class="top">
                     <img src="@assets/nav_logo.png" class="logo" alt="" />
 
                     <div class="search" @click="$router.push('/searchAll')">
                         <img src="@assets/icon-sosuo.png" alt="" />
                         <span> 搜索你要的精彩 </span>
                     </div>
-                </div>
+                </div> -->
             </div>
         </van-sticky>
-        <!-- <div class="brand_products">
+        <div class="brand_products">
             <div class="brand_tip">品牌商户</div>
             <van-list
                 class="brand_products_list"
@@ -68,7 +68,7 @@
                     </div>
                 </div>
             </div>
-        </div> -->
+        </div>
         <!-- <swiper :slides-per-view="3" :space-between="16" class="mySwiper" :autoplay="{ delay: 3500 }"> 
             <swiper-slide v-for="(item, index) in banners" :key="item.id"> 
                 <van-image
@@ -86,7 +86,7 @@
             </swiper-slide>
         </swiper> -->
 
-        <div class="menu">
+        <!-- <div class="menu">
             <div class="menu-con">
                 <div
                     class="menu-item_con menu-item_con_one"
@@ -112,12 +112,6 @@
                     </div>
                     <img src="../assets/png-hecheng@3x.png" alt="" class="menu-item_con_bg" />
                 </div>
-                <!-- <div class="text1"> 
-                    <img src="../assets/info_icon_yishuzhanguan.png" alt="" /> 
-                    <span> 艺术展览 </span>
-                </div>
-                <div class="text2"> 环球捕猎顶级艺术展览,尽在绿洲宇宙! </div>
-                <img src="../assets/discover/yishuzhanlan-diwen.png" alt="" class="menu-bg" /> -->
                 <div
                     class="menu-item_con menu-item_con_three"
                     v-if="!$store.state.review"
@@ -130,14 +124,6 @@
                     </div>
                     <img :src="require(`@assets/png-yipai@3x.png`)" alt="" class="menu-item_con_bg" />
                 </div>
-                <!-- <div
-                    class="menu-item_con menu-item_con_four"
-                    @click="
-                        goWin(
-                            'https://shop103867459.m.youzan.com/v2/showcase/homepage?alias=Zp3noaegLR&reft=1649311507717_1652343999681&spm=f.100904662_f.100904662_t.1688564850'
-                        )
-                    "
-                > -->
                 <div class="menu-item_con menu-item_con_four" @click="$router.push('/domainname')">
                     <img :src="require(`@assets/info_icon_yanshengping@3x.png`)" alt="" class="menu-item_con_img" />
                     <div>
@@ -146,39 +132,8 @@
                     </div>
                     <img src="../assets/png-yanshengpin@3x.png" alt="" class="menu-item_con_bg" />
                 </div>
-                <!-- <div class="text1"> 
-                    <img src="../assets/info_icon_yishuzhanguan.png" alt="" /> 
-                    <span> 艺术展览 </span>
-                </div>
-                <div class="text2"> 环球捕猎顶级艺术展览,尽在绿洲宇宙! </div>
-                <img src="../assets/discover/yishuzhanlan-diwen.png" alt="" class="menu-bg" /> -->
             </div>
-            <!-- <div class="menu-right"> 
-                <div class="menu-item" @click="$router.push('/hopeMarket')" v-if="!$store.state.review"> 
-                    <div class="text1"> 
-                        <img src="../assets/discover/info_icon_banquanshichang.png" alt="" /> 
-                        <span> 版权市场 </span>
-                    </div>
-                    <div class="text2"> 环球捕猎顶级艺术展览,尽在绿洲宇宙! </div>
-                    <img src="../assets/discover/banquanshichang-diwen.png" alt="" class="menu-bg" /> 
-                </div>
-                <div
-                    class="menu-item"
-                    @click="
-                        goWin(
-                            'https://shop103867459.m.youzan.com/v2/showcase/homepage?alias=Zp3noaegLR&reft=1649311507717_1652343999681&spm=f.100904662_f.100904662_t.1688564850'
-                        )
-                    "
-                > 
-                    <div class="text1"> 
-                        <img src="../assets/info_icon_yanshengping.png" alt="" /> 
-                        <span> 艺术衍生品商城 </span>
-                    </div>
-                    <div class="text2"> 最酷炫的艺术衍生品集成店,快来pick你的精彩! </div>
-                    <img src="../assets/shangcheng-diwen.png" alt="" class="menu-bg" /> 
-                </div>
-            </div> -->
-        </div>
+        </div> -->
 
         <!-- <van-grid :border="false" :column-num="$store.state.review ? 2 : 4"> 
             <van-grid-item
@@ -224,7 +179,7 @@
                     class="box-tabs"
                     v-model:active="sort"
                     shrink
-                    line-width="16"
+                    line-width="30"
                     :before-change="beforeChange"
                     line-height="2"
                     @change="getList(true)"
@@ -260,13 +215,14 @@
                 :immediate-check="false"
             >
                 <template v-for="(item, index) in showList" :key="item.id">
+                    <!-- <product-info v-if="sort === 'collection'" v-model:info="list[index]" find> </product-info> -->
+                    <prefixName-info v-if="sort === 'collection'" v-model:info="list[index]" dark></prefixName-info>
                     <product-info
-                        v-if="sort === 'collection_MY' || sort === 'domain' || sort === 'collection'"
+                        v-else-if="sort === 'collection_MY' || sort === 'domain'"
                         v-model:info="list[index]"
                         dark
                     >
                     </product-info>
-                    <!-- <prefixName-info v-if="sort === 'collection'" v-model:info="list[index]" dark></prefixName-info> -->
                     <creator-small v-else-if="sort === 'creator'" v-model:info="list[index]"> </creator-small>
                     <show-info v-else-if="sort === 'art_Exhibition'" v-model:info="list[item.index]" list> </show-info>
                     <show-info v-else-if="sort === 'hot'" v-model:info="list[index]" list> </show-info>
@@ -299,7 +255,8 @@ export default {
     components: {
         ProductInfo,
         CreatorSmall,
-        ShowInfo
+        ShowInfo,
+        PrefixNameInfo
     },
     data() {
         return {
@@ -375,16 +332,32 @@ export default {
             if (!this.$store.state.review) {
                 return [
                     {
-                        label: '数字商品',
+                        label: '最新发布',
                         value: 'collection'
                     },
+                    {
+                        label: '我的关注',
+                        value: 'myAttention'
+                    },
+                    {
+                        label: '热力推荐',
+                        value: 'stronglyRecommended'
+                    },
+                    {
+                        label: '版权品',
+                        value: 'copyright'
+                    },
                     {
                         label: '元域名',
                         value: 'domain'
                     },
                     {
-                        label: '个人作品',
-                        value: 'collection_MY'
+                        label: '衍生品',
+                        value: 'derivative'
+                    },
+                    {
+                        label: '元宇宙物资',
+                        value: 'metaverseSupplies'
                     }
                 ];
             } else {
@@ -592,6 +565,15 @@ export default {
                 } else {
                     sort = 'likes,desc';
                 }
+            } else if (this.sort === 'copyright') {
+                query = {
+                    onShelf: true,
+                    del: false,
+                    salable: 0,
+                    source: this.$store.state.reviewPay ? 'OFFICIAL' : '',
+                    notLike: this.notLike,
+                    type: 'PICTURE'
+                };
             } else if (this.sort === 'art_Exhibition') {
                 url = 'showroom/all';
                 query = {
@@ -717,52 +699,52 @@ export default {
 
 <style lang="less" scoped>
 .top {
-    display: flex;
-    padding: 9px 16px;
-    background-color: #272b2e;
-    display: flex;
-    align-items: center;
     // display: flex;
-    // padding: 13px 16px 0px;
-    // background: #0f1014;
-    // justify-content: space-between;
+    // padding: 9px 16px;
+    // background-color: #272b2e;
+    // display: flex;
     // align-items: center;
+    display: flex;
+    padding: 13px 16px 0px;
+    background: #0f1014;
+    justify-content: space-between;
+    align-items: center;
 
     .logo {
-        // width: 24px;
-        width: auto;
+        width: 24px;
+        // width: auto;
         height: 24px;
         display: block;
     }
 
     .search {
-        flex-grow: 1;
-        background-color: #373b3e;
-        display: flex;
-        align-items: center;
-        margin-left: 10px;
-        padding: 4px 20px;
-        border-radius: 21px;
-        // width: calc(82vw - 0.5px);
-        // height: 37px;
-        // background: #242632;
-        // padding-left: 12px;
-        // opacity: 0.5;
+        // flex-grow: 1;
+        // background-color: #373b3e;
         // display: flex;
         // align-items: center;
+        // margin-left: 10px;
+        // padding: 4px 20px;
         // border-radius: 21px;
-        // box-sizing: border-box;
+        width: calc(82vw - 0.5px);
+        height: 37px;
+        background: #242632;
+        padding-left: 12px;
+        opacity: 0.5;
+        display: flex;
+        align-items: center;
+        border-radius: 21px;
+        box-sizing: border-box;
 
         img {
             width: 16px;
             height: 16px;
-            margin-right: 10px;
-            // margin-right: 4px;
+            // margin-right: 10px;
+            margin-right: 4px;
         }
 
         font-size: 14px;
-        // color: #ffffff;
-        color: @text3;
+        color: #ffffff;
+        // color: @text3;
         line-height: 24px;
     }
 }
@@ -788,6 +770,7 @@ export default {
     width: 100%;
     padding: 0px 16px 0px;
     box-sizing: border-box;
+    margin-bottom: 20px;
     .oasis_art_tip {
         font-size: 16px;
         font-family: AlimamaShuHeiTi;
@@ -873,8 +856,8 @@ export default {
     }
 }
 .discover {
-    // background: #0f1014;
-    background-color: #272b2e;
+    background: #0f1014;
+    // background-color: #272b2e;
 }
 
 .mySwiper {
@@ -1009,6 +992,7 @@ export default {
 /deep/.van-tab.van-tab--active {
     color: #fff !important;
     font-size: 16px;
+    font-family: AlimamaShuHeiTi !important;
 }
 
 /deep/.van-tabs__line {
@@ -1039,6 +1023,7 @@ export default {
     display: flex;
     justify-content: space-between;
     align-items: center;
+    background: #0f1014;
 
     .meta_domain_classify_con {
         width: calc(48vw - 14px);
@@ -1086,6 +1071,8 @@ export default {
 /deep/.van-tabs__nav--line.van-tabs__nav--complete {
     border-top-width: 0px !important;
     padding-bottom: 0px;
+    padding-right: 0px !important;
+    background: #0f1014 !important;
 }
 
 /deep/.van-tab {
@@ -1095,10 +1082,10 @@ export default {
     flex-shrink: 0;
     // min-width: 74px;
     font-size: 16px;
-    flex-grow: 1 !important;
+    // flex-grow: 1 !important;
     margin-right: 0 !important;
 
-    // margin-right: 30px !important;
+    margin-right: 26px !important;
     &.van-tab--active {
         color: @prim;
     }