xcx 4 年 前
コミット
cc1ed17d66
共有77 個のファイルを変更した424 個の追加93 個の削除を含む
  1. バイナリ
      image/1.png
  2. バイナリ
      image/2.png
  3. バイナリ
      image/3.png
  4. バイナリ
      image/fenxiang.png
  5. バイナリ
      image/huishenghuo.png
  6. バイナリ
      image/huodongxiangqing.png
  7. バイナリ
      image/huodongzhaopianqiang.png
  8. バイナリ
      image/iconhuiaixin-.png
  9. バイナリ
      image/iconhuiaixin.png
  10. バイナリ
      image/iconhuiquanyi-.png
  11. バイナリ
      image/iconhuiquanyi.png
  12. バイナリ
      image/iconhuishenghuo-.png
  13. バイナリ
      image/iconhuishenghuo.png
  14. バイナリ
      image/iconhuodong.png
  15. バイナリ
      image/iconwode-.png
  16. バイナリ
      image/iconwode.png
  17. バイナリ
      image/jingcaihuodong.png
  18. バイナリ
      image/lijibaoming.png
  19. バイナリ
      image/lijibaomingbtn.png
  20. バイナリ
      image/liyuanhui.png
  21. バイナリ
      image/mingxingyezhu.png
  22. バイナリ
      image/morentouxiang.png
  23. バイナリ
      image/nodata.png
  24. バイナリ
      image/signinbg.png
  25. バイナリ
      image/toupiao.png
  26. バイナリ
      image/wodebeijingtu.png
  27. バイナリ
      image/wodehuodong.png
  28. バイナリ
      image/wodeicon1.png
  29. バイナリ
      image/wodeicon2.png
  30. バイナリ
      image/yezhuzixun.png
  31. バイナリ
      image/yijianfankui.png
  32. 1
    1
      project.config.json
  33. 13
    5
      src/app.config.js
  34. 1
    0
      src/app.js
  35. 38
    2
      src/app.scss
  36. バイナリ
      src/assets/image/1.png
  37. バイナリ
      src/assets/image/2.png
  38. バイナリ
      src/assets/image/3.png
  39. バイナリ
      src/assets/image/fenxiang.png
  40. バイナリ
      src/assets/image/huishenghuo.png
  41. バイナリ
      src/assets/image/huodongxiangqing.png
  42. バイナリ
      src/assets/image/huodongzhaopianqiang.png
  43. バイナリ
      src/assets/image/iconhuiaixin-.png
  44. バイナリ
      src/assets/image/iconhuiaixin.png
  45. バイナリ
      src/assets/image/iconhuiquanyi-.png
  46. バイナリ
      src/assets/image/iconhuiquanyi.png
  47. バイナリ
      src/assets/image/iconhuishenghuo-.png
  48. バイナリ
      src/assets/image/iconhuishenghuo.png
  49. バイナリ
      src/assets/image/iconhuodong.png
  50. バイナリ
      src/assets/image/iconwode-.png
  51. バイナリ
      src/assets/image/iconwode.png
  52. バイナリ
      src/assets/image/jingcaihuodong.png
  53. バイナリ
      src/assets/image/lijibaoming.png
  54. バイナリ
      src/assets/image/liyuanhui.png
  55. バイナリ
      src/assets/image/mingxingyezhu.png
  56. バイナリ
      src/assets/image/mr@2x.png
  57. バイナリ
      src/assets/image/mybg@2x.png
  58. バイナリ
      src/assets/image/quexing@2x.png
  59. バイナリ
      src/assets/image/sqbg@2x.png
  60. バイナリ
      src/assets/image/time@2x.png
  61. バイナリ
      src/assets/image/toupiao.png
  62. バイナリ
      src/assets/image/wd@2x.png
  63. バイナリ
      src/assets/image/wodehuodong.png
  64. バイナリ
      src/assets/image/yezhuzixun.png
  65. バイナリ
      src/assets/image/yijianfankui.png
  66. バイナリ
      src/assets/image/yj@2x.png
  67. バイナリ
      src/assets/image/组 17112@2x.png
  68. 38
    0
      src/components/BannerSwiper/index.vue
  69. 0
    22
      src/components/NumberDisplay.vue
  70. 0
    31
      src/components/NumberSubmit.vue
  71. 32
    0
      src/components/ScrollY/index.vue
  72. 24
    0
      src/iconfont.scss
  73. 1
    0
      src/index.html
  74. 27
    5
      src/pages/HuiQuanYi/index.vue
  75. 18
    2
      src/pages/HuiQuanYi/page.scss
  76. 71
    23
      src/pages/HuiShengHuo/index.vue
  77. 160
    2
      src/pages/HuiShengHuo/page.scss

