uni.login({
provider: 'univerify',
univerifyStyle: { // 自定义登录框样式
"fullScreen": false, // 是否全屏显示,默认值: false
},
success(res){
// {openid:'登录授权唯一标识',access_token:'接口返回的 token'}
console.log(res);
uni.$store.dispatch('LoginAppMobile', {
openid: res.authResult.openid,
access_token: res.authResult.access_token
})
.then(result => {
console.log("loginAppMobile dispatch:", result)
// 显示登录成功
app.$toast(result.message)
// 相应全局事件订阅: 刷新上级页面数据
uni.$emit('syncRefresh', true)
// 跳转回原页面
uni.closeAuthView() // 这里无效
})
.catch(err => {
const resultData = err.result.data
// 显示错误信息
if (isEmpty(resultData)) {
app.$toast(err.result.message)
}
// 跳转回原页面
if (resultData.isBack) {
setTimeout(() => uni.closeAuthView(), 1000)
}
})
},
fail(res){ // 登录失败
console.log(res.errCode)
console.log(res.errMsg)
if (res.errCode != 30003 && res.errCode != 30006) {
uni.navigateTo({
url: "/pages/login/index"
})
}
uni.closeAuthView()
}
})
- 发布:2023-09-25 15:15
- 更新:2023-09-25 15:18
- 阅读:290
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.8.12
手机系统: Android
手机系统版本号: Android 10
手机厂商: vivo
手机机型: X21
页面类型: vue
vue版本: vue2
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
点登陆,弹出登录框,一键登陆获取appid然后请求server获取手机号并登陆成功返回token。调用uni.closeAuthView()
点登陆,弹出登录框,一键登陆获取appid然后请求server获取手机号并登陆成功返回token。调用uni.closeAuthView()
预期结果:
弹窗关闭
弹窗关闭
实际结果:
当前登陆弹窗没关闭。
当前登陆弹窗没关闭。
bug描述:
一键登陆弹窗弹出来之后登陆成功,调用uni.closeAuthView()没反应,不会关闭当前弹窗。uni.navigateBack()也没反应。按钮上的菊花loading一直转。只能手动关闭。
1 个回复
2***@qq.com (作者)
已解决,app.$toast(result.message) 这据注释掉就好了,没抛异常,但应该是执行到这出问题了,导致没往下执行。