Переглянути джерело

Merge branch 'dev' of http://git.izouma.com/xiongzhu/raex_front into dev

yuanyuan 3 роки тому
батько
коміт
0d53f1d31b

BIN
src/assets/png-zhuzao-bg.png


BIN
src/assets/rice-door.png


+ 111 - 0
src/components/RiceDoor.vue

@@ -0,0 +1,111 @@
+<template>
+    <div
+        class="rice-door"
+        :style="{ right: right, bottom: bottom }"
+        @touchstart.prevent="onTouchStart"
+        @touchmove.prevent="onTouchMove"
+        @touchend.prevent="onTouchend"
+        @click.prevent="$router.push('/rice')"
+        v-if="showRice"
+    >
+        <img src="@assets/rice-door.png" @click.stop="$router.push('/rice')" alt="" />
+    </div>
+</template>
+
+<script setup>
+import { ref, computed, inject, getCurrentInstance, onMounted } from 'vue';
+import { useRouter } from 'vue-router';
+
+const {
+    appContext: {
+        config: { globalProperties: global }
+    }
+} = getCurrentInstance();
+
+const pageScrollYoffset = ref(0);
+
+const inIos = /iPhone|iPad|iPod/i.test(navigator.userAgent);
+const time = ref(0);
+function onTouchStart(e) {
+    global.emitter.emit('startRefreash', false);
+    if (inIos) {
+        document.getElementById('scroll-wrapper').className =
+            document.getElementById('scroll-wrapper').className + ' van-overflow-hidden';
+    }
+    time.value = new Date().getTime();
+}
+
+const router = new useRouter();
+function onTouchend(e) {
+    let _time = new Date().getTime() - time.value;
+    console.log(_time);
+    if (_time <= 100) {
+        router.push('/rice');
+    }
+    global.emitter.emit('startRefreash', true);
+    if (inIos) {
+        document.getElementById('scroll-wrapper').className = document
+            .getElementById('scroll-wrapper')
+            .className.replace(/ van-overflow-hidden/, '');
+    }
+}
+
+const show = ref(true);
+const pageX = ref(0);
+const pageY = ref(0);
+const safeBootom = inject('safeBottom');
+const right = computed(() => {
+    if (pageX.value) {
+        if (window.innerWidth - pageX.value < 38) {
+            return '38px';
+        }
+        if (pageX.value < 38) {
+            return window.innerWidth - pageX.value - 38;
+        }
+        return window.innerWidth - pageX.value + 'px';
+    } else {
+        return '38px';
+    }
+});
+const bottom = computed(() => {
+    let _safeBootom = Number(safeBootom.value.replace(/px/, '') || 0);
+    if (pageY.value) {
+        if (pageY.value < 50) {
+            return window.innerHeight - 40;
+        }
+        if (window.innerHeight - pageY.value < _safeBootom + 90) {
+            return _safeBootom + 90 + 'px';
+        }
+        return window.innerHeight - pageY.value + 'px';
+    } else {
+        return _safeBootom + 190 + 'px';
+    }
+});
+function onTouchMove(e) {
+    pageX.value = e.touches[0].pageX;
+    pageY.value = e.touches[0].pageY;
+}
+
+const showRice = ref(false);
+onMounted(() => {
+    global.$http.get('/sysConfig/get/rice_show').then(res => {
+        showRice.value = res.value == true || res.value === '1';
+    });
+});
+</script>
+
+<style lang="less" scoped>
+.rice-door {
+    position: fixed;
+    right: 38px;
+    bottom: calc(env(safe-area-inset-bottom) + 190px);
+    width: 70px;
+    height: 80px;
+    transform: translate(50%, 50%);
+    img {
+        width: 70px;
+        height: 80px;
+    }
+    z-index: 30;
+}
+</style>

+ 6 - 4
src/components/rice/Task.vue

