收藏
回答

微信小程序体验版与正式版缓存共用问题?

如:体验版本地存储一个名为‘Storage1’的数据wx.setStorageSync('Storage1', 1)

体验版可以获取到wx.getStorageSync('Storage1')的值1;

正常逻辑而言正式版是获取不到的才对,但正式版也能获取到wx.getStorageSync('Storage1')的值1,这就对我的项目来说是有问题的,怎么解决小程序缓存共用问题?

回答关注问题邀请回答
收藏

4 个回答

  • 拾柒
    拾柒
    2022-05-12

    wx.getAccountInfoSync()

    通过这个来区分,存和储加前缀命名 d_Storage1 t_Storage1 r_Storage1

    2022-05-12
    有用 1
    回复 3
    • 咖啡不加糖
      咖啡不加糖
      2022-05-12
      现在解决方案就是这样的,但按整个项目来说这样会不会使本地缓存数据量倍增呢?
      2022-05-12
      回复
    • 拾柒
      拾柒
      2022-05-12回复咖啡不加糖
      肯定会增加,但是没有必要纠结这个,甚至不用管,因为你最终给用户用的只有正式版
      2022-05-12
      1
      回复
    • 咖啡不加糖
      咖啡不加糖
      发表于移动端
      2022-05-12回复拾柒
      可以,谢谢
      2022-05-12
      回复
  • Frank
    Frank
    2022-05-12

    删除体验版小程序即可

    2022-05-12
    有用 2
    回复
  • 有缘相逢🐲
    有缘相逢🐲
    发表于移动端
    2023-08-25
    2023-08-25
    有用
    回复
  • 跨商通
    跨商通
    2022-05-12

    正常逻辑而言正式版是获取不到的才对”,此话不正确。

    共用缓存才是天经地义的正确的。

    建议业务逻辑按此调整,而不是按缓存分离的逻辑处理。

    2022-05-12
    有用
    回复 3
    • 咖啡不加糖
      咖啡不加糖
      发表于移动端
      2022-05-12
      那是不是就会出现小程序测试生产共用一个session呢?
      2022-05-12
      回复
    • 跨商通
      跨商通
      2022-05-12回复咖啡不加糖
      既然已知是共用缓存,那这种需要区分的地方,区分一下即可,没必要非要举例来挑战是否应该共用缓存这种架构问题,总之共用缓存才是正确的架构。
      2022-05-12
      回复
    • 赵江江
      赵江江
      2023-04-27
      请问为什么共用缓存才是正常逻辑呢,小程序的三类版本不是三个环境吗,为什么不同环境之间的缓存共用是正常的呢?
      另外请问需要区分的时候,这种应该怎么区分呢,前端缓存统一添加env前缀吗
      2023-04-27
      回复
登录 后发表内容