微信小程序登录需要调用wx.login方法,
wx.login({
success:function(res){
if(res.code){
//记得保存一下jsCode,服务端需要用它换取用户的openid和session_key
_self.loginData.jsCode = res.code;
wx.getUserInfo({
success:function(res){//res里有用户的基础信息
console.log("登录成功");
},
fail:function(res){
console.log(res); //打印错误日志
}
});
}
}
});
以上是基于用户已授权的条件下,登录的过程
如果用户没有授权过的话,wx.getUserInfo会报错:errMsg: "getUserInfo:fail auth deny"
此时就要引导用户点击授权按钮
<button open-type="getUserInfo" @getuserinfo="bindGetUserInfo">授权登录</button>
点击这个按钮会触发弹框,请求用户授权。
在bindGetUserInfo方法内接收并处理授权结果:
bindGetUserInfo:function(e){
if(e.detail.userInfo){
//说明用户授权成功,并且e.detail的数据等同于成功调用wx.getUserInfo的返回
}else{
//提示用户授权失败
}
}
现在登录成功了。