@@ -21,9 +21,9 @@
                     <div class="box-item">
                         <img src="@assets/icon_yaoqing.png" alt="" />
                         <div class="box-info">
-                            <div class="text1">好友助力({{ taskInfo.isInvited ? 1 : 0 }}/1)</div>
+                            <div class="text1">好友助力({{ inviteCount > 2 ? 2 : inviteCount }}/2)</div>
 
-                            <div class="text2">邀请好友助力可获得1点能量,每天可邀请助力上限1点能量</div>
+                            <div class="text2">邀请好友助力可获得1点能量,每天可邀请助力上限2点能量</div>
                         </div>
                         <van-button class="not" v-if="taskInfo.isInvited" type="primary" round>已完成</van-button>
                         <van-button v-else type="primary" round @click="share">邀请</van-button>
@@ -31,9 +31,9 @@
                     <div class="box-item">
                         <img src="@assets/icon_zhuli.png" alt="" />
                         <div class="box-info">
-                            <div class="text1">乐善好施({{ helpCount > 2 ? 2 : helpCount }}/2)</div>
+                            <div class="text1">乐善好施({{ helpCount > 3 ? 3 : helpCount }}/3)</div>
 
-                            <div class="text2">帮助2名好友助力可获得1点能量,每天上限可获得1点能量</div>
+                            <div class="text2">帮助1名好友助力可获得1点能量,每天上限3点能量</div>
                         </div>
                         <van-button class="not" v-if="helpCount >= 2" type="primary" round>已完成</van-button>
                         <van-button v-else type="primary" round @click="show = false">去助力</van-button>
