Browse Source

静态页面

1002884655 4 years ago
parent
commit
771c4d00ea

+ 1
- 1
src/app.js View File

@@ -43,7 +43,7 @@ class App extends Component {
43 43
       success: res => {
44 44
         if (res.errMsg === 'login:ok') {
45 45
           request({ ...apis.login, params: { code: res.code, from, recommender, scene } }).then(x => {
46
-            setUser(x.person)
46
+            setUser({...x.person, ShowIndexAdv: false, FirstComing: true})
47 47
             Taro.setStorage({ key: 'token', data: x.token })
48 48
             Taro.setStorage({ key: 'sessionKey', data: x.sessionKey })
49 49
 

+ 6
- 3
src/components/ScrollPage/index.jsx View File

@@ -5,18 +5,21 @@ import './index.less'
5 5
 
6 6
 export default function ScrollPage (props) {
7 7
 
8
-  const { IsPullDown = false, IsPullUp = false, HasMore = true, OnRefresh = () => { }, OnPullUp = () => { } } = props
8
+  const { IsPullDown = false, ListRefresh = true, IsPullUp = false, HasMore = true, OnRefresh = () => { }, OnPullUp = () => { }, RefreshBg = 'none' } = props
9 9
 
10 10
   return (
11 11
     <view className='ScrollPage'>
12
-      <scroll-view scroll-y='true' style='height: 100%;' refresher-enabled={true} onrefresherrefresh={OnRefresh} onscrolltolower={OnPullUp} refresher-triggered={IsPullDown} refresher-background='none'>
12
+      <scroll-view scroll-y='true' style='height: 100%;' refresher-enabled={true} onrefresherrefresh={OnRefresh} onscrolltolower={OnPullUp} refresher-triggered={IsPullDown} refresher-background={RefreshBg}>
13 13
         <view className='ScrollPageContent'>
14 14
           {
15 15
             props.children
16 16
           }
17 17
           <view className='ScrollPageBottom'></view>
18 18
         </view>
19
-        <text className='LoadMoreText'>{IsPullUp ? '正在加载更多...' : HasMore ? '上拉加载更多' : '已经到底了~'}</text>
19
+        {
20
+          ListRefresh &&
21
+          <text className='LoadMoreText'>{IsPullUp ? '正在加载更多...' : HasMore ? '上拉加载更多' : '已经到底了~'}</text>
22
+        }
20 23
       </scroll-view>
21 24
     </view>
22 25
   )

+ 19
- 11
src/components/ScrollPageRefresh/index.jsx View File

@@ -7,17 +7,19 @@ import './index.less'
7 7
 
8 8
 export default function ScrollPageRefresh (props) {
9 9
 
10
-  const { ApiName = '', ListName = 'records', RequestParams = {}, RequestData = null, RequestUrlData = null, PageSize = 10, Refresh = () => { }, Push = () => { } } = props
10
+  const { ApiName = '', ListRefresh = true, ListName = 'records', RequestParams = {}, RequestData = null, RequestUrlData = null, PageSize = 10, Refresh = () => { }, Push = () => { }, RefreshBg = 'none' } = props
11 11
   const [IsPullUp, setIsPullUp] = useState(false)
12 12
   const [IsPullDown, setIsPullDown] = useState(false)
13 13
   const [HasNextPage, setHasNextPage] = useState(true)
14 14
   const [PageNum, setPageNum] = useState(1)
15 15
 
16 16
   useEffect(() => {
17
-    GetPageList(() => {
18
-      setIsPullDown(false)
19
-      setIsPullUp(false)
20
-    })
17
+    if (ListRefresh) {
18
+      GetPageList(() => {
19
+        setIsPullDown(false)
20
+        setIsPullUp(false)
21
+      })
22
+    }
21 23
   }, [PageNum])
22 24
 
23 25
   const GetPageList = (done = () => { }) => { // 获取列表
@@ -62,13 +64,19 @@ export default function ScrollPageRefresh (props) {
62 64
 
63 65
   const OnRefresh = () => { // 页面下拉刷新
64 66
     setIsPullDown(true)
65
-    setPageNum(1)
66
-    if (PageNum === 1) {
67
-      GetPageList(() => {
67
+    if (ListRefresh) {
68
+      setPageNum(1)
69
+      if (PageNum === 1) {
70
+        GetPageList(() => {
71
+          setIsPullDown(false)
72
+        })
73
+      } else {
74
+        setPageNum(1)
75
+      }
76
+    } else {
77
+      Refresh(() => {
68 78
         setIsPullDown(false)
69 79
       })
70
-    } else {
71
-      setPageNum(1)
72 80
     }
73 81
   }
74 82
 
@@ -81,7 +89,7 @@ export default function ScrollPageRefresh (props) {
81 89
 
82 90
   return (
83 91
     <view className='ScrollPageRefresh'>
84
-      <ScrollPage OnRefresh={OnRefresh} IsPullUp={IsPullUp} IsPullDown={IsPullDown} OnPullUp={OnPullUp} HasMore={HasNextPage}>
92
+      <ScrollPage ListRefresh={ListRefresh} OnRefresh={OnRefresh} IsPullUp={IsPullUp} IsPullDown={IsPullDown} OnPullUp={OnPullUp} HasMore={HasNextPage} RefreshBg={RefreshBg}>
85 93
         {
86 94
           props.children
87 95
         }

+ 39
- 1
src/layouts/index.jsx View File

@@ -1,11 +1,14 @@
1 1
 import React, { useState, useEffect } from 'react'
2 2
 import Taro from '@tarojs/taro'
3 3
 import { useModel } from '@/store'
4
+import { Text } from '@tarojs/components'
4 5
 import Spin from '@/components/Spin'
5 6
 import GetUserPhone from '@/components/GetUserPhone/index'
6 7
 import GetUserIcon from '@/components/GetUserIcon/index'
7 8
 import useMountTrack from '@/utils/hooks/useMountTrack'
9
+import request, { apis } from '@/utils/request'
8 10
 import { getPage } from '@/utils'
11
+import './index.less'
9 12
 
10 13
 const pages = require('../pages')
11 14
 
@@ -21,7 +24,9 @@ export default function (props) {
21 24
   const [showAuthBasic, setShowAuthBasic] = useState(false)
22 25
   const [showAuthYeZhu, setShowAuthYeZhu] = useState(false)
23 26
   const [showAuthPhone, setShowAuthPhone] = useState(false)
24
-  const { user } = useModel('user')
27
+  const [ShowAdvLayer, setShowAdvLayer] = useState(true)
28
+  const [AdvDetail, setShowAdvDetail] = useState(null)
29
+  const { user, setUser } = useModel('user')
25 30
 
26 31
   const loading = !user || !user.personId
27 32
   const isAuthedBasic = user && user.avatarurl && user.nickname
@@ -33,6 +38,17 @@ export default function (props) {
33 38
   const needAuthYeZhu = (page.auth || []).indexOf('yezhu') > -1
34 39
   const needAuthPhone = (page.auth || []).indexOf('phone') > -1
35 40
 
41
+  useEffect(() => {
42
+    if (user !== null && user.FirstComing !== undefined && user.FirstComing) {
43
+      request({ ...apis.getIndexAdv, params: { showType: `screen`, showPosition: `index` } }).then((res) => {
44
+        if (res !== null && res.length > 0) {
45
+          setShowAdvDetail(res[0])
46
+          setUser({...user, ShowIndexAdv: true, FirstComing: false})
47
+        }
48
+      })
49
+    }
50
+  }, [user])
51
+
36 52
   // 埋点
37 53
   useMountTrack()
38 54
 
@@ -78,8 +94,30 @@ export default function (props) {
78 94
     setShowAuthBasic(needShow)
79 95
   }, [isAuthedBasic, needAuthBasic, isAuthedPhone, isAuthedYeZhu, needAuthYeZhu])
80 96
 
97
+  const AdvClick = () => { // 首页弹窗点击事件
98
+    setShowAdvLayer(false)
99
+    if (AdvDetail.contentType === 'news') {
100
+      Taro.navigateTo({ url: `/pages/HuoDong/ZiXunDetail/index?id=${AdvDetail.contentId}` })
101
+    } else if (AdvDetail.contentType === 'tpNews') {
102
+      Taro.navigateTo({ url: `/pages/WuYe/FuWuDetail/index?id=${AdvDetail.contentId}` })
103
+    } else if (AdvDetail.contentType === 'notice') {
104
+      Taro.navigateTo({ url: `/pages/WuYe/GongGaoDetail/index?id=${AdvDetail.contentId}` })
105
+    } else if (AdvDetail.contentType === 'activity') {
106
+      Taro.navigateTo({ url: `/pages/HuoDong/HuoDongDetail/index?id=${AdvDetail.contentId}` })
107
+    }
108
+  }
109
+
81 110
   return (
82 111
     <Spin loading={loading}>
112
+
113
+      {/* 广告 */}
114
+      <view className='AdvLayer' style={{ display: user !== null && user.ShowIndexAdv !== undefined && user.ShowIndexAdv ? 'block' : 'none' }}>
115
+        <view className='centerLabel'>
116
+          <image mode='aspectFit' src={AdvDetail !== null ? AdvDetail.image : null} onClick={AdvClick}></image>
117
+          <Text className='iconfont iconguanbi' onClick={() => { setUser({...user, ShowIndexAdv: false}) }}></Text>
118
+        </view>
119
+      </view>
120
+
83 121
       <GetUserIcon visible={showAuthBasic} onError={err => showError(`授权头像失败: ${err}`)} />
84 122
       <GetUserPhone visible={showAuthPhone} onError={err => showError(`授权手机失败: ${err}`)} />
85 123
       {

+ 36
- 0
src/layouts/index.less View File

@@ -0,0 +1,36 @@
1
+.AdvLayer {
2
+  width: 100%;
3
+  position: absolute;
4
+  left: 0;
5
+  top: 0;
6
+  bottom: 0;
7
+  z-index: 20000;
8
+  background: rgba(0, 0, 0, 0.8);
9
+
10
+  >view {
11
+    width: 100%;
12
+    height: 100vw;
13
+    overflow: visible;
14
+
15
+    >image {
16
+      width: 60%;
17
+      height: 60%;
18
+      position: relative;
19
+      z-index: 1;
20
+      margin: 0 auto;
21
+      display: block;
22
+    }
23
+
24
+    >text {
25
+      display: inline-block;
26
+      color: #fff;
27
+      font-size: 60px;
28
+      position: absolute;
29
+      left: 50%;
30
+      bottom: -30px;
31
+      transform: translateX(-50%);
32
+      -webkit-transform: translateX(-50%);
33
+      z-index: 2;
34
+    }
35
+  }
36
+}

+ 8
- 31
src/pages/ShouYe/index.jsx View File

@@ -1,5 +1,6 @@
1 1
 import React, { useState, useEffect } from 'react'
2 2
 import NavHeader from '@/components/NavHeader/index'
3
+import ScrollPageRefresh from '@/components/ScrollPageRefresh/index'
3 4
 import { Swiper, SwiperItem, Text } from '@tarojs/components'
4 5
 import request, { apis } from '@/utils/request'
5 6
 import { useModel } from '@/store'
@@ -13,8 +14,6 @@ import './index.less'
13 14
 export default function Index (props) {
14 15
 
15 16
   const { user } = useModel('user')
16
-  const [ShowAdvLayer, setShowAdvLayer] = useState(false)
17
-  const [IsPull, setIsPull] = useState(false)
18 17
   const [OwnerList] = useState([
19 18
     { icon: 'iconjiaofei', name: '物业缴费', id: 1, router: '/pages/WuYe/index', isTab: true },
20 19
     { icon: 'icontongzhi', name: '物业通知', id: 2, router: '/pages/WuYe/index', isTab: true },
@@ -31,15 +30,8 @@ export default function Index (props) {
31 30
   const [ActivityList, setActivityList] = useState([])
32 31
   const [NewsList, setNewsList] = useState([])
33 32
 
34
-  // useEffect(() => {
35
-  //   if (user) {
36
-  //     console.log(user, `user`)
37
-  //     OnRefresh()
38
-  //   }
39
-  // }, [user])
40
-
41 33
   useUserMounted(() => {
42
-    OnRefresh()
34
+    Refresh()
43 35
   })
44 36
 
45 37
   const Init = (done = () => { }) => { // 初始化
@@ -108,15 +100,8 @@ export default function Index (props) {
108 100
     }
109 101
   }
110 102
 
111
-  const OnRefresh = () => { // 页面下拉刷新
112
-    setIsPull(true)
113
-    Init(() => {
114
-      setIsPull(false)
115
-    })
116
-  }
117
-
118
-  const OnPullUp = () => { // 上拉加载
119
-    // console.log(111)
103
+  const Refresh = (e) => { // 页面下拉刷新
104
+    Init(e)
120 105
   }
121 106
 
122 107
   const OwnerClick = (item) => {
@@ -135,17 +120,9 @@ export default function Index (props) {
135 120
         <NavHeader BgColor='#f35844' Title='首页'></NavHeader>
136 121
         <view className='flex-item'>
137 122
 
138
-          {/* 广告 */}
139
-          <view className='AdvLayer' style={{ display: ShowAdvLayer ? 'block' : 'none' }}>
140
-            <view className='centerLabel'>
141
-              <image mode='aspectFit' src={null}></image>
142
-              <Text className='iconfont iconguanbi'></Text>
143
-            </view>
144
-          </view>
145
-
146 123
           {/* 正文 */}
147 124
           <view className='PageContainer'>
148
-            <scroll-view scroll-y='true' style='height: 100%;' refresher-enabled={true} onscrolltolower={OnPullUp} onrefresherrefresh={OnRefresh} refresher-triggered={IsPull} refresher-background='#f35844'>
125
+            <ScrollPageRefresh ListRefresh={false} Refresh={Refresh} RefreshBg='#f35844'>
149 126
               <view className='Content'>
150 127
 
151 128
                 {/* 背景图 */}
@@ -242,8 +219,8 @@ export default function Index (props) {
242 219
                                 <image mode='aspectFill' src={item.newsImg} className='centerLabel'></image>
243 220
                               </view>
244 221
                               <view className='flex-item'>
245
-                                <Text>{item.newsName}</Text>
246
-                                <Text>{item.desc || ''}</Text>
222
+                                <view><Text>{item.newsName}</Text></view>
223
+                                <view><Text>{item.desc || ''}</Text></view>
247 224
                               </view>
248 225
                             </view>
249 226
                           ))
@@ -257,7 +234,7 @@ export default function Index (props) {
257 234
                 </view>
258 235
 
259 236
               </view>
260
-            </scroll-view>
237
+            </ScrollPageRefresh>
261 238
           </view>
262 239
 
263 240
         </view>

+ 121
- 94
src/pages/ShouYe/index.less View File

@@ -3,57 +3,30 @@
3 3
   height: 100%;
4 4
   overflow: hidden;
5 5
   background: #f8f8f8;
6
-  > view {
6
+
7
+  >view {
7 8
     position: relative;
9
+
8 10
     &.flex-item {
9 11
       position: relative;
10 12
       overflow: hidden;
11
-      > .AdvLayer {
12
-        width: 100%;
13
-        position: absolute;
14
-        left: 0;
15
-        top: 0;
16
-        bottom: 0;
17
-        z-index: 2;
18
-        background: rgba(0, 0, 0, 0.8);
19
-        > view {
20
-          width: 100%;
21
-          height: 100vw;
22
-          overflow: visible;
23
-          > image {
24
-            width: 60%;
25
-            height: 60%;
26
-            position: relative;
27
-            z-index: 1;
28
-            margin: 0 auto;
29
-            display: block;
30
-          }
31
-          >text {
32
-            display: inline-block;
33
-            color: #fff;
34
-            font-size: 60px;
35
-            position: absolute;
36
-            left: 50%;
37
-            bottom: -30px;
38
-            transform: translateX(-50%);
39
-            -webkit-transform: translateX(-50%);
40
-            z-index: 2;
41
-          }
42
-        }
43
-      }
44
-      > .PageContainer {
13
+
14
+      >.PageContainer {
45 15
         width: 100%;
46 16
         position: relative;
47 17
         z-index: 2;
48 18
         height: 100%;
49 19
         overflow: hidden;
50 20
         z-index: 1;
21
+
51 22
         .Content {
52 23
           position: relative;
53 24
           overflow: hidden;
54
-          > view {
25
+
26
+          >view {
55 27
             position: relative;
56 28
             z-index: 2;
29
+
57 30
             &.TopBg {
58 31
               width: 100%;
59 32
               position: absolute;
@@ -65,19 +38,22 @@
65 38
               background-image: linear-gradient(#f35844, #ff8d61);
66 39
               z-index: 1;
67 40
             }
68
-            > .Welcome {
41
+
42
+            >.Welcome {
69 43
               display: block;
70 44
               font-size: 30px;
71 45
               color: #fff;
72 46
               margin-top: 20px;
73 47
               text-indent: 30px;
74 48
             }
75
-            > .BannerContainer {
49
+
50
+            >.BannerContainer {
76 51
               padding: 0 30px;
77 52
               position: relative;
78 53
               overflow: hidden;
79 54
               margin-top: 50px;
80
-              > view {
55
+
56
+              >view {
81 57
                 width: 100%;
82 58
                 position: relative;
83 59
                 overflow: hidden;
@@ -85,26 +61,30 @@
85 61
                 background: #f8f8f8;
86 62
                 border-radius: 24px;
87 63
                 height: 0;
88
-                > view {
64
+
65
+                >view {
89 66
                   width: 100%;
90 67
                   position: absolute;
91 68
                   left: 0;
92 69
                   top: 0;
93 70
                   bottom: 0;
94 71
                   overflow: hidden;
95
-                  > .BannerSwiper {
72
+
73
+                  >.BannerSwiper {
96 74
                     width: 100%;
97 75
                     height: 100%;
98 76
                     position: relative;
99 77
                     overflow: hidden;
100 78
                     border-radius: 24px;
79
+
101 80
                     .BannerItem {
102 81
                       width: 100%;
103 82
                       height: 100%;
104 83
                       position: relative;
105 84
                       overflow: hidden;
106 85
                       border-radius: 24px;
107
-                      > image {
86
+
87
+                      image {
108 88
                         width: 100%;
109 89
                         height: 100%;
110 90
                       }
@@ -113,23 +93,27 @@
113 93
                 }
114 94
               }
115 95
             }
116
-            > .NavContainer {
96
+
97
+            >.NavContainer {
117 98
               position: relative;
118 99
               overflow: hidden;
119 100
               align-items: center;
120 101
               padding: 0 30px;
121 102
               margin-top: 40px;
122
-              > view {
103
+
104
+              >view {
123 105
                 margin-left: 30px;
124 106
                 position: relative;
125 107
                 overflow: hidden;
108
+
126 109
                 &:first-child {
127 110
                   margin-left: 0;
128 111
                 }
112
+
129 113
                 &:nth-child(1) {
130
-                  > view {
131
-                    > view {
132
-                      > text {
114
+                  >view {
115
+                    >view {
116
+                      >text {
133 117
                         &:first-child {
134 118
                           color: #ffc412;
135 119
                         }
@@ -137,10 +121,11 @@
137 121
                     }
138 122
                   }
139 123
                 }
124
+
140 125
                 &:nth-child(2) {
141
-                  > view {
142
-                    > view {
143
-                      > text {
126
+                  >view {
127
+                    >view {
128
+                      >text {
144 129
                         &:first-child {
145 130
                           color: #fb3fc8;
146 131
                         }
@@ -148,10 +133,11 @@
148 133
                     }
149 134
                   }
150 135
                 }
136
+
151 137
                 &:nth-child(3) {
152
-                  > view {
153
-                    > view {
154
-                      > text {
138
+                  >view {
139
+                    >view {
140
+                      >text {
155 141
                         &:first-child {
156 142
                           color: #fb7820;
157 143
                         }
@@ -159,10 +145,11 @@
159 145
                     }
160 146
                   }
161 147
                 }
148
+
162 149
                 &:nth-child(4) {
163
-                  > view {
164
-                    > view {
165
-                      > text {
150
+                  >view {
151
+                    >view {
152
+                      >text {
166 153
                         &:first-child {
167 154
                           color: #586ff8;
168 155
                         }
@@ -170,21 +157,25 @@
170 157
                     }
171 158
                   }
172 159
                 }
173
-                > view {
160
+
161
+                >view {
174 162
                   width: 100%;
175 163
                   padding-bottom: 100%;
176 164
                   background: #fff;
177 165
                   position: relative;
178 166
                   overflow: hidden;
179 167
                   border-radius: 12px;
180
-                  > view {
168
+
169
+                  >view {
181 170
                     width: 100%;
182
-                    > text {
171
+
172
+                    >text {
183 173
                       display: block;
184 174
                       text-align: center;
185 175
                       line-height: 40px;
186 176
                       color: #333;
187 177
                       font-size: 26px;
178
+
188 179
                       &:first-child {
189 180
                         font-size: 50px;
190 181
                         line-height: 60px;
@@ -195,27 +186,32 @@
195 186
                 }
196 187
               }
197 188
             }
198
-            > .HotActivityContainer {
189
+
190
+            >.HotActivityContainer {
199 191
               padding: 0 30px;
200 192
               position: relative;
201 193
               overflow: hidden;
202 194
               margin-top: 30px;
203
-              > view {
195
+
196
+              >view {
204 197
                 width: 100%;
205 198
                 position: relative;
206 199
                 overflow: hidden;
207 200
                 border-radius: 40px;
208 201
                 background: #fff;
209
-                > .Title {
202
+
203
+                >.Title {
210 204
                   font-size: 0;
211 205
                   white-space: nowrap;
212 206
                   text-align: center;
213 207
                   padding: 30px 0;
214
-                  > text {
208
+
209
+                  >text {
215 210
                     display: inline-block;
216 211
                     vertical-align: middle;
217 212
                     font-size: 24px;
218 213
                     color: #999;
214
+
219 215
                     &:first-child {
220 216
                       font-size: 34px;
221 217
                       color: #333;
@@ -225,39 +221,46 @@
225 221
                     }
226 222
                   }
227 223
                 }
228
-                > .Activity {
224
+
225
+                >.Activity {
229 226
                   width: 100%;
230 227
                   padding-bottom: 33.33%;
231 228
                   position: relative;
232 229
                   overflow: hidden;
233
-                  > image {
230
+
231
+                  >image {
234 232
                     width: 100%;
235 233
                     height: 100%;
236 234
                   }
237 235
                 }
238 236
               }
239 237
             }
240
-            > .OwnerContainer {
238
+
239
+            >.OwnerContainer {
241 240
               padding: 0 30px;
242 241
               position: relative;
243 242
               overflow: hidden;
244 243
               margin-top: 30px;
245
-              > view {
244
+
245
+              >view {
246 246
                 width: 100%;
247 247
                 position: relative;
248 248
                 overflow: hidden;
249 249
                 border-radius: 40px;
250 250
                 background: #fff;
251
-                > .Title {
251
+
252
+                >.Title {
252 253
                   font-size: 0;
253 254
                   white-space: nowrap;
254 255
                   text-align: center;
255 256
                   padding: 30px 0;
256
-                  > text {
257
+
258
+                  >text {
257 259
                     display: inline-block;
258 260
                     vertical-align: middle;
259 261
                     font-size: 24px;
260 262
                     color: #999;
263
+
261 264
                     &:first-child {
262 265
                       font-size: 34px;
263 266
                       color: #333;
@@ -267,18 +270,21 @@
267 270
                     }
268 271
                   }
269 272
                 }
270
-                > .OwnerList {
273
+
274
+                >.OwnerList {
271 275
                   border-top: 2px solid #f8f8f8;
272 276
                   align-items: center;
273 277
                   padding: 30px 0;
274
-                  > view {
275
-                    > text {
278
+
279
+                  >view {
280
+                    >text {
276 281
                       display: block;
277 282
                       width: 100%;
278 283
                       text-align: center;
279 284
                       font-size: 26px;
280 285
                       color: #333;
281 286
                       line-height: 40px;
287
+
282 288
                       &:first-child {
283 289
                         color: #f35844;
284 290
                         font-size: 60px;
@@ -290,69 +296,89 @@
290 296
                 }
291 297
               }
292 298
             }
293
-            > .NewsContainer {
299
+
300
+            >.NewsContainer {
294 301
               padding: 0 30px;
295 302
               position: relative;
296 303
               overflow: hidden;
297 304
               margin-top: 30px;
298
-              > view {
305
+
306
+              >view {
299 307
                 position: relative;
300 308
                 overflow: hidden;
301 309
                 background: #fff;
302 310
                 border-radius: 40px;
303
-                > .Title {
311
+
312
+                >.Title {
304 313
                   align-items: center;
305 314
                   padding: 0 20px;
306
-                  > text {
315
+
316
+                  >text {
307 317
                     font-size: 24px;
308 318
                     color: #666;
309 319
                     line-height: 98px;
310 320
                     margin-left: 10px;
321
+
311 322
                     &:first-child {
312 323
                       font-size: 30px;
313 324
                       color: #333;
314 325
                     }
315 326
                   }
316 327
                 }
317
-                > .List {
318
-                  > view {
328
+
329
+                >.List {
330
+                  >view {
319 331
                     align-items: center;
320 332
                     border-top: 2px solid #f8f8f8;
321 333
                     padding: 30px 20px;
322 334
                     position: relative;
323 335
                     overflow: hidden;
336
+
324 337
                     &:first-child {
325 338
                       border-top: none;
326 339
                     }
327
-                    > .Img {
340
+
341
+                    >.Img {
328 342
                       width: 160px;
329 343
                       height: 128px;
330 344
                       position: relative;
331 345
                       overflow: hidden;
332 346
                       background: #f8f8f8;
333 347
                       margin-right: 20px;
334
-                      > image {
348
+
349
+                      >image {
335 350
                         width: 100%;
336 351
                         height: 100%;
337 352
                       }
338 353
                     }
339
-                    > .flex-item {
354
+
355
+                    >.flex-item {
340 356
                       position: relative;
341 357
                       overflow: hidden;
342
-                      > text {
343
-                        display: block;
344
-                        font-size: 26px;
345
-                        color: #666;
346
-                        line-height: 40px;
358
+
359
+                      >view {
360
+
361
+                        text {
362
+                          display: block;
363
+                          font-size: 26px;
364
+                          color: #666;
365
+                          line-height: 40px;
366
+                        }
367
+
347 368
                         &:first-child {
348
-                          font-size: 30px;
349
-                          color: #333;
350
-                          margin-bottom: 10px;
369
+                          text {
370
+                            font-size: 30px;
371
+                            color: #333;
372
+                            margin-bottom: 10px;
373
+                          }
351 374
                         }
375
+
352 376
                         &:last-child {
353
-                          white-space: nowrap;
354
-                          overflow: hidden;
355
-                          text-overflow: ellipsis;
377
+                          text {
378
+                            white-space: nowrap;
379
+                            overflow: hidden;
380
+                            text-overflow: ellipsis;
381
+                          }
356 382
                         }
357 383
                       }
358 384
                     }
@@ -360,7 +386,8 @@
360 386
                 }
361 387
               }
362 388
             }
363
-            > .PageBottom {
389
+
390
+            >.PageBottom {
364 391
               width: 100%;
365 392
               height: 30px;
366 393
             }
@@ -369,4 +396,4 @@
369 396
       }
370 397
     }
371 398
   }
372
-}
399
+}

+ 4
- 0
src/utils/api.js View File

@@ -1,6 +1,10 @@
1 1
 const prefix = `${HOST}/api/wx`
2 2
 
3 3
 const $api = {
4
+  getIndexAdv: { // 获取首页广告
5
+    method: 'get',
6
+    url: `${prefix}/extendContent`
7
+  },
4 8
   getJiFenRecords: { // 获取积分明细
5 9
     method: 'get',
6 10
     url: `${prefix}/taPointsRecords`