uni-app 离线模式下一键登录有bug

uni-app 离线模式下一键登录有bug

产品分类:

uniapp/App

PC开发环境操作系统:

Windows

PC开发环境操作系统版本号:

11

HBuilderX类型:

正式

HBuilderX版本号:

3.4.7

手机系统:

Android

手机系统版本号:

Android 11

手机厂商:

小米

手机机型:

node 11

页面类型:

vue

vue版本:

vue2

打包方式:

离线

项目创建方式:

HBuilderX

示例代码:

用hbuilder直接运行是可以一键登录的,离线打包后之前正常,更新了一下sdk版本之后,报如下错误
Activity com.g.gysdk.view.ELoginActivity has leaked window DecorView@ba992ce[ELoginActivity] that was originally added here
明显gysdk这个sdk的错误,这个gysdk也是一键登录的sdk

操作步骤:

用hbuilder直接运行是可以一键登录的,离线打包后之前正常,更新了一下sdk版本之后,报如下错误
Activity com.g.gysdk.view.ELoginActivity has leaked window DecorView@ba992ce[ELoginActivity] that was originally added here
明显gysdk这个sdk的错误,这个gysdk也是一键登录的sdk

预期结果:

用hbuilder直接运行是可以一键登录的,离线打包后之前正常,更新了一下sdk版本之后,报如下错误
Activity com.g.gysdk.view.ELoginActivity has leaked window DecorView@ba992ce[ELoginActivity] that was originally added here
明显gysdk这个sdk的错误,这个gysdk也是一键登录的sdk

实际结果:

用hbuilder直接运行是可以一键登录的,离线打包后之前正常,更新了一下sdk版本之后,报如下错误
Activity com.g.gysdk.view.ELoginActivity has leaked window DecorView@ba992ce[ELoginActivity] that was originally added here
明显gysdk这个sdk的错误,这个gysdk也是一键登录的sdk

bug描述:

用hbuilder直接运行是可以一键登录的,离线打包后之前正常,更新了一下sdk版本之后,报如下错误
Activity com.g.gysdk.view.ELoginActivity has leaked window DecorView@ba992ce[ELoginActivity] that was originally added here
明显gysdk这个sdk的错误,这个gysdk也是一键登录的sdk

示例图片


更多关于uni-app 离线模式下一键登录有bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

你的意思是 新版本离线打包后有这个bug?
你从哪个版本更新到哪个版本引起的。 更新的时候 更新了那几个aar?
用离线sdk 自带的示例有问题嘛

更多关于uni-app 离线模式下一键登录有bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html


就是离线报错,gysdk 用hbuilder直接运行是可以一键登录的,离线打包后之前正常,更新了一下sdk版本之后,报如下错误 Activity com.g.gysdk.view.ELoginActivity has leaked window DecorView@ba992ce[ELoginActivity] that was originally added here

能给个什么建议么?

好几天了,一直卡在这里

在使用 uni-app 开发应用时,如果遇到离线模式下的一键登录功能出现 Bug,可以参考以下步骤进行排查和解决:


1. 确认问题现象

  • 描述 Bug 的具体表现:例如,是否无法触发登录、界面卡死、报错信息等。
  • 确认是否仅在离线模式下出现问题,还是在线模式下也有类似问题。

2. 检查网络状态检测

  • 在离线模式下,应用需要检测设备的网络状态。
  • 使用 uni.getNetworkTypeuni.onNetworkStatusChange 监听网络状态。
  • 确保在离线模式下正确处理网络不可用的情况。
uni.getNetworkType({
  success: (res) => {
    if (res.networkType === 'none') {
      console.log('当前处于离线模式');
      // 提示用户网络不可用
      uni.showToast({
        title: '网络不可用,请检查网络连接',
        icon: 'none'
      });
    }
  }
});

3. 一键登录逻辑处理

  • 检查一键登录的逻辑是否依赖网络请求。
  • 在离线模式下,避免直接调用需要网络支持的 API。
  • 可以使用本地缓存(如 uni.setStorage)保存用户信息,以便在离线模式下使用。
// 示例:检查网络状态后决定是否执行登录
uni.getNetworkType({
  success: (res) => {
    if (res.networkType === 'none') {
      // 离线模式,使用本地缓存
      const userInfo = uni.getStorageSync('userInfo');
      if (userInfo) {
        console.log('使用本地缓存登录', userInfo);
      } else {
        uni.showToast({
          title: '网络不可用,无法登录',
          icon: 'none'
        });
      }
    } else {
      // 在线模式,执行一键登录
      this.performLogin();
    }
  }
});

4. 错误处理与提示

  • 在离线模式下,如果用户尝试一键登录,需要给出明确的提示。
  • 使用 uni.showToastuni.showModal 提示用户无法登录的原因。
uni.showModal({
  title: '提示',
  content: '当前网络不可用,请检查网络连接后重试',
  showCancel: false
});
回到顶部