バイナリ
image/1.png ファイルの表示


バイナリ
image/2.png ファイルの表示


バイナリ
image/3.png ファイルの表示


バイナリ
image/fenxiang.png ファイルの表示


バイナリ
image/huishenghuo.png ファイルの表示


バイナリ
image/huodongxiangqing.png ファイルの表示


バイナリ
image/huodongzhaopianqiang.png ファイルの表示


バイナリ
image/iconhuiaixin-.png ファイルの表示


バイナリ
image/iconhuiaixin.png ファイルの表示


バイナリ
image/iconhuiquanyi-.png ファイルの表示


バイナリ
image/iconhuiquanyi.png ファイルの表示


バイナリ
image/iconhuishenghuo-.png ファイルの表示


バイナリ
image/iconhuishenghuo.png ファイルの表示


バイナリ
image/iconhuodong.png ファイルの表示


バイナリ
image/iconwode-.png ファイルの表示


バイナリ
image/iconwode.png ファイルの表示


バイナリ
image/jingcaihuodong.png ファイルの表示


バイナリ
image/lijibaoming.png ファイルの表示


バイナリ
image/lijibaomingbtn.png ファイルの表示


バイナリ
image/liyuanhui.png ファイルの表示


バイナリ
image/mingxingyezhu.png ファイルの表示


バイナリ
image/morentouxiang.png ファイルの表示


バイナリ
image/nodata.png ファイルの表示


バイナリ
image/signinbg.png ファイルの表示


バイナリ
image/toupiao.png ファイルの表示


バイナリ
image/wodebeijingtu.png ファイルの表示


バイナリ
image/wodehuodong.png ファイルの表示


バイナリ
image/wodeicon1.png ファイルの表示


バイナリ
image/wodeicon2.png ファイルの表示


バイナリ
image/yezhuzixun.png ファイルの表示


バイナリ
image/yijianfankui.png ファイルの表示


+ 1
- 1
project.config.json ファイルの表示

@@ -27,7 +27,7 @@
27 27
 			"outputPath": ""
28 28
 		},
29 29
 		"useIsolateContext": true,
30
-		"useCompilerModule": true,
30
+		"useCompilerModule": false,
31 31
 		"userConfirmedUseCompilerModuleSwitch": false
32 32
 	},
33 33
 	"compileType": "miniprogram",

+ 13
- 5
src/app.config.js ファイルの表示

@@ -23,25 +23,33 @@ export default {
23 23
     'pages/WoDe/index', // 我的
24 24
     'pages/WoDe/MyActivityList/index', // 我的-活动列表
25 25
     'pages/WoDe/Feedback/index', // 我的-反馈
26
-    
26
+
27 27
     'pages/SignIn/index' // 登录页
28
-    
28
+
29 29
   ],
