drew 5 jaren geleden
bovenliggende
commit
eef3d20cce
3 gewijzigde bestanden met toevoegingen van 58 en 17 verwijderingen
  1. 34 2
      src/pages/home.vue
  2. 23 15
      src/pages/realName.vue
  3. 1 0
      src/store/index.js

+ 34 - 2
src/pages/home.vue

@@ -65,7 +65,15 @@
                     <span class="num">10元/副/小时</span>
                 </div>
             </div>
-            <van-button type="primary" block @click="submit">提交订单</van-button>
+            <van-button
+                type="primary"
+                block
+                open-type="getPhoneNumber"
+                @getphonenumber="onGetPhoneNumber"
+                @error="onError"
+            >
+                提交订单
+            </van-button>
         </div>
 
         <van-dialog
@@ -228,6 +236,30 @@ export default {
         submit() {
             this.showGetUserInfoDialog = true;
         },
+        onGetPhoneNumber(res) {
+            wx.showLoading({
+                title: '加载中',
+                mask: true
+            });
+            this.$http
+                .post('/user/getMaPhone', {
+                    ...res.detail,
+                    sessionKey: this.$store.state.sessionKey
+                })
+                .then(res => {
+                    wx.hideLoading();
+                })
+                .catch(e => {
+                    wx.hideLoading();
+                    wx.showToast({
+                        title: e.error || '失败',
+                        icon: 'none'
+                    });
+                });
+        },
+        onError(e) {
+            console.log(e);
+        },
         getUserInfo(res) {
             console.log(res);
             wx.showLoading({
@@ -291,7 +323,7 @@ export default {
                     console.log(e);
                     this.status = 'fail';
                     wx.hideLoading();
-                    if (/auth deny/.test(e.errMsg)) {
+                    if (/(auth deny)|(authorize no response)/.test(e.errMsg)) {
                         this.showLocationDialog = true;
                     }
                 }

+ 23 - 15
src/pages/realName.vue

@@ -17,8 +17,8 @@
     <div v-else-if="step === 1" class="form">
         <div class="title">填写姓名与身份证号</div>
         <van-cell-group>
-            <van-field label="姓名" placeholder="请输入姓名" :value="name" @input="name = $event.detail" />
-            <van-field label="身份证" placeholder="请输入身份证" :value="idNo" @input="idNo = $event.detail" />
+            <van-field label="姓名" placeholder="请输入姓名" @input="name = $event.detail" />
+            <van-field label="身份证" placeholder="请输入身份证" @input="idNo = $event.detail" />
         </van-cell-group>
         <div style="padding: 30px">
             <van-button type="primary" class="btn" round block @click="checkName">下一步</van-button>
@@ -100,22 +100,30 @@ export default {
             name: '',
             idNo: '',
             photo: '',
-            resultData: null
+            resultData: null,
+            init: false
         };
     },
     created() {
-        authUtil.initProduct(membershipKey, res => {
-            console.log(res);
-            if (res.code !== '0') {
-                wx.showToast({
-                    icon: 'none',
-                    title: res.message
-                });
-            } else {
-                apiKey = res.data.apiKey;
-                apiSecret = res.data.apiSecret;
-            }
-        });
+        if (!this.init) {
+            wx.showLoading({
+                title: '初始化中'
+            });
+            authUtil.initProduct(membershipKey, res => {
+                console.log(res);
+                wx.hideLoading();
+                if (res.code !== '0') {
+                    wx.showToast({
+                        icon: 'none',
+                        title: res.message
+                    });
+                } else {
+                    this.init = true;
+                    apiKey = res.data.apiKey;
+                    apiSecret = res.data.apiSecret;
+                }
+            });
+        }
     },
     computed: {
         nameMask() {

+ 1 - 0
src/store/index.js

@@ -24,6 +24,7 @@ export default new Vuex.Store({
     actions: {
         getUserInfo(context) {
             http.http.get('/user/my').then(res => {
+                console.log(res);
                 context.commit('setUserInfo', res);
             });
         }