Quellcode durchsuchen

更新 获取手机号openid逻辑

wzh vor 3 Jahren
Ursprung
Commit
b79e46dd85

+ 4 - 2
miniprogram/app.js

@@ -1,8 +1,9 @@
 import {
-  wxSetSessionKey
+  getOpenId
 } from "./utils/wxUtils"
 App({
   onLaunch: function () {
+    getOpenId()
     const updateManager = wx.getUpdateManager()
 
     updateManager.onCheckForUpdate(function (res) {
@@ -38,6 +39,7 @@ App({
   checkEnvVersion() {
     let v = wx.getAccountInfoSync()
     let appVersion = wx.getStorageSync('appVersion')
+    let openId = wx.getStorageSync('openId')
     let {
       envVersion
     } = v.miniProgram
@@ -45,9 +47,9 @@ App({
       wx.clearStorage({
         success: (res) => {
           wx.setStorageSync('appVersion', envVersion)
+          wx.setStorageSync('openId', openId)
         },
       })
     }
-    wxSetSessionKey()
   }
 })

+ 7 - 17
miniprogram/components/getPhoneButton/getPhoneButton.js

@@ -1,11 +1,7 @@
 // components/getPhoneButton/getPhoneButton.js
-import {
-  wxSetSessionKey
-} from "../../utils/wxUtils"
 import {
   postApi
 } from "../../apis/api"
-import cloudApi from "../../apis/cloudApi"
 Component({
   /**
    * 组件的属性列表
@@ -14,29 +10,24 @@ Component({
     style: String,
     type: String
   },
-  data: {
-
-  },
+  data: {},
   methods: {
     async getPhoneNumber(e) {
       try {
         if (e.detail.errMsg == "getPhoneNumber:ok") {
-          let session_key = wx.getStorageSync('session_key')
-          let {
-            result
-          } = await cloudApi("getWxPhoneNumber", {
-            ...e.detail,
-            session_key
-          })
+          let res1 = await postApi("/wx/getPhoneNumber", {
+            code: e.detail.code,
+          });
           let {
-            phone,
-          } = result
+            phoneNumber: phone
+          } = res1.data.result
           let res = await postApi("/user/wx/login", {
             openId: wx.getStorageSync('openId'),
             phone
           })
           this.triggerEvent('loginEvent', res)
         } else {
+          console.log(e)
           wx.showToast({
             title: '请授权以登录',
             icon: "error"
@@ -44,7 +35,6 @@ Component({
         }
       } catch (error) {
         console.log(error)
-        wxSetSessionKey()
         wx.showToast({
           icon: "none",
           title: '请重试或联系管理员',

+ 13 - 2
miniprogram/utils/wxUtils.js

@@ -1,3 +1,6 @@
+import {
+  postApi
+} from "../apis/api"
 import cloudApi from "../apis/cloudApi"
 
 function wxSetSessionKey() {
@@ -44,8 +47,16 @@ function getUserProfile() {
 
 function getOpenId() {
   return new Promise(async (resolve, reject) => {
-    let res1 = await cloudApi('getOpenId')
-    resolve(res1.result.openId)
+    wx.login({
+      success: async e => {
+        let res1 = await postApi('/wx/getOpenId', {
+          code: e.code
+        })
+        wx.setStorageSync('openId', res1.data.result)
+        resolve(res1.data.result)
+      }
+    })
+
   })
 
 }

+ 1 - 1
project.private.config.json

@@ -41,7 +41,7 @@
     }
   },
   "setting": {
-    "urlCheck": false,
+    "urlCheck": true,
     "coverView": true,
     "compileHotReLoad": false,
     "lazyloadPlaceholderEnable": false,