panhui 4 лет назад
Родитель
Сommit
5aa3dedd22

+ 2 - 0
src/main/nine-space/src/mixins/banner.js

@@ -5,6 +5,8 @@ export default {
                 this.$router.push(`/productDetail?id=${info.linkContent}`);
             } else if (info.link && info.linkType === 'user') {
                 this.$router.push(`/creatorDetail?id=${info.linkContent}`);
+            } else if (info.link && info.linkType === 'activity') {
+                this.$router.push(`/activityDetail?id=${info.linkContent}`);
             }
         }
     }

+ 16 - 0
src/main/nine-space/src/router/index.js

@@ -363,6 +363,22 @@ const routes = [
             title: '第九空间'
         }
     },
+    {
+        path: '/activityList',
+        name: 'activityList',
+        component: () => import('../views/activity/List.vue'),
+        meta: {
+            title: '第九空间'
+        }
+    },
+    {
+        path: '/activityDetail',
+        name: 'activityDetail',
+        component: () => import('../views/activity/Detail.vue'),
+        meta: {
+            title: '第九空间'
+        }
+    },
     {
         path: '/mineFollows',
         name: 'mineFollows',

+ 1 - 1
src/main/nine-space/src/views/Discover.vue

@@ -38,7 +38,7 @@
                     <img class="grid-img" src="@assets/info_icon_paimaixilie.png" />
                 </template>
             </van-grid-item>
-            <van-grid-item text="系列活动" @click="wait">
+            <van-grid-item text="系列活动" :to="{ path: '/activityList' }">
                 <template v-slot:icon>
                     <img class="grid-img" src="@assets/info_icon_xiliehuodong.png" />
                 </template>

+ 35 - 3
src/main/nine-space/src/views/activity/Detail.vue

@@ -1,9 +1,41 @@
 <template>
-    <div></div>
+    <div class="activity">
+        <div class="name">{{ info.name }}</div>
+        <van-image :src="info.detail" />
+    </div>
 </template>
 
 <script>
-export default {};
+export default {
+    data() {
+        return {
+            info: {}
+        };
+    },
+    mounted() {
+        this.$http.get('/activity/get/' + this.$route.query.id).then(res => {
+            this.info = res;
+        });
+    }
+};
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.activity {
+    padding: 16px 16px 50px;
+    .van-image {
+        img {
+            display: block;
+            width: 100%;
+            height: auto;
+        }
+    }
+}
+
+.name {
+    font-size: 14px;
+    color: #ffffff;
+    line-height: 24px;
+    margin-bottom: 4px;
+}
+</style>

+ 15 - 8
src/main/nine-space/src/views/activity/List.vue

@@ -2,16 +2,24 @@
     <div class="search">
         <van-list v-model:loading="loading" :finished="finished" finished-text="" @load="getData">
             <template v-for="(item, index) in list" :key="index">
-                <div class="activity">
-                    <div class="text1">{{ item.description }}</div>
+                <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(changeImgs(item.pic))"
+                        :src="getImg(item.cover)"
                         fit="cover"
                     />
-                </div>
+                </router-link>
             </template>
 
             <van-empty v-if="empty" description="暂无活动哦~" :image="require('@assets/kong_png_wusousuo.png')" />
@@ -21,16 +29,14 @@
 
 <script>
 import list from '../../mixins/list';
-import product from '../../mixins/product';
 export default {
     name: 'Search',
-    mixins: [list, product],
+    mixins: [list],
     data() {
         return {
             list: [],
             empty: false,
-            url: '/asset/userHistory',
-            httpType: 'get'
+            url: '/activity/all'
         };
     }
 };
@@ -42,6 +48,7 @@ export default {
 }
 .activity {
     padding: 16px;
+    display: block;
     .text1 {
         font-size: 16px;
         color: #ffffff;