微信小程序获取手机号流程

时间:2019-09-22
本文章向大家介绍微信小程序获取手机号流程,主要包括微信小程序获取手机号流程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

小程序中获取手机号前提


小程序需企业认证,才可以获取用户的手机号,个人开发者是不能获取的

哔哔下


官方文档给出需先登录才可获取手机号 传送门
思路为:login登录获取code-->code传给后台-->后台根据code获取sessionKey
前台通过触发获取手机号事件得到加密数据-->传给后台,后台通过之前获取的
sessionKey来解密,并将数据返回给前台

注意项

code传给后台时后台需去访问官网给的接口去检验 传送门

撸码

  getPhoneNumber: function (e) {
    let _this = this;
    if (e.detail.errMsg == "getPhoneNumber:ok") {
      //校验是否过期
      wx.checkSession({
        success: function () {
          // session_key 未过期,并且在本生命周期一直有效
          _this.gettel(e);//获取手机号
        },
        fail: function () {
          // session_key 已经失效,需要重新执行登录流程
          wx.login({
            success: function (res) {
              wx.request({
                url: 'xxxxxx',
                method: 'post',
                data: {
                  code: res.code
                },
                header: {
                  'Content-Type': 'application/x-www-form-urlencoded'
                },
                success: function (r) {
                  _this.gettel(e);//获取手机号
                },
                fail: function (err) {
                  console.log("登录失败");
                  console.log(err);
                }
              })
            }
          })
        }
      })
    } else {
      wx.showModal({
        title: '提示',
        content: '需获取信息才可查看历史预约',
      })
    }
  },
  gettel: function (e) {
    let _this = this;
    let iv = e.detail.iv;
    let encryptedData = e.detail.encryptedData;
    wx.request({
      url: 'xxxxxxxxxxxxxxxx',
      method: 'post',
      data: {
        iv: iv,
        encryptedData: encryptedData
      },
      header: {
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      success: function (res) {
        console.log(res);//手机号在这里面哦
        <!--let item = JSON.parse(res.data.data);-->
      },
      fail: function (err) {
        console.log(err);
      }
    })
  }

在哔哔下

wx.login首次登录我写在需要获取手机号时的page中onload事件中
因为login返回的code有时效,所以在需要的时候在调用

原文地址:https://www.cnblogs.com/chendada/p/11567585.html