微信小程序授权手机号(不需要先授权用户信息)
废话不多说,直接上代码,下面是小程序的前端显示
<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(转载时请注明本文出处及文章链接)
