zjxpcyc 6 年之前
父節點
當前提交
4a2bc6053f
共有 5 個檔案被更改,包括 71 行新增31 行删除
  1. 49
    22
      config/api.js
  2. 1
    1
      config/baseUrl.js
  3. 18
    6
      pages/UserCenter/UserInfo/index.js
  4. 1
    1
      pages/UserCenter/UserInfo/index.wxml
  5. 2
    1
      utils/http.js

+ 49
- 22
config/api.js 查看文件

@@ -3,56 +3,83 @@ const BaseAPIURl = require('./baseUrl.js').basePath.BASE_API_URL;
3 3
 const $api = {
4 4
   user: {
5 5
     login: { // 模拟用户登陆
6
-      methods: 'POST',
7
-      url: `${BaseAPIURl}/wx/registered`
6
+      method: 'POST',
7
+      url: `${BaseAPIURl}wx/registered`
8 8
     },
9 9
     info: {
10
-      methods: 'GET',
11
-      url: `${BaseAPIURl}/wx/info/:appid`
10
+      method: 'GET',
11
+      url: `${BaseAPIURl}wx/info/:appid`
12 12
     },
13 13
     getCode: {
14
-      methods: 'GET',
15
-      url: `${BaseAPIURl}/wx/getOpenid`
14
+      method: 'GET',
15
+      url: `${BaseAPIURl}wx/getOpenid`
16 16
     },
17 17
     update: {
18
-      methods: 'PUT',
19
-      url: `${BaseAPIURl}/wx/user`
18
+      method: 'PUT',
19
+      url: `${BaseAPIURl}wx/user`
20 20
     }
21 21
   },
22 22
   banner: {
23 23
     list: {
24
-      methods: 'GET',
25
-      url: `${BaseAPIURl}/wx/banner`
24
+      method: 'GET',
25
+      url: `${BaseAPIURl}wx/banner`
26 26
     }
27 27
   },
28 28
   building: {
29 29
     list: {
30
-      methods: 'GET',
31
-      url: `${BaseAPIURl}/wx/building/list`
30
+      method: 'GET',
31
+      url: `${BaseAPIURl}wx/building/list`
32 32
     },
33 33
   },
34 34
   dynamic: { // 项目
35 35
     list: { // 项目列表
36
-      methods: 'GET',
37
-      url: `${BaseAPIURl}/wx/buildingDynamiceList`
36
+      method: 'GET',
37
+      url: `${BaseAPIURl}wx/buildingDynamiceList`
38 38
     },
39 39
     detail: { // 项目详情
40
-      methods: 'GET',
41
-      url: `${BaseAPIURl}/wx/buildingDynamiceInfo/:id`
40
+      method: 'GET',
41
+      url: `${BaseAPIURl}wx/buildingDynamiceInfo/:id`
42 42
     }
43 43
   },
44 44
   activity: {
45 45
     list: { // 活动列表
46
-      methods: 'GET',
47
-      url: `${BaseAPIURl}/wx/activity`
46
+      method: 'GET',
47
+      url: `${BaseAPIURl}wx/activity`
48 48
     },
49 49
     detail: { // 活动详情
50
-      methods: 'GET',
51
-      url: `${BaseAPIURl}/wx/activity/:id`
50
+      method: 'GET',
51
+      url: `${BaseAPIURl}wx/activity/:id`
52 52
     }
53 53
   },
54 54
 }
55 55
 
56
+const hasKey = (o, k) => Object.keys(o).indexOf(k) > -1
57
+
58
+// 获取 api 支持 a.b.c 字符串格式
59
+function get(k = '') {
60
+  let found = true
61
+  return k.split('.').reduce((acc, key) => {
62
+    if (!found) return acc;
63
+
64
+    if (acc === 0) {
65
+      if (hasKey($api, key)) {
66
+        return $api[key]
67
+      } else {
68
+        found = false
69
+        return {}
70
+      }
71
+    } else {
72
+      if (hasKey(acc, key)) {
73
+        return acc[key]
74
+      } else {
75
+        found = false
76
+        return acc
77
+      }
78
+    }
79
+  }, 0)
80
+}
81
+
56 82
 module.exports = {
57
-  $api: $api
58
-}
83
+  $api: $api,
84
+  get: get,
85
+}

+ 1
- 1
config/baseUrl.js 查看文件

@@ -1,4 +1,4 @@
1 1
 module.exports.basePath = {
2
-  BASE_API_URL: 'https://dev.jinchengjiaye.com/api',
2
+  BASE_API_URL: 'https://dev.jinchengjiaye.com/api/',
3 3
   BASE_IMG_URL: 'https://whole-estate.oss-cn-beijing.aliyuncs.com/',
4 4
 }

+ 18
- 6
pages/UserCenter/UserInfo/index.js 查看文件

@@ -1,12 +1,13 @@
1 1
 import store from '../../../store'
2 2
 import create from '../../../utils/create'
3
+import fetch from '../../../utils/http'
4
+import { get as getApi } from '../../../config/api'
3 5
 
4 6
 const app = getApp()
5 7
 
6 8
 create(store, {
7 9
   data: {
8 10
     UserInfo: app.globalData.UserInfo, // 用户信息
9
-    loadding: false, // 表单验重提交开关
10 11
   },
11 12
   onReady() {
12 13
     wx.setNavigationBarTitle({
@@ -14,13 +15,24 @@ create(store, {
14 15
     })
15 16
   },
16 17
   SaveUserInfo() { // 提交表单数据
17
-    if (!this.data.loadding) {
18
-      this.setData({
19
-        loadding: true
20
-      })
18
+    wx.showLoading({ title: '数据更新, 请稍后...', mask: true })
21 19
 
20
+    fetch({ ...getApi('user.update'), data: this.data.UserInfo }).then((data) => {
21
+      // 同步到 globalData
22
+      this.globalData.UserInfo = { ...this.data.UserInfo }
22 23
 
23
-    }
24
+      wx.hideLoading()
25
+      wx.showToast({
26
+        title: '更新成功',
27
+        icon: 'success',
28
+      })
29
+    }).catch(() => {
30
+      wx.hideLoading()
31
+      wx.showToast({
32
+        title: '更新失败',
33
+        icon: 'error',
34
+      })
35
+    })
24 36
   },
25 37
   FormInput(e) { // 表单输入数据绑定
26 38
     const key = e.target.dataset.name

+ 1
- 1
pages/UserCenter/UserInfo/index.wxml 查看文件

@@ -29,7 +29,7 @@
29 29
       </view>
30 30
     </view>
31 31
   </view>
32
-  <view class="btn {{ !loadding && 'active' }}" bindtap="SaveUserInfo">
32
+  <view class="btn active" bindtap="SaveUserInfo">
33 33
     <text>保存</text>
34 34
   </view>
35 35
 </view>

+ 2
- 1
utils/http.js 查看文件

@@ -1,4 +1,4 @@
1
-const apiCode = require('../config/code.js').apiCode;
1
+import { apiCode } from '../config/code'
2 2
 
3 3
 export default (config = {}) => {
4 4
   return new Promise((resolve, reject) => {
@@ -9,6 +9,7 @@ export default (config = {}) => {
9 9
         ...config.data
10 10
       },
11 11
       success(res) {
12
+        console.log(res, apiCode)
12 13
         if (res.statusCode && res.statusCode === apiCode.success) {
13 14
           resolve(res.data)
14 15
         } else {