代码写在生成的项目文件夹(XXX_wxgame)底下的platform.js文件中
创建微信授权代码:
getUserInfo() {
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);
let btWidth = 110;
let btHeight = 50;
let left = (sysInfo.windowWidth - btWidth) / 2;
let top = sysInfo.windowHeight * 0.7;
//判断用户是否授权过
wx.getSetting({
success(res) {
if (sdkVersionNum >= 201 && !res.authSetting['scope.userInfo']) {
var button = wx.createUserInfoButton({
type: 'image',
image: 'resource/assets/commonBtn.png',
style: {
left: left,
top: top,
width: btWidth,
height: btHeight
}
});
button.show();
button.onTap((res) => {
if (res.userInfo) {
var userInfo = res.userInfo;
wx.login({
success: (res) => {
if (res.errMsg == "login:ok") {
//授权后的操作
}
resolve(res)
}
})
button.destroy();
login();
resolve(userInfo);
} else {
wx.showModal({
title: '友情提醒',
content: '请允许微信获得授权!',
confirmText: "返回授权",
showCancel: false,
success: res => {
resolve(null);
}
});
}
});
} else {
wx.getUserInfo({
withCredentials: true,
success: res => {
var userInfo = res.userInfo;
wx.login({
success: (res) => {
if (res.errMsg == "login:ok") {
//授权后的操作
}
resolve(res)
}
})
resolve(userInfo);
},
fail: res => {
wx.showModal({
title: '友情提醒',
content: '请允许微信获得授权!',
confirmText: "返回授权",
showCancel: false,
success: res => {
button.show();
resolve(null);
}
});
}
});
}
}
})
});
}