0


uniapp获取手机号(详细教程附代码)

uniapp获取手机号(详细教程附代码)

个人小程序不能使用这个功能,必须是企业小程序,如果没权限那就是没有完成微信的认证,必须先去认证。

一、获取code

在这里插入图片描述
代码如下:

uni.login({provider:'weixin',success:res=>{this.code = res.code
    }});

二、通过code获取获取openId 和 session_key

在这里插入图片描述

代码如下:

uni.request({url:'https://api.weixin.qq.com/sns/jscode2session',method:'GET',data:{appid:'xxx',//你的小程序的APPID  secret:'xxx',//你的小程序的secret,  js_code:this.code,//wx.login 登录成功后的code  grant_type:'authorization_code',},success:(cts)=>{// 换取成功后 暂存这些数据 留作后续操作  this.openId=cts.data.openid               //openid 用户唯一标识  this.unionid=cts.data.unionid             //unionid 开放平台唯一标识   当公众号和小程序同时登录过才会有this.session_key=cts.data.session_key     //session_key  会话密钥  
        console.log(cts)
        console.log(this.openId,this.session_key)}})

三、让用户授权(同意后需要对数据解密)

注意:必须用button 设置为 open-type=“getPhoneNumber”
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">唤起授权手机号</button>

在这里插入图片描述

代码如下:

getPhoneNumber(e){
        console.log(e.detail.errMsg)// 判断用户是否允许获取手机号
        console.log(e);let pc =newWXBizDataCrypt('appid',this.session_key);let data = pc.decryptData(e.detail.encryptedData,e.detail.iv);  
        console.log(data)//data就是最终解密的用户信息  },

其中解密需要文件: 在这里插入图片描述

import WXBizDataCrypt from'../../utils/WXBizDataCrypt.js'

下载地址:服务端获取开放数据 | 微信开放文档 (qq.com)

最终点击Button时 :

在这里插入图片描述


本文转载自: https://blog.csdn.net/qq_58648235/article/details/126646549
版权归原作者 无·糖 所有, 如有侵权,请联系我们删除。

“uniapp获取手机号(详细教程附代码)”的评论:

还没有评论