xcx 4 лет назад
Родитель
Сommit
445c81f794
4 измененных файлов: 71 добавлений и 42 удалений
  1. 13
    13
      src/pages.js
  2. 10
    3
      src/pages/HuoDong/HuoDongSign/index.jsx
  3. 28
    6
      src/pages/ShouYe/YeZhuFanKui/index.jsx
  4. 20
    20
      src/pages/ShouYe/index.jsx

+ 13
- 13
src/pages.js Просмотреть файл

@@ -153,7 +153,7 @@ const Activity = [
153 153
   {
154 154
     name: '活动',
155 155
     page: 'pages/HuoDong/index',
156
-    auth: ['avatar'],
156
+    auth: ['avatar', 'yezhu'],
157 157
     track: {
158 158
       event: 'list',
159 159
       eventType: 'activity',
@@ -162,7 +162,7 @@ const Activity = [
162 162
   {
163 163
     name: '活动-活动详情',
164 164
     page: 'pages/HuoDong/HuoDongDetail/index',
165
-    auth: ['avatar', 'phone'],
165
+    auth: ['avatar', 'phone', 'yezhu'],
166 166
     track: {
167 167
       event: 'detail',
168 168
       eventType: 'activity',
@@ -171,7 +171,7 @@ const Activity = [
171 171
   {
172 172
     name: '活动-活动签到',
173 173
     page: 'pages/HuoDong/HuoDongSign/index',
174
-    auth: ['avatar'],
174
+    auth: ['avatar', 'yezhu'],
175 175
     track: {
176 176
       event: 'detail',
177 177
       eventType: 'activity',
@@ -192,7 +192,7 @@ const Shop = [
192 192
   {
193 193
     name: '福利',
194 194
     page: 'pages/FuLi/index',
195
-    auth: ['avatar'],
195
+    auth: ['avatar', 'yezhu'],
196 196
     track: {
197 197
       event: 'list',
198 198
       eventType: 'shop',
@@ -201,7 +201,7 @@ const Shop = [
201 201
   {
202 202
     name: '福利搜索',
203 203
     page: 'pages/FuLi/ShangPinFilter/index',
204
-    auth: ['avatar'],
204
+    auth: ['avatar', 'yezhu'],
205 205
     track: {
206 206
       event: 'list',
207 207
       eventType: 'shop',
@@ -210,7 +210,7 @@ const Shop = [
210 210
   {
211 211
     name: '福利-商品详情',
212 212
     page: 'pages/FuLi/ShangPinXiangQing/index',
213
-    auth: ['avatar'],
213
+    auth: ['avatar', 'yezhu'],
214 214
     track: {
215 215
       event: 'detail',
216 216
       eventType: 'shop',
@@ -219,7 +219,7 @@ const Shop = [
219 219
   {
220 220
     name: '福利-商品兑换',
221 221
     page: 'pages/FuLi/ShangPinDuiHuan/index',
222
-    auth: ['avatar'],
222
+    auth: ['avatar', 'yezhu'],
223 223
     track: {
224 224
       event: 'exchange',
225 225
       eventType: 'shop',
@@ -228,7 +228,7 @@ const Shop = [
228 228
   {
229 229
     name: '福利-积分规则',
230 230
     page: 'pages/FuLi/JiFenGuiZe/index',
231
-    auth: ['avatar'],
231
+    auth: ['avatar', 'yezhu'],
232 232
     track: {
233 233
       event: 'points_rule',
234 234
       eventType: 'shop',
@@ -237,7 +237,7 @@ const Shop = [
237 237
   {
238 238
     name: '福利-积分明细',
239 239
     page: 'pages/FuLi/JiFenMingXi/index',
240
-    auth: ['avatar'],
240
+    auth: ['avatar', 'yezhu'],
241 241
     track: {
242 242
       event: 'points_details',
243 243
       eventType: 'shop',
@@ -310,7 +310,7 @@ const Other = [
310 310
   {
311 311
     name: '我的-我的活动',
312 312
     page: 'pages/WoDe/WoDeHuoDong/index',
313
-    auth: ['avatar', 'phone'],
313
+    auth: ['avatar', 'phone', 'yezhu'],
314 314
     track: {
315 315
       event: 'list',
316 316
       eventType: 'activity',
@@ -319,7 +319,7 @@ const Other = [
319 319
   {
320 320
     name: '我的-推荐二维码',
321 321
     page: 'pages/WoDe/TuiJianErWeiMa/index',
322
-    auth: ['avatar', 'phone'],
322
+    auth: ['avatar', 'phone', 'yezhu'],
323 323
     track: {
324 324
       event: 'detail',
325 325
       eventType: 'other',
@@ -328,7 +328,7 @@ const Other = [
328 328
   {
329 329
     name: '我的-推荐分享',
330 330
     page: 'pages/WoDe/TuiJianFenXiang/index',
331
-    auth: ['avatar', 'phone'],
331
+    auth: ['avatar', 'phone', 'yezhu'],
332 332
     track: {
333 333
       event: 'detail',
334 334
       eventType: 'other',
@@ -337,7 +337,7 @@ const Other = [
337 337
   {
338 338
     name: '我的-我的订单',
339 339
     page: 'pages/WoDe/WoDeDingDan/index',
340
-    auth: ['avatar', 'phone'],
340
+    auth: ['avatar', 'phone', 'yezhu'],
341 341
     track: {
342 342
       event: 'list',
343 343
       eventType: 'other',

+ 10
- 3
src/pages/HuoDong/HuoDongSign/index.jsx Просмотреть файл

@@ -1,5 +1,5 @@
1 1
 import React, { useState, useEffect } from 'react'
2
-import Taro, { Current, useRouter } from '@tarojs/taro'
2
+import Taro, { useRouter } from '@tarojs/taro'
3 3
 import request, { apis } from '@/utils/request'
4 4
 import Page from '@/layouts'
5 5
 import { useModel } from '@/store'
@@ -12,11 +12,18 @@ export default function HuoDongDetail () {
12 12
   const { user, setUser } = useModel('user')
13 13
   const [DataLock, setDataLock] = useState(false)
14 14
   const [HasSign, setHasSign] = useState(false)
15
+  const [ShowSign, setShowSign] = useState(false)
15 16
   const [CurrnetId, setCurrentId] = useState(useRouter().params.id) // 当前活动id
16 17
   const [CurrnetSceneId] = useState(useRouter().params.scene) // 当前活动id
17 18
   const [ActivityDetail, setActivityDetail] = useState(null) // 活动详情
18 19
   const [JoinInfo, setJoinInfo] = useState(null) // 参加活动详情
19 20
 
21
+  useEffect(() => {
22
+    if (user && user.verifyStatus === 'certified') {
23
+      setShowSign(true)
24
+    }
25
+  }, [user])
26
+
20 27
   useEffect(() => {
21 28
     if (CurrnetId !== null && CurrnetId !== undefined) {
22 29
       GetActivityDetail()
@@ -79,11 +86,11 @@ export default function HuoDongDetail () {
79 86
         <view className={HasSign ? 'SignBtn' : 'SignBtn active'}>
80 87
           <view>
81 88
             {
82
-              JoinInfo !== null && JoinInfo.enlist !== null &&
89
+              JoinInfo !== null && JoinInfo.enlist !== null && ShowSign &&
83 90
               <text className='centerLabel' onClick={ToSign}>{HasSign ? '已签到' : '签到'}</text>
84 91
             }
85 92
             {
86
-              JoinInfo !== null && JoinInfo.enlist === null &&
93
+              JoinInfo !== null && JoinInfo.enlist === null && ShowSign &&
87 94
               <text className='centerLabel' onClick={() => { Taro.navigateTo({ url: `/pages/HuoDong/HuoDongDetail/index?id=${CurrnetId}` }) }}>去报名</text>
88 95
             }
89 96
           </view>

+ 28
- 6
src/pages/ShouYe/YeZhuFanKui/index.jsx Просмотреть файл

@@ -19,6 +19,7 @@ export default function YeZhuFanKui () {
19 19
   const [HasNextPage, setHasNextPage] = useState(true)
20 20
   const [ScrollTop, setScrollTop] = useState(0)
21 21
   const [Timer, setTimer] = useState(null)
22
+  const [ScrollTimer, setScrollTimer] = useState(null)
22 23
 
23 24
   useEffect(() => {
24 25
     if (user !== null) {
@@ -29,6 +30,26 @@ export default function YeZhuFanKui () {
29 30
     }
30 31
   }, [user, PageNum])
31 32
 
33
+  useEffect(() => {
34
+    if (PageList.length && PageList[PageList.length - 1].isLocal) {
35
+      clearTimeout(Timer)
36
+      setTimer(setTimeout(() => {
37
+        setPageList(PageList.concat([{
38
+          avatar: user.avatarurl,
39
+          content: '亲爱的业主,感谢您的反馈,工作人员稍后将为您进行回复。',
40
+          createDate: Date.now(),
41
+          msgId: PageList.length ? PageList[0].msgId : '',
42
+          nickname: '物业管理',
43
+          userId: 1
44
+        }]))
45
+        clearTimeout(ScrollTimer)
46
+        setScrollTimer(setTimeout(() => {
47
+          setScrollTop(10000 + Date.now())
48
+        }, 300))
49
+      }, 300))
50
+    }
51
+  }, [PageList])
52
+
32 53
   const GetPageList = (bool = false) => {
33 54
     if (HasNextPage) {
34 55
       request({
@@ -38,13 +59,13 @@ export default function YeZhuFanKui () {
38 59
         let List = res.records || []
39 60
         let Arr = []
40 61
         List.map((item) => {
41
-          Arr.unshift({ ...item })
62
+          Arr.unshift({ ...item, isLocal: false })
42 63
         })
43 64
         setPageList(Arr.concat(PageList))
44 65
         setHasNextPage(res.current - 0 < res.pages - 0)
45 66
         if (bool) {
46
-          clearTimeout(Timer)
47
-          setTimer(setTimeout(() => {
67
+          clearTimeout(ScrollTimer)
68
+          setScrollTimer(setTimeout(() => {
48 69
             setScrollTop(10000 + Date.now())
49 70
           }, 300))
50 71
         }
@@ -69,8 +90,9 @@ export default function YeZhuFanKui () {
69 90
           msgId: PageList.length ? PageList[0].msgId : '',
70 91
           content: CommentText
71 92
         }
72
-      }).then((res) => {
93
+      }).then(() => {
73 94
         setPageList(PageList.concat([{
95
+          isLocal: true,
74 96
           avatar: user.avatarurl,
75 97
           content: CommentText,
76 98
           createDate: Date.now(),
@@ -79,8 +101,8 @@ export default function YeZhuFanKui () {
79 101
           userId: null
80 102
         }]))
81 103
         setCommentText('')
82
-        clearTimeout(Timer)
83
-        setTimer(setTimeout(() => {
104
+        clearTimeout(ScrollTimer)
105
+        setScrollTimer(setTimeout(() => {
84 106
           setScrollTop(10000 + Date.now())
85 107
         }, 300))
86 108
         setDataLock(false)

+ 20
- 20
src/pages/ShouYe/index.jsx Просмотреть файл

@@ -24,12 +24,12 @@ export default function Index () {
24 24
     // { icon: require('@/assets/img/icon4.png'), name: '业主认证', id: 4, router: '/pages/WoDe/WoDeRenZheng/index', isTab: false },
25 25
     { icon: require('@/assets/img/icon5.png'), name: '生活管家', id: 5, router: '/pages/WuYe/ShengHuoGuanJia/index', isTab: false, bold: true }
26 26
   ])
27
-  const [NavList] = useState([
28
-    { icon: 'iconhuodong1', name: '活动', id: 1, router: '/pages/ShouYe/HuoDong/index', isTab: false },
29
-    { icon: 'iconfuli1', name: '福利', id: 2, router: '/pages/FuLi/index', setName: null, setValue: null, isTab: true },
30
-    { icon: 'iconfuwu', name: '服务', id: 3, router: '/pages/WuYe/index', setName: 'WuYeNavId', setValue: '2', isTab: true },
31
-    { icon: 'iconxinwen', name: '资讯', id: 4, router: '/pages/ShouYe/ZiXun/index', isTab: false }
32
-  ])
27
+  // const [NavList] = useState([
28
+  //   { icon: 'iconhuodong1', name: '活动', id: 1, router: '/pages/ShouYe/HuoDong/index', isTab: false },
29
+  //   { icon: 'iconfuli1', name: '福利', id: 2, router: '/pages/FuLi/index', setName: null, setValue: null, isTab: true },
30
+  //   { icon: 'iconfuwu', name: '服务', id: 3, router: '/pages/WuYe/index', setName: 'WuYeNavId', setValue: '2', isTab: true },
31
+  //   { icon: 'iconxinwen', name: '资讯', id: 4, router: '/pages/ShouYe/ZiXun/index', isTab: false }
32
+  // ])
33 33
   const [BannerList, setBannerList] = useState([])
34 34
   // const [ActivityList, setActivityList] = useState([])
35 35
   const [NewsList, setNewsList] = useState([])
@@ -153,20 +153,20 @@ export default function Index () {
153 153
     return num >= 3
154 154
   }
155 155
 
156
-  const NavClick = (item) => {
157
-    return () => {
158
-      if (item.isTab) {
159
-        if (item.setName !== null) {
160
-          Taro.setStorageSync(item.setName, item.setValue)
161
-          Taro.reLaunch({ url: item.router })
162
-        } else {
163
-          Taro.switchTab({ url: item.router })
164
-        }
165
-      } else {
166
-        Taro.navigateTo({ url: item.router })
167
-      }
168
-    }
169
-  }
156
+  // const NavClick = (item) => {
157
+  //   return () => {
158
+  //     if (item.isTab) {
159
+  //       if (item.setName !== null) {
160
+  //         Taro.setStorageSync(item.setName, item.setValue)
161
+  //         Taro.reLaunch({ url: item.router })
162
+  //       } else {
163
+  //         Taro.switchTab({ url: item.router })
164
+  //       }
165
+  //     } else {
166
+  //       Taro.navigateTo({ url: item.router })
167
+  //     }
168
+  //   }
169
+  // }
170 170
 
171 171
   const Refresh = (e) => { // 页面下拉刷新
172 172
     Init(e)