微信小程序登录与电话获取流程

这两天实验室需要紧急开发采购微信小程序,虽然我不会,但是看过一点教程就上车了。

今天实现小程序登录与电话获取,流程如下:首先wx.login(获取到code) --> 通过auth.code2Session接入参code等属性(获取openid等,一般在服务器端调用确保安全,但是前端也可以直接调用) -->使用button的open-type属性赋值“getPhoneNumber”来获取电话(加密的) -->传给后台进行解密(微信提供了解密demo)

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>

  

// 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        if (res.code) {
          //发起网络请求
          console.log(res)
          var code = res.code
          wx.request({      
            url:'https://api.weixin.qq.com/sns/jscode2session?appid=*****&secret=*****&js_code='+code+'&grant_type=authorization_code',
            // method: "post",
          
            success (res) {
               console.log(res);
              //  that.setData(res.data);
             }
          })
        } else {
          console.log('获取用户登录态失败!' + res.errMsg)
        }

      }
    })
// 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
            success: res => {
      //
              }
            }
          })
        }
      }
    })
//获取电话
  getPhoneNumber: function (e) {
    console.log(e.detail.errMsg)
    console.log(e.detail.iv)
    console.log(e.detail.encryptedData)
    if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
      wx.showModal({
        title: '提示',
        showCancel: false,
        content: '未授权',
        success: function (res) { }
      })
    } else {
      wx.showModal({
        title: '提示',
        showCancel: false,
        content: '同意授权',
        success: function (res) { }
      })
    }
  },

  

猜你喜欢

转载自www.cnblogs.com/lian-dong/p/12326127.html