鸿蒙6.0+微信8.0.14版本小程序无法登录问题
·
如题:最新版纯血鸿蒙和最新版微信,某些小程序无法登录的问题。
困扰了我一天半
整整一天半!!!
起初定位到的问题是:
“未执行 “getPhoneNumber”的方法”
/**
* 获取手机号授权及登录状态
*/
getPhoneNumber (e) {
const _this = this
if (e.detail.errMsg !== 'getPhoneNumber:ok') return
// 校验微信登录是否过期
wx.checkSession({
success () {
// session_key 未过期
_this.login(e)
},
fail () {
// session_key 已经失效,需要重新执行登录流程
_this.wxLogin(e, _this.login)
}
})
}
因为我的console未执行。后来就加上一个 bindtap="getPhoneNumber"
有反应,但是获取不到e.detail中的code等属性值.....
真的无解了么?
我都想放弃一键登录了!!
这个时候搜到uni论坛里也有同样的问题,大概是这样:

遂按照是刷新的问题,重新走一遍逻辑。
既然是刷新,而且还跳回了首页,那就全局过一遍跳转首页的所有代码。
在app.js中发现这么一段:
onShow (e) {
// 当其它小程序返回本小程序 跳转回到首页
let pathArr = [
'pages-mis/pages/home/home',
'pages/marketing/marketing',
'pages/day-question/day-question'
]
if (e.scene === 1038 && !pathArr.includes(e.path)) {
wx.switchTab({
url: '/pages/home/home'
})
}
},
经控制台console测试,确实是这里,找到问题了。先解决再复盘。
在pathArr中加上'pages/login/login'
问题得到解决。
以上是重点!
原因呢?
微信8.0.14之前的版本都没有问题,新版出了问题,是因为新版返回的 scene确实是1038,正好对上了。
真的只是这样么?
好像不是!
鸿蒙微信8.0.14版本为什么点了“一键登录”后会导致页面刷新?
这个什么逻辑?之前版本是没有的。
有没有大佬知情人解答一下?
更多推荐


所有评论(0)