第一次对接小程序授权的时候以为能一进入这个项目就要调用获取授权信息,后面写好逻辑之后提交审核,一直审核不通过,后面查了原因之后才发现不能一进入页面就调用授权,而且项目需要个人信息和手机号码两个都要获取,所以我只能分开两个页面写两个点击按钮,要进行微信授权一定要有按钮给用户点击才能掉起微信的授权框
获取用户个人信息
html:
//获取用户个人信息
<button class="btn typography" open-type="getUserInfo" @getuserinfo="miniprogramlogin">微信授权</button>
js: (为了方便我把每个步骤都分了一个方法写~)
miniprogramlogin(e) {
var _this = this;
wx.login({
success(res) {
if (res.code) {
_this.miniprogramcode = res.code;
_this.getUserInfo(e);
} else {
console.log('登录失败!' + res.errMsg);
}
}
});
},
//获取微信个人信息
getUserInfo(e) {
var _this = this;
let params = {
code: this.miniprogramcode };
let data = Api.apiCall('get', Api.weixin.miniprogramlogin, params);//请求后端接口
if (data) {
//这个接口我这边后端会返回两种格式,返回sessionKey是未授权过,所以得判断是否返回的是sessionKey和openid
if (data.sessionKey) {
this.sessionKey = data.sessionKey;
//未授权过直接调用微信API
wx.getUserInfo(