uni-app 微博登录时选择不授权返回后无法再次调用登录授权 且多次调用会导致应用闪退

uni-app 微博登录时选择不授权返回后无法再次调用登录授权 且多次调用会导致应用闪退

操作步骤:

  • 第一次调用微博登录时选择不授权,再次调用无反应,多次调用后应用崩溃闪退

预期结果:

  • 再次通用微博登录正常唤起授权页

实际结果:

  • 再次调用无反应,多次调用后应用崩溃闪退

bug描述:

微博登录时选择不授权,返回后无法再次调用登录授权,并且多次调用后会导致应用闪退
在使用真机模拟,版本3.1.13时无该bug,更新到3.1.18后出现,通过查询更新日志,在3.1.17版本有过一次微博授权sdk更新(附件1)
另外,该问题在2.6.26版本有过一次修复记录(附件2)

信息类别 详情
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win10
HBuilderX类型 正式
HBuilderX版本号 3.1.18
手机系统 Android
手机系统版本号 Android 10
手机厂商 小米
手机机型 mi 10pro
页面类型 vue
打包方式 离线
项目创建方式 HBuilderX

Image Image


更多关于uni-app 微博登录时选择不授权返回后无法再次调用登录授权 且多次调用会导致应用闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

如何操作 选择不授权,我这边尝试复现一下

更多关于uni-app 微博登录时选择不授权返回后无法再次调用登录授权 且多次调用会导致应用闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html


直接物理按键返回或左上角取消

回复 1***@qq.com: 你加我qq 643833712 拍个视频给我看看吧

bug已确认。 稍后版本会修复

bug 已修复

这是一个已知的版本兼容性问题。在3.1.17版本中微博授权SDK更新后,当用户首次选择不授权时,授权状态未能正确重置,导致后续调用无响应。多次重复调用会累积未处理的授权请求,最终引发应用闪退。

建议临时回退到3.1.16版本,或等待官方修复补丁。同时可在代码中加入调用间隔控制,避免短时间内重复触发登录请求:

let isWeiboLogining = false
function weiboLogin() {
    if(isWeiboLogining) return
    isWeiboLogining = true
    
    uni.login({
        provider: 'weibo',
        success: (res) => {
            // 处理成功逻辑
        },
        fail: (err) => {
            console.log('微博登录失败', err)
        },
        complete: () => {
            isWeiboLogining = false
        }
    })
}
回到顶部