@@ -114,12 +114,14 @@ function sign() {
 const taskInfo = ref({});
 const helpCount = ref(0);
 const selfScore = ref(0);
+const inviteCount = ref(0);
 function getTask() {
     http.http.get('/rice/taskInitialization').then(res => {
         taskInfo.value = res.map;
     });
     http.http.get('/rice/current').then(res => {
         // this.info = res.data;
+        inviteCount.value = Number(res.data.inviteCount || 0);
         helpCount.value = Number(res.data.helpCount);
         selfScore.value = Number(res.data.selfScore);
     });

+ 11 - 0
src/router/index.js

@@ -704,6 +704,17 @@ const routes = [
             // tabColor: '#181818'
         }
     },
+    {
+        path: '/activityList1',
+        name: 'activityList1',
+        component: () => import('../views/activity/List.vue'),
+        meta: {
+            pageType: Page.Every,
+            menuPage: true
+            // title: '铸造中心',
+            // tabColor: '#181818'
+        }
+    },
     {
         path: '/activityDetail',
         name: 'activityDetail',

+ 2 - 2
src/views/Discover.vue

@@ -18,8 +18,8 @@
                 <div class="top">
                     <img src="@assets/nav_logo.png" class="logo" alt="" />
 
-                    <!-- <div class="search" @click="$router.push('/searchAll')"> -->
-                    <div class="search" @click="$router.push('/productSearch')">
+                    <div class="search" @click="$router.push('/searchAll')">
+                    <!-- <div class="search" @click="$router.push('/productSearch')"> -->
                         <img src="@assets/icon-sosuo.png" alt="" />
                         <span> 搜索你要的精彩 </span>
                     </div>

+ 2 - 2
src/views/DomainName.vue

@@ -37,14 +37,14 @@
                             />
                             <div>排行</div>
                         </div>
-                        <!-- <div class="meta_domain_name_top_one_con_tip" @click="$router.push('/statistics')">
+                        <div class="meta_domain_name_top_one_con_tip" @click="$router.push('/statistics')">
                             <img
                                 :src="require('@assets/icon_liutong.png')"
                                 alt=""
                                 class="meta_domain_name_top_img_right"
                             />
                             <div>流通</div>
-                        </div> -->
+                        </div>
                     </div>
                 </div>
                 <div class="meta_domain_name_top_ones" v-if="action != 1">

+ 18 - 8
src/views/Home.vue

@@ -7,6 +7,7 @@
         :head-height="80"
         @refresh="onRefresh"
         pageType="light"
+        :disabled="!canRefreash"
     >
         <div class="filter-bg" :style="{ backgroundImage: `url(${bgImg})` }"></div>
         <div class="welcom">
@@ -14,23 +15,23 @@
                 <div class="text1">WELCOME</div>
                 <div class="text2" :class="{ text3: isLogin }">{{ isLogin ? `${userInfo.nickname}!` : '探索者!' }}</div>
             </div>
-            <van-image
+            <!-- <van-image
                 width="38"
                 height="38"
                 :radius="32"
                 :class="{ activeAvatar: isLogin && userInfo.useCollectionPic }"
                 :src="isLogin ? userInfo.avatar : require('@assets/img_default_photo.png')"
             >
-            </van-image>
+            </van-image> -->
 
-            <!-- <img
+            <img
                 src="@/assets/icon_sosuo_dark.png"
                 @click="$router.push('/searchAll')"
                 v-if="darkTheme"
                 alt=""
                 class="search-all"
             />
-            <img src="@/assets/icon_sosuo.png" @click="$router.push('/searchAll')" v-else alt="" class="search-all" /> -->
+            <img src="@/assets/icon_sosuo.png" @click="$router.push('/searchAll')" v-else alt="" class="search-all" />
         </div>
 
         <div class="card swiper-card">
@@ -272,6 +273,9 @@
                 </a>
             </div>
         </div>
+
+        <rice-door></rice-door>
+
         <img src="../assets/png-zhiding.png" @click="goTop" class="goTop" v-if="bodyScroll > 200" alt="" />
     </van-pull-refresh>
     <van-dialog v-model:show="riskShow" theme="round-button" className="risk">
@@ -316,6 +320,7 @@ import ActivityRecord from '../components/product/ActivityRecord.vue';
 import HotCollect from '../components/product/HotCollect.vue';
 import dayjs from 'dayjs';
 import { number } from 'mathjs';
+import RiceDoor from '@/components/RiceDoor.vue';
 
 export default {
     name: 'home',
@@ -328,7 +333,8 @@ export default {
         ProductSmall,
         NewsRecord,
         HotCollect,
-        ActivityRecord
+        ActivityRecord,
+        RiceDoor
     },
     computed: {
         ...mapState(['userInfo', 'darkTheme']),
@@ -380,7 +386,8 @@ export default {
             announcementBlack: require('@assets/icon-gonggaohei@3x.png'),
             acitivities: [],
             fuActivity: false,
-            domainSwitch: false
+            domainSwitch: false,
+            canRefreash: true
         };
     },
     mounted() {
@@ -415,6 +422,10 @@ export default {
             });
             this.domainList = res;
         });
+        this.emitter.on('startRefreash', start => {
+            console.log(start);
+            this.canRefreash = start;
+        });
     },
     methods: {
         download() {
@@ -1237,8 +1248,7 @@ export default {
 .goTop {
     position: fixed;
     right: 16px;
-    bottom: 100px;
-    bottom: calc(env(safe-area-inset-bottom) + 100px);
+    bottom: calc(env(safe-area-inset-bottom) + 90px);
     width: 40px;
     height: 40px;
     display: block;

+ 211 - 32
src/views/activity/List.vue

@@ -1,68 +1,247 @@
 <template>
-    <div class="search">
-        <van-list v-model:loading="loading" :finished="finished" finished-text="" @load="getData">
-            <template v-for="(item, index) in list" :key="index">
-                <router-link
-                    :to="{
-                        path: '/activityDetail',
-                        query: {
-                            id: item.id
-                        }
-                    }"
-                    class="activity"
-                >
-                    <div class="text1">{{ item.name }}</div>
-                    <van-image
-                        width="calc(100vw - 32px)"
-                        height=" calc(40vw - 12.8px)"
-                        radius="4"
-                        :src="getImg(item.cover)"
-                        fit="cover"
-                    />
-                </router-link>
-            </template>
+    <div class="page" :style="{ backgroundImage: `url(${require('@assets/png-zhuzao-bg.png')})` }">
+        <div class="page_top">
+            <div class="page_top_return" @click="$router.go(-1)">
+                <img src="@assets/easy_shoot_top_return@3x.png" alt="" class="page_top_return_img" />
+            </div>
+            <div class="page-title">
+                <div class="text1">铸造中心</div>
+                <div class="text2">虚实结合,探索未知,让你的数字藏品更有价值</div>
+            </div>
+        </div>
+        <van-tabs v-model="active">
+            <van-tab title="标签1">内容 1</van-tab>
+            <van-tab title="标签2">内容 2</van-tab>
+            <van-tab title="标签3">内容 3</van-tab>
+            <van-tab title="标签4">内容 4</van-tab>
+        </van-tabs>
+        <van-pull-refresh
+            success-text="加载成功"
+            success-duration="500"
+            class="search"
+            v-model="isLoading"
+            :head-height="80"
+            @refresh="onRefresh"
+        >
+            <!-- <div class="filter-bg" :style="{ backgroundImage: `url(${filterBg})` }"></div> -->
+            <!-- <div class="header">铸造中心</div> -->
+            <van-list v-model:loading="loading" :finished="finished" finished-text="" @load="getData">
+                <template v-for="(item, index) in list" :key="index">
+                    <router-link
+                        :to="{
+                            path: '/activityDetail',
+                            query: {
+                                id: item.id
+                            }
+                        }"
+                        class="activity"
+                    >
+                        <van-image
+                            width="calc(100vw - 32px)"
+                            height=" calc(40vw - 12.8px)"
+                            radius="4"
+                            :src="getImg(item.cover)"
+                            fit="cover"
+                        />
+                        <div class="content">
+                            <div class="text1">{{ item.name }}</div>
+                            <div class="btn">
+                                <span>立即兑换</span>
+                                <img src="../../assets/icon-jiantou.png" alt="" />
+                            </div>
+                        </div>
+                        <img src="../../assets/png-diwen1.png" alt="" class="img1" />
+                    </router-link>
+                </template>
 
-            <van-empty v-if="empty" description="暂无活动哦~" :image="require('@assets/kong_png_wusousuo.png')" />
-        </van-list>
+                <van-empty v-if="empty" description="暂无活动哦~" :image="require('@assets/kong_png_wusousuo.png')" />
+            </van-list>
+        </van-pull-refresh>
     </div>
 </template>
 
 <script>
 import list from '../../mixins/list';
+import { Swiper, SwiperSlide } from 'swiper/vue';
+
+import 'swiper/swiper.min.css';
+import 'swiper/swiper-bundle.min.css';
+
+import SwiperCore, { Pagination, Autoplay } from 'swiper';
+
+// install Swiper modules
+SwiperCore.use([Pagination, Autoplay]);
+import banner from '../../mixins/banner';
 export default {
-    name: 'Search',
-    mixins: [list],
+    name: 'activityList',
+    mixins: [list, banner],
+    inject: ['setKeeps', 'scrollWrapper', 'changeScroll'],
     data() {
         return {
             list: [],
             empty: false,
-            url: '/activity/all'
+            url: '/mintActivity/all',
+            banners: [],
+            scrollTop: 0,
+            active: 0
         };
     },
+    computed: {
+        filterBg() {
+            if (this.list.length > 0) {
+                return this.list[0].cover;
+            } else {
+                return '';
+            }
+        }
+    },
     methods: {
         beforeData() {
             return {
                 query: {
-                    del: false
+                    del: false,
+                    companyId: 1
                 }
             };
+        },
+        onRefresh() {
+            this.getData(true).then(() => {
+                this.isLoading = false;
+            });
+        }
+    },
+    activated() {
+        this.$nextTick(() => {
+            this.changeScroll(this.scrollTop);
+        });
+        if (window.cordova && StatusBar && StatusBar.isVisible) {
+            StatusBar.styleLightContent();
         }
+    },
+    beforeRouteLeave(to, from, next) {
+        if (to.path === '/activityDetail') {
+            this.scrollTop = this.scrollWrapper.scrollTop;
+            this.setKeeps(['activityList']);
+        } else {
+            this.scrollTop = 0;
+            this.setKeeps(['activityList'], false);
+        }
+        next();
     }
 };
 </script>
 
 <style lang="less" scoped>
+.page {
+    background-color: #0f1014;
+    padding-top: var(--safe-top);
+    background-repeat: no-repeat;
+    background-position: top center;
+    background-size: contain;
+}
+.page_top {
+    position: relative;
+    min-height: calc(var(--safe-top) + 139px);
+    .page_top_return {
+        position: fixed;
+        z-index: 1;
+        top: calc(var(--safe-top) + 16px);
+        left: 16px;
+        width: 34px;
+        height: 34px;
+        border-radius: 50%;
+        background: rgba(0, 0, 0, 0.2);
+        backdrop-filter: blur(1px);
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        z-index: 20;
+        .page_top_return_img {
+            width: 18px;
+            height: 18px;
+        }
+    }
+}
 .search {
     padding-bottom: 50px;
+    margin-top: 4px;
+    z-index: 1;
+    position: relative;
+    .filter-bg {
+        background-position: top;
+        background-size: cover;
+        background-repeat: no-repeat;
+        top: 50px;
+    }
 }
 .activity {
-    padding: 16px;
+    margin: 16px;
     display: block;
+    background-color: #1c1e25;
+    border-radius: 12px;
+    overflow: hidden;
+    position: relative;
+    .van-image {
+        z-index: 2;
+    }
+}
+.img1 {
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    width: 92px;
+    height: auto;
+    z-index: 1;
+}
+.content {
+    padding: 5px 16px;
+    position: relative;
+    .text1 {
+        color: #fff;
+    }
+    .text2 {
+        color: @text3;
+    }
+
+    .btn {
+        color: @prim;
+        position: absolute;
+        right: 14px;
+        bottom: 5px;
+        .flex();
+        img {
+            width: 18px;
+            height: 18px;
+        }
+    }
+}
+
+.header {
+    font-size: 16px;
+    font-weight: bold;
+    color: #ffffff;
+    line-height: 24px;
+    padding: 13px 0;
+    text-align: center;
+    position: relative;
+    background-color: #181818;
+}
+
+.page-title {
+    position: absolute;
+    top: calc(var(--safe-top) + 60px);
+    left: 20px;
     .text1 {
-        font-size: 16px;
-        color: @text0;
+        font-size: 24px;
+        font-family: AlimamaShuHeiTi;
+        color: #ffffff;
+        line-height: 34px;
+    }
+
+    .text2 {
+        font-size: 12px;
+        color: #ffffff;
         line-height: 24px;
-        margin-bottom: 12px;
     }
 }
 </style>

+ 4 - 4
src/views/asset/Detail.vue

@@ -499,15 +499,15 @@
 
                 <div class="more-btns-content" v-else>
                     <!-- <van-button v-if="!isOlder" @click="publish" color="#FF7F1F" block round> 竞价拍卖 </van-button> -->
-                    <van-button v-if="!isOlder && !$store.state.review" @click="Consignment" type="primary" block round>
+                    <!-- <van-button v-if="!isOlder && !$store.state.review" @click="Consignment" type="primary" block round>
                         {{ info.consignment ? '取消一口价' : '一口价拍卖' }}
                     </van-button>
                     <van-button @click="Add" color="#FFBF27" block round> 赠送 </van-button>
                     <van-button @click="showLock = true" v-if="info.category !== '元域名'" color="#515976" block round>
                         封存
                     </van-button>
-                    <van-button @click="starCreate" v-if="canStar" color="#5D7DFF" block round> 铸造星图 </van-button>
-                    <!-- <div class="btn-img-list">
+                    <van-button @click="starCreate" v-if="canStar" color="#5D7DFF" block round> 铸造星图 </van-button> -->
+                    <div class="btn-img-list">
                         <div class="btn-img" v-if="info.category === '元域名'" @click="superLink">
                             <img src="@/assets/icon_qiyongchaolian.png" alt="" />
                             <div>{{ info.openHyperLink ? '关闭超链' : '启用超链' }}</div>
@@ -528,7 +528,7 @@
                             <img src="@/assets/icon_fengcun.png" alt="" />
                             <div>封存</div>
                         </div>
-                    </div> -->
+                    </div>
                 </div>
             </van-action-sheet>
         </div>

+ 60 - 47
src/views/search/SearchDetail.vue

@@ -78,6 +78,9 @@
         />
         <van-list
             class="list"
+            :class="{
+                paddingList: pageType === 'news' || pageType === 'mintActivities' || pageType === 'users'
+            }"
             v-model:loading="loading"
             :immediate-check="false"
             :finished="finished"
@@ -89,7 +92,11 @@
                 <component :is="com" dark v-model:info="list[index]" @update:info="init" list></component>
                 <!-- <product-info dark v-model:info="list[index]" @update:info="init"></product-info> -->
             </template>
-            <van-empty v-if="empty" description="什么都没有搜到哦~" :image="require('@assets/kong_png_wusousuo.png')" />
+            <van-empty
+                v-if="empty"
+                description="什么都没有搜到哦~"
+                :image="require('@assets/empty_img_asset_dark.png')"
+            />
         </van-list>
     </div>
 </template>
@@ -135,7 +142,6 @@ export default {
             type: '',
             source: '',
             minterId: '',
-
             scrollTop: 0,
             sort: 'id,desc',
             sortDes: '',
@@ -163,7 +169,8 @@ export default {
             showAction: false,
             showHall: false,
             settings: [],
-            banners: []
+            banners: [],
+            pageType: ''
         };
     },
     watch: {
@@ -255,49 +262,49 @@ export default {
             this.getSearch(this.search);
         }
 
-        this.$http
-            .get('/sysConfig/get/hall_show')
-            .then(res => {
-                if (res.value === true || res.value === '1') {
-                    this.showHall = true;
-                } else {
-                    return Promise.reject();
-                }
-            })
-            .catch(() => {
-                this.showHall = false;
-            });
-
-        this.$http
-            .post('/setting/byFlag', { flag: 1 })
-            .then(res => {
-                this.settings = res;
-                this.$http
-                    .post(
-                        '/banner/all',
-                        {
-                            query: {
-                                type: 'MARKET',
-                                del: false
-                            },
-                            size: 999,
-                            sort: 'sort,asc;createdAt,desc'
-                        },
-                        { body: 'json' }
-                    )
-                    .then(res => {
-                        this.banners = res.content;
-                        this.$nextTick(() => {
-                            if (this.swiperRef) {
-                                this.swiperRef.update();
-                            }
-                        });
-                    });
-            })
-            .catch(e => {
-                console.log(e);
-                this.$message.error(e.error);
-            });
+        // this.$http
+        //     .get('/sysConfig/get/hall_show')
+        //     .then(res => {
+        //         if (res.value === true || res.value === '1') {
+        //             this.showHall = true;
+        //         } else {
+        //             return Promise.reject();
+        //         }
+        //     })
+        //     .catch(() => {
+        //         this.showHall = false;
+        //     });
+
+        // this.$http
+        //     .post('/setting/byFlag', { flag: 1 })
+        //     .then(res => {
+        //         this.settings = res;
+        //         this.$http
+        //             .post(
+        //                 '/banner/all',
+        //                 {
+        //                     query: {
+        //                         type: 'MARKET',
+        //                         del: false
+        //                     },
+        //                     size: 999,
+        //                     sort: 'sort,asc;createdAt,desc'
+        //                 },
+        //                 { body: 'json' }
+        //             )
+        //             .then(res => {
+        //                 this.banners = res.content;
+        //                 this.$nextTick(() => {
+        //                     if (this.swiperRef) {
+        //                         this.swiperRef.update();
+        //                     }
+        //                 });
+        //             });
+        //     })
+        //     .catch(e => {
+        //         console.log(e);
+        //         this.$message.error(e.error);
+        //     });
 
         this.emitter.on('updateList', info => {
             let list = [...this.list];
@@ -803,6 +810,12 @@ export default {
     .showInfo + .showInfo {
         margin-top: 16px;
     }
-}
 
+    &.paddingList {
+        margin: 8px 16px 0;
+        padding: 0;
+        border-radius: 8px;
+        overflow: hidden;
+    }
+}
 </style>

+ 35 - 10
src/views/search/SearchResult.vue

@@ -39,7 +39,13 @@
                                 list
                             ></component>
                         </template>
-                        <div class="more" @click="goDetail()">查看更多</div>
+                        <div
+                            class="more"
+                            v-if="item.listKey && searchInfo[item.listKey].length > 0 && !searchInfo[item.allKey]"
+                            @click="goDetail(item)"
+                        >
+                            查看更多
+                        </div>
                     </div>
                 </van-tab>
             </van-tabs>
@@ -68,42 +74,50 @@ export default {
                 {
                     label: '数字商品',
                     com: 'ProductInfo',
-                    listKey: 'collections'
+                    listKey: 'collections',
+                    allKey: 'collectionsAll'
                 },
                 {
                     label: '元域名',
                     com: 'ProductInfo',
-                    listKey: 'domains'
+                    listKey: 'domains',
+                    allKey: 'domainsAll'
                 },
                 {
                     label: '个人作品',
                     com: 'ProductInfo',
-                    listKey: 'pictures'
+                    listKey: 'pictures',
+                    allKey: 'picturesAll'
                 },
                 {
                     label: '新闻头条',
                     com: 'NewsRecord',
-                    listKey: 'news'
+                    listKey: 'news',
+                    allKey: 'newsAll'
                 },
                 {
                     label: '铸造中心',
                     com: 'ActivityRecord',
-                    listKey: 'mintActivities'
+                    listKey: 'mintActivities',
+                    allKey: 'mintActivitiesAll'
                 },
                 {
                     label: '艺术机构',
                     com: 'CreatorSmall',
-                    listKey: 'minters'
+                    listKey: 'minters',
+                    allKey: 'mintersAll'
                 },
                 {
                     label: '个人用户',
                     com: 'CreatorInfo',
-                    listKey: 'users'
+                    listKey: 'users',
+                    allKey: 'usersAll'
                 },
                 {
                     label: '数字展览',
                     com: 'ShowInfo',
-                    listKey: 'showrooms'
+                    listKey: 'showrooms',
+                    allKey: 'showroomAll'
                 }
             ],
             searchInfo: {
@@ -164,6 +178,16 @@ export default {
                         this.$forceUpdate();
                     });
                 });
+        },
+        goDetail(info) {
+            console.log(info);
+            this.$router.push({
+                path: '/searchDetail',
+                query: {
+                    search: this.search,
+                    pageType: info.listKey
+                }
+            });
         }
     },
     activated() {
@@ -181,7 +205,8 @@ export default {
             to.path === '/newsDetail' ||
             to.path === '/activityDetail' ||
             to.path === '/creatorDetail' ||
-            to.path === '/hall'
+            to.path === '/hall' ||
+            to.path === '/searchDetail'
         ) {
             this.beforeSort = this.sort;
             this.scrollTop = this.scrollWrapper.scrollTop;