冬至D
冬至D
  • 发布:2023-01-13 08:54
  • 更新:2023-01-17 17:51
  • 阅读:392

【报Bug】uni.setStorage 退出app后(或结束app进程),在次进入获取不到设置的值

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.17

手机系统: Android

手机系统版本号: Android 12

手机厂商: OPPO

手机机型: 真我gt neo3 150w

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://linyimart.com/sc.apk

示例代码:
onLoad() {  
    var tel = uni.getStorageSync('tel')  
},  
methods: {  
login(e){  
var tel = uni.setStorageSync('tel','123456')  
}  
}

操作步骤:
onLoad() {  
    var tel = uni.getStorageSync('tel')  
},  
methods: {  
login(e){  
var tel = uni.setStorageSync('tel','123456')  
}  
}

预期结果:

预期在结束完app进程后,再次进入app页面onload的时候会获取到tel的值

实际结果:

实际上结束完app进程后打开app就没有值了

bug描述:

onLoad() {  
    var tel = uni.getStorageSync('tel')  
},  
methods: {  
login(e){  
var tel = uni.setStorageSync('tel','123456')  
}  
}

在第一次登录的方法设置数据缓存tel,结束app进程或两次返回退出app回到手机主页面后,再次打开app,进入当前页面用uni.getStorageSync('tel')是获取不到login方法中已经设置过的tel,我又尝试用sqlite写到本地数据库,发现退出app,再次进入获取数据的表也是空的(可能是我还不会用sqlite吧),但是我看数据缓存最下面写的是这个: App端为原生的plus.storage,无大小限制,不是缓存,是持久化的,持久化的话获取不到,应该是bug

2023-01-13 08:54 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

3.6.17 测试正常,请检查代码逻辑
如确认框架问题,提供测试工程

  • 冬至D (作者)

    3.6.17有没有问题现在不清楚,因为我升级到3.6.18了,目前测试发现是没有问题一切正常

    2023-01-28 16:16

  • 冬至D (作者)

    感谢您的回复,辛苦了

    2023-01-28 16:18

冬至D

冬至D (作者)

sqlite是我的问题,忘记检查数据库开启了,但是缓存的问题还是有的,我记得前年用缓存,两次返回,回到手机桌面,在进入app是缓存是可以直接获取历史的

  • 蜗牛小弟

    是的 、我也遇到这个问题了。然后我把项目升级到vue3之后这个问题解决了。不过vue3又有其他bug

    2023-01-14 02:43

  • 冬至D (作者)

    回复 1***@qq.com: 现在用的vue2,升级vue3需要时间老板不同意,直接自闭

    2023-01-16 10:05

  • 冬至D (作者)

    回复 1***@qq.com: 现在我重新打包测试是正常的

    2023-01-28 16:17

要回复问题请先登录注册