egret编写的小游戏,在web模式下调试正常,但是换到wxgame模式下进行调试后,界面加载完毕一直黑屏。
经过排查,发现是调取获取用户信息的方法不正确导致,新版的小程序更改了获取用户的方式不能再通过wx.getUserInfo()来获取了。注释掉login和getUserInfo就可以了。
await platform.login();
const userInfo = await platform.getUserInfo();
/**
* 请在白鹭引擎的Main.ts中调用 platform.login() 方法调用至此处。
*/
class Platform {
name = 'wxgame'
login() {
return new Promise((resolve, reject) => {
// resolve();
wx.login({
success: (res) => {
resolve(res)
},
error:() =>{
resolve(null);
}
})
})
}
getUserInfo() {
return new Promise((resolve, reject) => {
// resolve();
wx.getUserInfo({
withCredentials: true,
success: function (res) {
const userInfo = res.userInfo
const nickName = userInfo.nickName
const avatarUrl = userInfo.avatarUrl
const gender = userInfo.gender //性别 0:未知、1:男、2:女
const province = userInfo.province
const city = userInfo.city
const country = userInfo.country
resolve(userInfo);
},
error:() =>{
resolve(null);
}
})
})
}
}