当前位置:   article > 正文

微信小程序实现获取用户手机号getPhoneNumber详细操作步骤_getphonenumber:ok

getphonenumber:ok

步骤如下:
(1)小程序端调用 wx.login方法获取用户登录凭证code,将code发送给小程序后台服务器;服务器调用登录凭证校验接口(需要传参appid+appsecret+code),进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等,将这些信息存入缓存中。

// 官方实例如下:
wx.login({
  success (res) {
    if (res.code) {
      //发起网络请求
      wx.request({
        url: 'https://test.com/onLogin',
        data: {
          code: res.code
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

注意
session_key会失效哦,多长时间失效微信不告诉你,可以通过wx.checkSession()方法校验用户当前session_key是否有效。

// 官方实例如下:
wx.checkSession({
  success: function(){
    //session_key 未过期,并且在本生命周期一直有效
  },
  fail: function(){
    // session_key 已经失效,需要重新执行登录流程
    wx.login() //重新登录
    ....
  }
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

注意
现在微信很注重用户体验,getPhoneNumber方法需要用户主动去触发才能调用的

wxml代码片.

// 官方实例如下:
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">授权获取</button>
  • 1
  • 2

js代码片

// 官方实例如下:
   getPhoneNumber: function (e) {
        console.log(e.detail.errMsg)
        console.log(e.detail.iv)
        console.log(e.detail.encryptedData)
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

打印数据 console.log(e):.
在这里插入图片描述

通过getPhoneNumber可以获取encryptedData,iv参数

注意
sessionKey不建议服务器返回给小程序端做逻辑处理,这里只做getPhoneNumber方法的讲解

 getPhoneNumber: function (e) {
        console.log(e.detail.errMsg)
        //授权后的处理
        if (e.detail.errMsg == "getPhoneNumber:ok") {
            //用户信息
            let params = {
                encrypdata:e.detail.encryptedData,
                ivdata: e.detail.iv,
                sessionkey:this.data.userInfo.sessionKey
            }
            console.log('参数', params)
            //后端获取参数进行解密
            Api.getPhoneNumber(params).then(datas => {
                console.log('手机号码',res)
            })
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

打印返回结果 console.log(result):.
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/284561
推荐阅读
  

闽ICP备14008679号