uniapp获取手机号(详细教程附代码)
短信预约 -IT技能 免费直播动态提醒
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”
代码如下:
getPhoneNumber(e){console.log(e.detail.errMsg) // 判断用户是否允许获取手机号console.log(e);let pc = new WXBizDataCrypt('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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341