微信小程序授权手机号(不需要先授权用户信息)
废话不多说,直接上代码,下面是小程序的前端显示
<view> <view> <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">直接授权手机号码登陆</button> </view> </view>
下面是小程序 .js的演示,代码中的core.post和core.get,请替换成自己的请求函数
var app = getApp(),core = app.requirejs("core"); Page({ /** * 页面的初始数据 */ data: { }, getPhoneNumber: function(e) { if( e.detail.errMsg === 'getPhoneNumber:fail user deny' ) return false; console.log(e); //首先需要登陆 wx.login({ success:function(res){ console.log(res); //这里登陆需要在后台处理登陆后的信息,成功后需要返回openid,session_key这些信息 core.post('dcr163/login',{code:res.code},function(res2){ if( res2.error ) { core.alert("获取用户登录态失败:" + res2.message); return; } //授权手机号解密,根据返回openid,session_key的这些信息再解密小程序的手机号码,小程序不能同时获取用户的信息和手机号,所以头像这些必须另外做按钮授权了 core.get("dcr163/auth", { data: e.detail.encryptedData, iv: e.detail.iv, openid:res.openid, unionid:res.unionid?res.unionid:'', sessionKey: res2.session_key, auth:'mobile' },function(res3){ console.log(res); }); }) }, fail:function(){ }, complete:function(){ } }) }, })
Dcr163的博客
http://dcr163.cn/241.html(转载时请注明本文出处及文章链接)