同样的代码,在两个手机上表现不一致,但是都不能正常使用:
- 红米k20pro(安卓10,微信双开)选中微信后,调用 uni.app,但是不走任何回调,打印信息停在“执行登录”,该表现与论坛中的一个 bug 反馈一致 ==>【报Bug】uni.login 安卓真机测试不走任何回调 ios正常
- 小米6(安卓9,单个微信),调用 uni.app,走 fail 回调,打印信息如图。
代码如下:
function wechatAppLogin(ctx) {
console.log('===>app 授权登录');
return new Promise((resolve, reject) => {
console.log('执行登录');
uni.login({
provider: 'weixin',
scopes: 'auth_user',
timeout: '60000',
async success(res) {
console.log('==>app 登录成功:');
console.log(res);
const {openid, access_token} = res.authResult;
ctx.addState({
openId: openid
})
try {
const loginCustomer = await getLoginCustomer()
ctx.addState({
user: loginCustomer
})
} catch (e) {
// uni.switchTab({
// url:'/pages/order/index'
// })
uni.redirectTo({
url: '/pages/chooseRole/chooseRole'
})
}
resolve(res)
},
fail(error) {
console.log('==>app 登录失败:');
console.log(error);
reject(error)
},
complete(e) {
console.log('==>app 登录流程结束:');
console.log(e);
}
})
})
}