30 30
   tabBar: {
31 31
     list: [
32 32
       {
33
+        iconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconhuishenghuo-.png',
34
+        selectedIconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconhuishenghuo.png',
33 35
         pagePath: 'pages/HuiShengHuo/index',
34
-        text: '荟生活'
36
+        text: '荟 · 生活'
35 37
       },
36 38
       {
39
+        iconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconhuiquanyi-.png',
40
+        selectedIconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconhuiquanyi.png',
37 41
         pagePath: 'pages/HuiQuanYi/index',
38
-        text: '荟权益'
42
+        text: '荟 · 权益'
39 43
       },
40 44
       {
45
+        iconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconhuiaixin-.png',
46
+        selectedIconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconhuiaixin.png',
41 47
         pagePath: 'pages/HuiAiXin/index',
42
-        text: '荟爱心'
48
+        text: '荟 · 爱心'
43 49
       },
44 50
       {
51
+        iconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconwode-.png',
52
+        selectedIconPath: 'https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/iconwode.png',
45 53
         pagePath: 'pages/WoDe/index',
46 54
         text: '我的'
47 55
       }

+ 1
- 0
src/app.js ファイルの表示

@@ -2,6 +2,7 @@ import Vue from 'vue'
2 2
 import store from './store/index'
3 3
 
4 4
 import './app.scss'
5
+import './iconfont.scss'
5 6
 
6 7
 // Vue.config.productionTip = false
7 8
 

+ 38
- 2
src/app.scss ファイルの表示

@@ -1,5 +1,41 @@
1 1
 page {
2 2
   width: 100%;
3 3
   height: 100%;
4
-  overflow-y: scroll;
5
-}
4
+  background: #eee;
5
+
6
+  .centerLabel {
7
+    display: block;
8
+    position: absolute;
9
+    left: 50%;
10
+    top: 50%;
11
+    transform: translate(-50%, -50%);
12
+    -webkit-transform: translate(-50%, -50%);
13
+  }
14
+
15
+  .flex-h {
16
+    display: flex;
17
+    display: -webkit-flex;
18
+  }
19
+
20
+  .flex-v {
21
+    display: flex;
22
+    display: -webkit-flex;
23
+    flex-direction: column;
24
+    -webkit-flex-direction: column;
25
+  }
26
+
27
+  .flex-item {
28
+    flex: 1;
29
+    -webkit-flex: 1;
30
+    position: relative;
31
+    overflow: hidden;
32
+  }
33
+
34
+  .text-overflow-line2 {
35
+    overflow: hidden;
36
+    text-overflow: ellipsis;
37
+    display: -webkit-box;
38
+    -webkit-box-orient: vertical;
39
+    -webkit-line-clamp: 2;
40
+  }
41
+}

バイナリ
src/assets/image/1.png ファイルの表示


バイナリ
src/assets/image/2.png ファイルの表示


バイナリ
src/assets/image/3.png ファイルの表示


バイナリ
src/assets/image/fenxiang.png ファイルの表示


バイナリ
src/assets/image/huishenghuo.png ファイルの表示


バイナリ
src/assets/image/huodongxiangqing.png ファイルの表示


バイナリ
src/assets/image/huodongzhaopianqiang.png ファイルの表示


バイナリ
src/assets/image/iconhuiaixin-.png ファイルの表示


バイナリ
src/assets/image/iconhuiaixin.png ファイルの表示


バイナリ
src/assets/image/iconhuiquanyi-.png ファイルの表示


バイナリ
src/assets/image/iconhuiquanyi.png ファイルの表示


バイナリ
src/assets/image/iconhuishenghuo-.png ファイルの表示


バイナリ
src/assets/image/iconhuishenghuo.png ファイルの表示


バイナリ
src/assets/image/iconhuodong.png ファイルの表示


バイナリ
src/assets/image/iconwode-.png ファイルの表示


バイナリ
src/assets/image/iconwode.png ファイルの表示


バイナリ
src/assets/image/jingcaihuodong.png ファイルの表示


バイナリ
src/assets/image/lijibaoming.png ファイルの表示


バイナリ
src/assets/image/liyuanhui.png ファイルの表示


バイナリ
src/assets/image/mingxingyezhu.png ファイルの表示


バイナリ
src/assets/image/mr@2x.png ファイルの表示


バイナリ
src/assets/image/mybg@2x.png ファイルの表示


バイナリ
src/assets/image/quexing@2x.png ファイルの表示


バイナリ
src/assets/image/sqbg@2x.png ファイルの表示


バイナリ
src/assets/image/time@2x.png ファイルの表示


バイナリ
src/assets/image/toupiao.png ファイルの表示


バイナリ
src/assets/image/wd@2x.png ファイルの表示


バイナリ
src/assets/image/wodehuodong.png ファイルの表示


バイナリ
src/assets/image/yezhuzixun.png ファイルの表示


バイナリ
src/assets/image/yijianfankui.png ファイルの表示


バイナリ
src/assets/image/yj@2x.png ファイルの表示


バイナリ
src/assets/image/组 17112@2x.png ファイルの表示


+ 38
- 0
src/components/BannerSwiper/index.vue ファイルの表示

@@ -0,0 +1,38 @@
1
+<template>
2
+  <view class="BannerSwiper">
3
+    <swiper style="width: 100%; height: 100%;" indicator-color="rgba(255,255,255,0.3)" indicator-active-color="rgba(255,255,255,1)" :indicator-dots="true" :autoplay="true" :interval="2000" :duration="300">
4
+      <block v-for="(item, index) in List" :key="index">
5
+        <swiper-item>
6
+          <view class="swiper-item">{{item}}</view>
7
+        </swiper-item>
8
+      </block>
9
+    </swiper>
10
+  </view>
11
+</template>
12
+
13
+<script>
14
+export default {
15
+  name: 'BannerSwiper',
16
+  props: {
17
+    List: {
18
+      default: () => {
19
+        return ['1', '2', '3', '4', '5']
20
+      },
21
+      type: Array
22
+    }
23
+  },
24
+  data () {
25
+    return {
26
+    }
27
+  },
28
+  methods: {
29
+  }
30
+}
31
+</script>
32
+
33
+<style>
34
+.BannerSwiper {
35
+  width: 100%;
36
+  height: 100%;
37
+}
38
+</style>

+ 0
- 22
src/components/NumberDisplay.vue ファイルの表示

@@ -1,22 +0,0 @@
1
-<template>
2
-  <view>
3
-    <text class="title">{{ getNumbers }}</text>
4
-  </view>
5
-</template>
6
-
7
-<script>
8
-export default {
9
-  name: 'NumberDisplay',
10
-  computed: {
11
-    getNumbers() {
12
-      return this.$store.getters.getNumbers;
13
-    }
14
-  }
15
-}
16
-</script>
17
-
18
-<style>
19
-.title {
20
-  font-size: 40px;
21
-}
22
-</style>

+ 0
- 31
src/components/NumberSubmit.vue ファイルの表示

@@ -1,31 +0,0 @@
1
-<template>
2
-  <view>
3
-    <input v-model="number" type="number" class="input" />
4
-    <button @tap="addNumber">
5
-      Add new number
6
-    </button>
7
-  </view>
8
-</template>
9
-
10
-<script>
11
-export default {
12
-  name: 'NumberSubmit',
13
-  data() {
14
-    return {
15
-      number: 0
16
-    }
17
-  },
18
-  methods: {
19
-    addNumber() {
20
-      this.$store.dispatch('addNumber', Number(this.number))
21
-    }
22
-  }
23
-}
24
-</script>
25
-
26
-<style>
27
-.input {
28
-  border: 1px solid lightgray;
29
-  margin: 10px;
30
-}
31
-</style>

+ 32
- 0
src/components/ScrollY/index.vue ファイルの表示

@@ -0,0 +1,32 @@
1
+<template>
2
+  <view class="ScrollY">
3
+    <scroll-view style="width: 100%; height: 100%;" :scroll-y="true" :refresher-enabled="true" :refresher-threshold="120" refresher-background="#f8f8f8" :refresher-triggered="IsRefreshing" @refresherpulling="$emit('Refresh')">
4
+      <slot></slot>
5
+    </scroll-view>
6
+  </view>
7
+</template>
8
+
9
+<script>
10
+export default {
11
+  name: 'ScrollY',
12
+  props: {
13
+    IsRefreshing: {
14
+      default: false,
15
+      type: Boolean
16
+    }
17
+  },
18
+  data () {
19
+    return {
20
+    }
21
+  },
22
+  methods: {
23
+  }
24
+}
25
+</script>
26
+
27
+<style>
28
+.ScrollY {
29
+  width: 100%;
30
+  height: 100%;
31
+}
32
+</style>

+ 24
- 0
src/iconfont.scss ファイルの表示

@@ -0,0 +1,24 @@
1
+@font-face {font-family: "iconfont";
2
+  src: url('//at.alicdn.com/t/font_1998922_g8nkn1klezi.eot?t=1597115213858'); /* IE9 */
3
+  src: url('//at.alicdn.com/t/font_1998922_g8nkn1klezi.eot?t=1597115213858#iefix') format('embedded-opentype'), /* IE6-IE8 */
4
+  url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAALsAAsAAAAABtwAAAKfAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqBPIEvATYCJAMMCwgABCAFhG0HPxv+BSMR9mLuCZD95QE9RLoneIYmThm2YfE2B8GHbdBGDqNFTVOubfnRPGyk/otisEzH9zmCpzV+83b37qskSSrQzTwRuiZIjRAJRaqIhHwBMHSurbFSIHUgN5H+DlpR0UcCLTa37Gw3IyIUn+Q8+H2+T1rCl14IexzjFhgQlkHkfLD5zMHaawOTITU+z+X0JtCB3FXfspzmGH7UCzAOKMC9MIqsQAIOQDuW1zUpT7xBr+4TaDdmXmwedh/WqmDLAnGbrl3Q2ksril9rFeqZvUU8VmlND9MzHpWfj7+r0UpSZWzt/qtbLlv/Q89Zo9OakCHA4QoZ8yjE2dnycVn4XNZuLuuttSKkq3JNU6oza/3RP14iaqy7E0xDJfGDlBP8+IAEMqj71WWso+zgDwgxEsnD5JP3NR+P33WbCaP4mXWNNBm9miEXDxObPpL0yfUCgJ9maz/AvJ1aEf+E2gKXO74anPGHXt6qupQZqbxcdturhFyUJEw/U0qQj+bZKOlWk76gkxb6nRc6LjzKGVHrtYC3ze+BZJOCi9L6u0hgfRrkQMl0zJNLopbqIpqNIIIJUAYxDVi834fj1iF0P6HV0IFoi9EWWatxsrDzqHRYi1qrdWg3Z9vhDgPuyKK0YdZdgtDrCZJuT5H1ek4W9j0qw/6j1hsZ7Y4Gd2aH3wbZBJ1iBP8HCrwn4VNb9d4xn6uTrq7k3ygH5aCtmmFtxB3lig3HJ3eqCZLwBgN5DNeVoQjPGLSaVEtf12nuRVXgzViToFOMwP8BBd6THq129P475nN1siKaKr5RDpoctCoNghzNO0r0K88cn9xRTSAJb2AgQVx5mUGZnzVj0Mp0oFh6NR2WsObqeetmv2PQbtgZ+ZIiR0E+3e7pNpkpyqdQntQYAA==') format('woff2'),
5
+  url('//at.alicdn.com/t/font_1998922_g8nkn1klezi.woff?t=1597115213858') format('woff'),
6
+  url('//at.alicdn.com/t/font_1998922_g8nkn1klezi.ttf?t=1597115213858') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7
+  url('//at.alicdn.com/t/font_1998922_g8nkn1klezi.svg?t=1597115213858#iconfont') format('svg'); /* iOS 4.1- */
8
+}
9
+
10
+.iconfont {
11
+  font-family: "iconfont" !important;
12
+  font-size: 16px;
13
+  font-style: normal;
14
+  -webkit-font-smoothing: antialiased;
15
+  -moz-osx-font-smoothing: grayscale;
16
+}
17
+
18
+.iconguanbi:before {
19
+  content: "\e639";
20
+}
21
+
22
+.iconjiantouright:before {
23
+  content: "\e67b";
24
+}

+ 1
- 0
src/index.html ファイルの表示

@@ -8,6 +8,7 @@
8 8
   <meta name="format-detection" content="telephone=no,address=no">
9 9
   <meta name="apple-mobile-web-app-status-bar-style" content="white">
10 10
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
11
+  <link rel="stylesheet" href="//at.alicdn.com/t/font_1998922_g8nkn1klezi.css">
11 12
   <title></title>
12 13
   <script>
13 14
     !function(x){function w(){var v,u,t,tes,s=x.document,r=s.documentElement,a=r.getBoundingClientRect().width;if(!v&&!u){var n=!!x.navigator.appVersion.match(/AppleWebKit.*Mobile.*/);v=x.devicePixelRatio;tes=x.devicePixelRatio;v=n?v:1,u=1/v}if(a>=640){r.style.fontSize="40px"}else{if(a<=320){r.style.fontSize="20px"}else{r.style.fontSize=a/320*20+"px"}}}x.addEventListener("resize",function(){w()});w()}(window);

+ 27
- 5
src/pages/HuiQuanYi/index.vue ファイルの表示

@@ -1,30 +1,52 @@
1 1
 <template>
2
-  <view class="page">
3
-    荟权益
2
+  <view class="page HuiQuanYi">
3
+    <!-- <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh"> -->
4
+
5
+      <!-- banner -->
6
+      <!-- <view class="Banner">
7
+        <view>
8
+          <BannerSwiper></BannerSwiper>
9
+        </view>
10
+      </view> -->
11
+
12
+    <!-- </ScrollY> -->
4 13
   </view>
5 14
 </template>
6 15
 
7 16
 <script>
8
-
17
+// import ScrollY from '../../components/ScrollY/index'
18
+// import BannerSwiper from '../../components/BannerSwiper/index'
9 19
 export default {
10 20
   name: 'HuiQuanYi',
11 21
   data () {
12 22
     return {
13
-
23
+      IsRefreshing: false,
24
+      DataLock: false
14 25
     }
15 26
   },
16 27
   components: {
28
+    // ScrollY,
29
+    // BannerSwiper
17 30
   },
18 31
   created () {
19 32
     this.Init()
20 33
   },
21 34
   methods: {
22 35
     Init () {
36
+    },
37
+    Refresh (e) {
38
+      if (this.DataLock) return
39
+      this.DataLock = true
40
+      this.IsRefreshing = true
41
+      setTimeout(() => {
42
+        this.IsRefreshing = false
43
+        this.DataLock = false
44
+      }, 1000)
23 45
     }
24 46
   }
25 47
 }
26 48
 </script>
27 49
 
28
-<style lang="scss" scoped>
50
+<style lang="scss">
29 51
 @import "page.scss";
30 52
 </style>

+ 18
- 2
src/pages/HuiQuanYi/page.scss ファイルの表示

@@ -1,3 +1,19 @@
1
-.page {
1
+.page.HuiQuanYi {
2 2
   width: 100%;
3
-}
3
+  height: 100%;
4
+  .Banner {
5
+    width: 100%;
6
+    padding-bottom: 38%;
7
+    position: relative;
8
+    overflow: hidden;
9
+    > view {
10
+      width: 100%;
11
+      position: absolute;
12
+      left: 0;
13
+      top: 0;
14
+      bottom: 0;
15
+      overflow: hidden;
16
+      background: #ccc;
17
+    }
18
+  }
19
+}

+ 71
- 23
src/pages/HuiShengHuo/index.vue ファイルの表示

@@ -1,20 +1,72 @@
1 1
 <template>
2
-  <view class="page">
3
-    荟生活
4
-    <view @tap="LinkTo">button</view>
5
-    <button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
2
+  <view class="page HuiShengHuo">
3
+    <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh">
4
+
5
+      <!-- banner -->
6
+      <view class="Banner">
7
+        <view>
8
+          <BannerSwiper></BannerSwiper>
9
+        </view>
10
+      </view>
11
+
12
+      <!-- 活动照片墙 -->
13
+      <view class="PhotoList">
14
+        <view class="flex-h">
15
+          <view class="flex-item">
16
+            <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/huodongzhaopianqiang.png"></image>
17
+          </view>
18
+          <navigator url="./PhotoList/index" hover-class="other-navigator-hover" class="More">更多 <text class="iconfont iconjiantouright"></text></navigator>
19
+        </view>
20
+        <view class="ListContainer">
21
+          <scroll-view scroll-x="true">
22
+            <view class="List">
23
+              <view v-for="(item, index) in 10" :key="index">
24
+                <view></view>
25
+              </view>
26
+            </view>
27
+          </scroll-view>
28
+        </view>
29
+      </view>
30
+
31
+      <!-- 精彩活动 -->
32
+      <view class="ActivityList">
33
+        <view class="flex-h">
34
+          <view class="flex-item">
35
+            <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/jingcaihuodong.png"></image>
36
+          </view>
37
+          <navigator url="./ActivityList/index" hover-class="other-navigator-hover" class="More">更多 <text class="iconfont iconjiantouright"></text></navigator>
38
+        </view>
39
+        <view class="List">
40
+          <view class="Item" v-for="(item, index) in 20" :key="index">
41
+            <view class="Img"></view>
42
+            <view class="Info">
43
+              <text>活动名称</text>
44
+              <view class="flex-h">
45
+                <text class="flex-item">参与截止时间:2020-08-20 16:00</text>
46
+                <navigator url="./ActivityList/ActivityDetail/index" hover-class="other-navigator-hover" class="Btn">立即报名</navigator>
47
+                <navigator url="./ActivityList/ActivityDetail/index" hover-class="other-navigator-hover" class="Btn">立即投票</navigator>
48
+                <view>已结束</view>
49
+              </view>
50
+            </view>
51
+          </view>
52
+        </view>
53
+      </view>
54
+
55
+    </ScrollY>
6 56
   </view>
7 57
 </template>
8 58
 
9 59
 <script>
10
-
60
+import ScrollY from '../../components/ScrollY/index'
61
+import BannerSwiper from '../../components/BannerSwiper/index'
11 62
 import { createNamespacedHelpers } from 'vuex'
12 63
 const { mapState: mapUserState, mapActions: mapUserActions } = createNamespacedHelpers('user')
13 64
 export default {
14 65
   name: 'HuiShengHuo',
15 66
   data () {
16 67
     return {
17
-
68
+      IsRefreshing: false,
69
+      DataLock: false
18 70
     }
19 71
   },
20 72
   computed: {
@@ -23,6 +75,8 @@ export default {
23 75
     })
24 76
   },
25 77
   components: {
78
+    ScrollY,
79
+    BannerSwiper
26 80
   },
27 81
   created () {
28 82
     this.Init()
@@ -32,32 +86,26 @@ export default {
32 86
       'GetUserPlaylist'
33 87
     ]),
34 88
     Init () {
35
-      wx.getSetting({
36
-        success (res) {
37
-          if (res.authSetting['scope.userInfo']) {
38
-            // 已经授权,可以直接调用 getUserInfo 获取头像昵称
39
-            wx.getUserInfo({
40
-              success: function (res) {
41
-                window.alert(JSON.stringify(res.userInfo))
42
-              }
43
-            })
44
-          }
45
-        }
46
-      })
47 89
       // this.GetUserPlaylist({ queryData: { accountId: 5, pageNum: 1, pageSize: 1000 } }).then((res) => {
48 90
       //   console.log(this.UserPlaylist)
49 91
       // })
50 92
     },
51
-    LinkTo () {
52
-      wx.navigateTo({ url: 'ActivityList/index' })
93
+    LinkTo (url) {
94
+      wx.navigateTo({ url })
53 95
     },
54
-    bindGetUserInfo (e) {
55
-      console.log(e.detail.userInfo)
96
+    Refresh (e) {
97
+      if (this.DataLock) return
98
+      this.DataLock = true
99
+      this.IsRefreshing = true
100
+      setTimeout(() => {
101
+        this.IsRefreshing = false
102
+        this.DataLock = false
103
+      }, 1000)
56 104
     }
57 105
   }
58 106
 }
59 107
 </script>
60 108
 
61
-<style lang="scss" scoped>
109
+<style lang="scss">
62 110
 @import "page.scss";
63 111
 </style>

+ 160
- 2
src/pages/HuiShengHuo/page.scss ファイルの表示

@@ -1,3 +1,161 @@
1
-.page {
1
+.page.HuiShengHuo {
2 2
   width: 100%;
3
-}
3
+  height: 100%;
4
+  .Banner {
5
+    width: 100%;
6
+    padding-bottom: 38%;
7
+    position: relative;
8
+    overflow: hidden;
9
+    > view {
10
+      width: 100%;
11
+      position: absolute;
12
+      left: 0;
13
+      top: 0;
14
+      bottom: 0;
15
+      overflow: hidden;
16
+      background: #ccc;
17
+    }
18
+  }
19
+  .PhotoList {
20
+    padding: 20px 0;
21
+    background: #fff;
22
+    margin-top: 20px;
23
+    > .flex-h {
24
+      padding: 0 20px;
25
+      align-items: center;
26
+      margin-top: 10px;
27
+      > .flex-item {
28
+        > image {
29
+          height: 48px;
30
+        }
31
+      }
32
+      > .More {
33
+        font-size: 26px;
34
+        color: #999;
35
+        > text {
36
+          font-size: 26px;
37
+        }
38
+      }
39
+    }
40
+    > .ListContainer {
41
+      width: 100%;
42
+      position: relative;
43
+      overflow: hidden;
44
+      margin-top: 40px;
45
+      margin-bottom: 30px;
46
+      > scroll-view {
47
+        .List {
48
+          font-size: 0;
49
+          white-space: nowrap;
50
+          > view {
51
+            width: 36%;
52
+            position: relative;
53
+            overflow: visible;
54
+            display: inline-block;
55
+            vertical-align: middle;
56
+            margin-left: 25px;
57
+            &:last-child {
58
+              margin-right: 25px;
59
+            }
60
+            > view {
61
+              width: 100%;
62
+              padding-bottom: 85%;
63
+              background: #ccc;
64
+              border-radius: 20px;
65
+              position: relative;
66
+              overflow: hidden;
67
+            }
68
+          }
69
+        }
70
+      }
71
+    }
72
+  }
73
+  .ActivityList {
74
+    padding: 20px 0;
75
+    background: #fff;
76
+    margin-top: 20px;
77
+    > .flex-h {
78
+      padding: 0 20px;
79
+      align-items: center;
80
+      margin-top: 10px;
81
+      > .flex-item {
82
+        > image {
83
+          height: 48px;
84
+        }
85
+      }
86
+      > .More {
87
+        font-size: 26px;
88
+        color: #999;
89
+        > text {
90
+          font-size: 26px;
91
+        }
92
+      }
93
+    }
94
+    > .List {
95
+      position: relative;
96
+      overflow: hidden;
97
+      margin-top: 40px;
98
+      margin-bottom: 30px;
99
+      padding: 0 20px;
100
+      > .Item {
101
+        position: relative;
102
+        overflow: hidden;
103
+        background: #fff;
104
+        border-radius: 20px;
105
+        box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
106
+        margin-top: 20px;
107
+        &:first-child {
108
+          margin-top: 0;
109
+        }
110
+        > .Img {
111
+          width: 100%;
112
+          padding-bottom: 55%;
113
+          background: #ccc;
114
+          position: relative;
115
+          overflow: hidden;
116
+        }
117
+        > .Info {
118
+          padding: 20px 34px;
119
+          > text {
120
+            display: block;
121
+            font-size: 32px;
122
+            line-height: 1.5;
123
+          }
124
+          > .flex-h {
125
+            align-items: center;
126
+            margin-top: 20px;
127
+            margin-bottom: 20px;
128
+            overflow: visible;
129
+            > text {
130
+              margin-right: 10px;
131
+              white-space: nowrap;
132
+              overflow: hidden;
133
+              text-overflow: ellipsis;
134
+              font-size: 24px;
135
+              color: #999;
136
+              line-height: 1.5;
137
+            }
138
+            > .Btn {
139
+              font-size: 26px;
140
+              color: #fff;
141
+              background: #fe4e45;
142
+              line-height: 54px;
143
+              border-radius: 54px;
144
+              padding: 0 20px;
145
+              box-shadow: 0 10px 20px 5px rgba(254, 78, 69, 0.3);
146
+            }
147
+            > view {
148
+              font-size: 26px;
149
+              color: #000;
150
+              background: #e5e3e3;
151
+              line-height: 54px;
152
+              border-radius: 54px;
153
+              padding: 0 20px;
154
+              box-shadow: 0 10px 20px 5px rgba(0, 0, 0, 0.1);
155
+            }
156
+          }
157
+        }
158
+      }
159
+    }
160
+  }
161
+}