微信用户授权,新老版本兼容的处理方法
发布于 2018-06-12 15:06:20
3343 次浏览
getUserInfo(left,bottom) {
return new Promise((resolve, reject) => {
let sysInfo = wx.getSystemInfoSync();
let sdkVersion = sysInfo.SDKVersion;
sdkVersion = sdkVersion.replace(/\./g, "");
sdkVersion = sdkVersion.substr(0, 3);
let sdkVersionNum = parseInt(sdkVersion);
console.log("platform获取用户授权:", sdkVersionNum);
if (sdkVersionNum >= 201) {
var button = wx.createUserInfoButton({
type: 'image',
text: '微信授权',
image: "resource/assets_game/main/button_wx_getuserinfo.png",
style: {
left: left,
bottom: bottom,
width: 183,
height: 62,
lineHeight: 40,
backgroundColor: '#ff0000',
color: '#ffffff',
textAlign: 'center',
fontSize: 16,
borderRadius: 4
}
});
button.onTap((res) => {
console.log("用户授权:", res);
var userInfo = res.userInfo;
var nickName = userInfo.nickName;
var avatarUrl = userInfo.avatarUrl;
var gender = userInfo.gender; //性别 0:未知、1:男、2:女
var province = userInfo.province;
var city = userInfo.city;
var country = userInfo.country;
button.destroy();
resolve(userInfo);
});
}else {
wx.getUserInfo({
withCredentials: true,
success: res => {
var userInfo = res.userInfo;
var nickName = userInfo.nickName;
var avatarUrl = userInfo.avatarUrl;
var gender = userInfo.gender; //性别 0:未知、1:男、2:女
var province = userInfo.province;
var city = userInfo.city;
var country = userInfo.country;
resolve(userInfo);
},
fail: res => {
wx.showModal({
title: '友情提醒',
content: '请允许微信获得授权!',
confirmText: "授权",
showCancel: false,
success: res => {
resolve(null);
}
});
}
});
}
});
}
嗯,外面加一个while(true) 循环,判断是否已授权