Browse Source

请求数据逻辑编写

1002884655 4 years ago
parent
commit
c752ed5821

+ 1
- 1
project.config.json View File

@@ -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",

+ 1
- 1
src/pages/HuiAiXin/index.vue View File

@@ -104,7 +104,7 @@ export default {
104 104
       this.EmptyHuiAiXinBanner() // 清空荟爱心banner
105 105
       this.EmptyMingXingYeZhuList() // 清空明星业主列表
106 106
       this.EmptyZhengNengLiangShiJiList() // 清空正能量事迹列表
107
-      this.GetHuiAiXinBanner({ queryData: { accountId: 5, pageNum: 1, pageSize: 5 } }).then(() => { // 获取荟爱心banner
107
+      this.GetHuiAiXinBanner({ queryData: { pageNum: 1, pageSize: 10, position: 'love' } }).then(() => { // 获取荟爱心banner
108 108
         this.CheckRequestNum(3) // 判断请求接口个数
109 109
       }).catch(() => {
110 110
         this.CheckRequestNum(3) // 判断请求接口个数

+ 2
- 2
src/pages/HuiQuanYi/index.vue View File

@@ -72,12 +72,12 @@ export default {
72 72
       this.RequestNum = 0
73 73
       this.EmptyQuanYiBanner() // 清空荟权益banner
74 74
       this.EmptyYeZhuZiXunList() // 清空业主资讯列表
75
-      this.GetHuiQuanYiBanner({ queryData: { accountId: 5, pageNum: 1, pageSize: 5 } }).then(() => { // 获取荟权益banner
75
+      this.GetHuiQuanYiBanner({ queryData: { pageNum: 1, pageSize: 10, position: 'right' } }).then(() => { // 获取荟权益banner
76 76
         this.CheckRequestNum(2) // 判断请求接口个数
77 77
       }).catch(() => {
78 78
         this.CheckRequestNum(2) // 判断请求接口个数
79 79
       })
80
-      this.GetYeZhuZiXunList({ queryData: { accountId: 5, pageNum: 1, pageSize: 10 } }).then(() => { // 获取业主资讯列表
80
+      this.GetYeZhuZiXunList({ queryData: { pageNum: 1, pageSize: 10, typeId: 1 } }).then(() => { // 获取业主资讯列表
81 81
         this.CheckRequestNum(2) // 判断请求接口个数
82 82
       }).catch(() => {
83 83
         this.CheckRequestNum(2) // 判断请求接口个数

+ 12
- 1
src/pages/HuiShengHuo/ActivityList/ActivityDetail/index.vue View File

@@ -73,7 +73,9 @@
73 73
 </template>
74 74
 
75 75
 <script>
76
-
76
+import { createNamespacedHelpers } from 'vuex'
77
+const { mapActions: mapIndexActions } = createNamespacedHelpers('index')
78
+const { mapState: mapUserState } = createNamespacedHelpers('user')
77 79
 export default {
78 80
   name: 'HuoDongXiangQing',
79 81
   data () {
@@ -99,13 +101,22 @@ export default {
99 101
       ]
100 102
     }
101 103
   },
104
+  computed: {
105
+    ...mapUserState({
106
+      UserInfo: x => x.UserInfo // 用户信息
107
+    })
108
+  },
102 109
   components: {
103 110
   },
104 111
   created () {
105 112
     this.Init()
106 113
   },
107 114
   methods: {
115
+    ...mapIndexActions([
116
+      'GetActivityDetail' // 获取活动详情
117
+    ]),
108 118
     Init () {
119
+      this.GetActivityDetail({ urlData: { id: 1 } })
109 120
     }
110 121
   }
111 122
 }

+ 14
- 15
src/pages/HuiShengHuo/ActivityList/index.vue View File

@@ -6,7 +6,7 @@
6 6
       <scroll-view scroll-x="true">
7 7
         <view class="NavX">
8 8
           <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/jingcaihuodong.png"></image>
9
-          <view v-for="(item, index) in HuoDongNavList" :key="index" :class="{'active': CurrentNavId === index}" @tap="CutNav(item, index)">导航{{index + 1}}</view>
9
+          <view v-for="(item, index) in HuoDongNavList" :key="index" :class="{'active': CurrentNavId - 0 === item.Id - 0}" @tap="CutNav(item)">{{item.Name}}</view>
10 10
         </view>
11 11
       </scroll-view>
12 12
     </view>
@@ -52,7 +52,15 @@ export default {
52 52
         pageNum: 1,
53 53
         pageSize: 15
54 54
       },
55
-      CurrentNavId: null,
55
+      HuoDongNavList: [
56
+        { Name: '暖场活动', Id: '1' },
57
+        { Name: '六点半学堂', Id: '2' },
58
+        { Name: '夜跑行动', Id: '3' },
59
+        { Name: '美好出游季', Id: '4' },
60
+        { Name: '旧衣飞行', Id: '5' },
61
+        { Name: '丽园助农', Id: '6' }
62
+      ],
63
+      CurrentNavId: 1,
56 64
       HasNextPage: true,
57 65
       IsRefreshing: false,
58 66
       DataLock: false
@@ -60,7 +68,6 @@ export default {
60 68
   },
61 69
   computed: {
62 70
     ...mapIndexState({
63
-      HuoDongNavList: x => x.HuoDongNavList, // 活动类型列表
64 71
       ActivityList: x => x.ActivityList // 活动列表
65 72
     })
66 73
   },
@@ -68,21 +75,13 @@ export default {
68 75
     ScrollY
69 76
   },
70 77
   created () {
71
-    this.EmptyActivityList() // 清空活动列表
72
-    this.GetHuoDongNavList({ queryData: { accountId: 5, pageNum: 1, pageSize: 10 } }).then(() => { // 获取活动类型列表
73
-      if (this.HuoDongNavList.length) {
74
-        this.CurrentNavId = 0
75
-        this.Init() // 初始化
76
-      }
77
-    })
78
+    this.Init() // 初始化
78 79
   },
79 80
   methods: {
80 81
     ...mapIndexActions([
81
-      'GetHuoDongNavList', // 获取活动类型列表
82 82
       'GetActivityList' // 获取活动列表
83 83
     ]),
84 84
     ...mapIndexMutations([
85
-      'EmptyHuoDongNavList', // 清空活动类型列表
86 85
       'EmptyActivityList' // 清空活动列表
87 86
     ]),
88 87
     Init () { // 初始化
@@ -94,11 +93,11 @@ export default {
94 93
     LinkTo (url) { // 跳转页面
95 94
       wx.navigateTo({ url })
96 95
     },
97
-    CutNav (item, index) { // 切换导航
96
+    CutNav (item) { // 切换导航
98 97
       if (this.DataLock) return
99 98
       this.DataLock = true
100 99
       this.EmptyActivityList() // 清空活动列表
101
-      this.CurrentNavId = index
100
+      this.CurrentNavId = item.Id
102 101
       setTimeout(() => {
103 102
         this.Init() // 初始化
104 103
       }, 300)
@@ -110,7 +109,7 @@ export default {
110 109
       this.ToGetPageList() // 获取列表
111 110
     },
112 111
     ToGetPageList () { // 获取列表
113
-      this.GetActivityList({ queryData: { accountId: 5, ...this.PageData } }).then((res) => { // 获取活动列表
112
+      this.GetActivityList({ queryData: { ...this.PageData, typeId: this.CurrentNavId } }).then((res) => { // 获取活动列表
114 113
         this.HasNextPage = res.data.data.hasNextPage
115 114
         this.DataLock = false
116 115
         this.IsRefreshing = false

+ 11
- 11
src/pages/HuiShengHuo/index.vue View File

@@ -104,20 +104,20 @@ export default {
104 104
       this.EmptyIndexBanner() // 清空首页banner
105 105
       this.EmptyPhotoList() // 清空照片墙列表
106 106
       this.EmptyActivityList() // 清空活动列表
107
-      this.GetIndexBanner({ queryData: { accountId: 5, pageNum: 1, pageSize: 5 } }).then(() => { // 获取首页banner
108
-        this.CheckRequestNum(3) // 判断请求接口个数
107
+      this.GetIndexBanner({ queryData: { pageNum: 1, pageSize: 10, position: 'left' } }).then(() => { // 获取首页banner
108
+        this.CheckRequestNum(2) // 判断请求接口个数
109 109
       }).catch(() => {
110
-        this.CheckRequestNum(3) // 判断请求接口个数
110
+        this.CheckRequestNum(2) // 判断请求接口个数
111 111
       })
112
-      this.GetPhotoList({ queryData: { accountId: 5, pageNum: 1, pageSize: 10 } }).then(() => { // 获取照片墙列表
113
-        this.CheckRequestNum(3) // 判断请求接口个数
112
+      // this.GetPhotoList({ queryData: { pageNum: 1, pageSize: 10, typeId: 2 } }).then(() => { // 获取照片墙列表
113
+      //   this.CheckRequestNum(2) // 判断请求接口个数
114
+      // }).catch(() => {
115
+      //   this.CheckRequestNum(2) // 判断请求接口个数
116
+      // })
117
+      this.GetActivityList({ queryData: { pageNum: 1, pageSize: 10, typeId: 1 } }).then(() => { // 获取活动列表
118
+        this.CheckRequestNum(2) // 判断请求接口个数
114 119
       }).catch(() => {
115
-        this.CheckRequestNum(3) // 判断请求接口个数
116
-      })
117
-      this.GetActivityList({ queryData: { accountId: 5, pageNum: 1, pageSize: 10 } }).then(() => { // 获取活动列表
118
-        this.CheckRequestNum(3) // 判断请求接口个数
119
-      }).catch(() => {
120
-        this.CheckRequestNum(3) // 判断请求接口个数
120
+        this.CheckRequestNum(2) // 判断请求接口个数
121 121
       })
122 122
     },
123 123
     CheckRequestNum (num) { // 判断请求接口个数

+ 10
- 9
src/pages/SignIn/index.vue View File

@@ -18,7 +18,7 @@
18 18
 
19 19
 <script>
20 20
 import { createNamespacedHelpers } from 'vuex'
21
-const { mapState: mapUserState, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
21
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
22 22
 export default {
23 23
   name: 'DengLu',
24 24
   data () {
@@ -38,8 +38,12 @@ export default {
38 38
     this.Init()
39 39
   },
40 40
   methods: {
41
+    ...mapUserActions([
42
+      'MainSignIn', // 获取用户信息
43
+      'GetUserPhone' // 获取用户手机号
44
+    ]),
41 45
     ...mapUserMutations([
42
-      'EditUserInfo'
46
+      'EditUserInfo' // 编辑用户信息
43 47
     ]),
44 48
     Init () {
45 49
       this.ToLogin()
@@ -51,13 +55,10 @@ export default {
51 55
       let _that = this
52 56
       wx.login({
53 57
         success (res) {
54
-          wx.request({ // 获取用户信息
55
-            url: `https://dev.fangdeal.cn/liyuanhui/wx/login?code=${res.code}`,
56
-            method: 'post',
57
-            success: (res) => {
58
-              _that.EditUserInfo({ name: 'PersonId', value: res.data.data.person.personId })
59
-              _that.EditUserInfo({ name: 'OpenId', value: res.data.data.person.openId })
60
-            }
58
+          _that.MainSignIn({ queryData: { code: res.code } }).then((res) => { // 获取用户信息
59
+            _that.EditUserInfo({ name: 'PersonId', value: res.data.data.person.personId })
60
+            _that.EditUserInfo({ name: 'OpenId', value: res.data.data.person.openId })
61
+            _that.GetUserPhone({ urlData: { personId: _that.UserInfo.PersonId } })
61 62
           })
62 63
         }
63 64
       })

+ 15
- 0
src/store/index/index.js View File

@@ -223,6 +223,21 @@ export default {
223 223
         })
224 224
       })
225 225
     },
226
+    GetActivityDetail (context, payload) { // 获取活动详情
227
+      return new Promise((resolve, reject) => {
228
+        ToolClass.WxRequest({
229
+          url: Api.GetActivityDetail.url,
230
+          method: Api.GetActivityDetail.method,
231
+          ...payload,
232
+          success (res) {
233
+            resolve(res)
234
+          },
235
+          error (res) {
236
+            reject(res)
237
+          }
238
+        })
239
+      })
240
+    },
226 241
     GetActivityList (context, payload) { // 获取活动列表
227 242
       return new Promise((resolve, reject) => {
228 243
         ToolClass.WxRequest({

+ 20
- 4
src/store/user/index.js View File

@@ -17,14 +17,30 @@ export default {
17 17
     }
18 18
   },
19 19
   actions: {
20
-    GetUserPlaylist (context, payload) {
20
+    GetUserPhone (context, payload) { // 获取用户手机号
21
+      payload = { ...payload, IsSigIn: true }
21 22
       return new Promise((resolve, reject) => {
22 23
         ToolClass.WxRequest({
23
-          url: Api.GetUserPlaylist.url,
24
-          method: Api.GetUserPlaylist.method,
24
+          url: Api.GetUserPhone.url,
25
+          method: Api.GetUserPhone.method,
26
+          ...payload,
27
+          success (res) {
28
+            resolve(res)
29
+          },
30
+          error (res) {
31
+            reject(res)
32
+          }
33
+        })
34
+      })
35
+    },
36
+    MainSignIn (context, payload) { // 登录
37
+      payload = { ...payload, IsSigIn: true }
38
+      return new Promise((resolve, reject) => {
39
+        ToolClass.WxRequest({
40
+          url: Api.MainSignIn.url,
41
+          method: Api.MainSignIn.method,
25 42
           ...payload,
26 43
           success (res) {
27
-            context.commit('UpdateUserPlaylist', res.data.data.list)
28 44
             resolve(res)
29 45
           },
30 46
           error (res) {

+ 21
- 9
src/util/Api/index.js View File

@@ -2,21 +2,33 @@
2 2
 const prefix = process.env.NODE_ENV === 'production' ? '' : ''
3 3
 
4 4
 const Api = {
5
+  MainSignIn: { // 登录
6
+    method: 'post',
7
+    url: `${prefix}/login`
8
+  },
9
+  GetUserPhone: { // 获取用户手机号
10
+    method: 'post',
11
+    url: `${prefix}/person/:personId/phone`
12
+  },
5 13
   GetIndexBanner: { // 获取首页banner
6 14
     method: 'get',
7
-    url: `${prefix}/news`
15
+    url: `${prefix}/advert`
8 16
   },
9 17
   GetPhotoList: { // 获取照片墙列表
10 18
     method: 'get',
11
-    url: `${prefix}/news`
19
+    url: `${prefix}/activity`
12 20
   },
13 21
   GetActivityList: { // 获取活动列表
14 22
     method: 'get',
15
-    url: `${prefix}/news`
23
+    url: `${prefix}/activity`
24
+  },
25
+  GetActivityDetail: { // 获取活动详情
26
+    method: 'get',
27
+    url: `${prefix}/activity/:id`
16 28
   },
17 29
   GetHuiQuanYiBanner: { // 获取荟权益banner
18 30
     method: 'get',
19
-    url: `${prefix}/news`
31
+    url: `${prefix}/advert`
20 32
   },
21 33
   GetYeZhuZiXunList: { // 获取业主资讯列表
22 34
     method: 'get',
@@ -24,23 +36,23 @@ const Api = {
24 36
   },
25 37
   GetHuiAiXinBanner: { // 获取荟爱心banner
26 38
     method: 'get',
27
-    url: `${prefix}/news`
39
+    url: `${prefix}/advert`
28 40
   },
29 41
   GetMingXingYeZhuList: { // 获取明星业主列表
30 42
     method: 'get',
31
-    url: `${prefix}/news`
43
+    url: `${prefix}/activity`
32 44
   },
33 45
   GetZhengNengLiangShiJiList: { // 获取正能量事迹列表
34 46
     method: 'get',
35
-    url: `${prefix}/news`
47
+    url: `${prefix}/activity`
36 48
   },
37 49
   GetHuoDongNavList: { // 获取活动类型列表
38 50
     method: 'get',
39
-    url: `${prefix}/news`
51
+    url: `${prefix}/activity`
40 52
   },
41 53
   GetUserActivityList: { // 获取我的活动列表
42 54
     method: 'get',
43
-    url: `${prefix}/news`
55
+    url: `${prefix}/activity`
44 56
   }
45 57
 }
46 58
 

+ 20
- 4
src/util/PublicMethod/index.js View File

@@ -11,6 +11,7 @@ const ToolClass = {
11 11
     }, url)
12 12
   },
13 13
   WxRequest (config) { // 网络请求
14
+    let _that = this
14 15
     let urlData = qs.stringify(config.urlData)
15 16
     let queryData = qs.stringify(config.queryData)
16 17
     if (config.url.indexOf(':') > -1) {
@@ -33,23 +34,38 @@ const ToolClass = {
33 34
       ...(config.data || {}),
34 35
       header: { ...Header },
35 36
       success: (res) => {
36
-        console.log(res)
37 37
         if (res.header['X-Authorization-JWT'] !== undefined) { // 更新本地存储token
38 38
           wx.setStorageSync('token', res.header['X-Authorization-JWT'])
39 39
         }
40 40
         if (res.data.code - 0 === 1001) { // token失效
41
-          wx.navigateTo({url: '../../SignIn/index'})
41
+          wx.login({ // 微信获取code
42
+            success (subRes) {
43
+              wx.request({ // 登录获取token
44
+                url: `https://dev.fangdeal.cn/liyuanhui/wx/login?code=${subRes.code}`,
45
+                method: `post`,
46
+                success: (cRes) => {
47
+                  if (cRes.header['X-Authorization-JWT'] !== undefined) { // 更新本地存储token
48
+                    wx.setStorageSync('token', cRes.header['X-Authorization-JWT'])
49
+                    _that.WxRequest(config) // 获得token之后重新请求接口
50
+                  }
51
+                }
52
+              })
53
+            }
54
+          })
42 55
         }
43
-        if (config.success !== undefined) {
56
+        if (config.success !== undefined && res.data.code - 0 === 1000) {
44 57
           config.success(res)
45 58
         }
59
+        if (config.error !== undefined && res.data.code - 0 !== 1000) {
60
+          config.error(res)
61
+        }
46 62
       },
47 63
       fail: (res) => {
48 64
         if (res.header['X-Authorization-JWT'] !== undefined) { // 更新本地存储token
49 65
           wx.setStorageSync('token', res.header['X-Authorization-JWT'])
50 66
         }
51 67
         if (res.data.code - 0 === 1001) { // token失效
52
-          wx.navigateTo({url: '../../SignIn/index'})
68
+          wx.navigateTo({ url: '../../pages/SignIn/index' })
53 69
         }
54 70
         if (config.error !== undefined) {
55 71
           config.error(res)