7***@qq.com
7***@qq.com
  • 发布:2020-08-03 14:49
  • 更新:2020-08-04 15:33
  • 阅读:525

【报Bug】2-7-14基座,v3模式下使用setStorageSync存储的字符,在谷歌浏览器中的格式为字符,而在2-3-7基座中的数据格式为JSON字符串

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window 10 专业版

HBuilderX类型: 正式

HBuilderX版本号: 2.7.14

浏览器平台: Chrome

浏览器版本: 版本 84.0.4147.105(正式版本) (64 位)

项目创建方式: HBuilderX

示例代码:

2-3-7

uni.setStorageSync('typeTit', title);

2-7-14

uni.setStorageSync('typeTit', title);

操作步骤:

2-3-7基座中,使用setStorageSync存储一个字符
2-7-14基座中,使用setStorageSync存储一个字符

预期结果:

2-3-7基座中,存储结构为JSON字符串
2-7-14基座中,存储结构为JSON字符串

实际结果:

2-3-7基座中,存储结构为JSON字符串
2-7-14基座中,存储结构为字符

bug描述:

uni-app发行的H5,在2-3-7基座中,使用setStorageSync存储一个字符,在谷歌浏览器的存储格式为JSON字符串。但是在2-7-14中(开启v3),存储的格式为一个字符。

2020-08-03 14:49 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

使用 uni.getStorageSync 获取是否正常,出于什么需要对框架内部格式有要求?

7***@qq.com

7***@qq.com (作者)

之前线上项目是2-3-7的,在vue页面通过uni.setStorageSync()存储了一个值,然后在项目的static文件夹下面写了一个html文件(这个页面是在项目里面通过web-view方式访问的,引入了UniAppJSBridgeReady),我在这个html文件里面需要拿我刚刚存储的那个值(uni.getStorageSync 这个时候不可用),所以我通过JSON.parse(localStorage.getItem(""))这种js的方法来获取。

但是升级了基座(2-7-14)之后,调用同样的存储方法,在浏览器存储的格式却变成了字符,所以JSON.parse(localStorage.getItem(""))这个方法就报错了。

其实解决起来很简单,只是反映一下这个小问题。另外,官方没有统一存储的格式吗,我看有的是字符,有的是JSON,都有点混了。

该问题目前已经被锁定, 无法添加新回复