收藏
回答

微信切后台后再切回wx.getStorageSync为空

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.getStorageSync 客户端 7.0.3 2.6.6(2019.4.18 15:51:03)

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


小程序逻辑:

1、用户请求后台登录后 ret.header["Set-Cookie"] != undefined && wx.setStorageSync("cookie", ret.header["Set-Cookie"]); 将后台返回的 COOKIE使用wx.setStorageSync保存到本地。


2、用户每次请求后台时

var cookie = wx.getStorageSync("cookie");

  if( url != 'login' && !isNull( cookie ) ){

      header['cookie'] = cookie;

  }

使用 wx.getStorageSync 取出 cookie值放到 wx.request 的header内

使用上面方式模拟浏览器COOKIE机制来实现 session功能


用户一直开着小程序操作没有任何问题,一切正常。


问题:假如用户在使用过程中将微信切至后台查看其他APP时再重新回到小程序内某一页面,页面在onShow内触发数据更新功能请求后台,此时var cookie = wx.getStorageSync("cookie");  的cookie值为空。



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

1 个回答

  • nickname
    nickname
    2019-05-20

    看看是否哪里置空或者删除了该字段

    2019-05-20
    有用 1
    回复 3
    • 😇三藏😇
      😇三藏😇
      2019-05-20

      微信切到后台然后再重新打开微信整个页面只会触发 onShow逻辑。 onShow逻辑只有一个就是请求后如数据更新页面。

      没有任何删除或清空cookie的操作, 如果有这些操作正常情况肯定也会有同样问题, 在小程序页面按HOME键后再切回微信取wx.getStorageSync("cookie");值为空。

      2019-05-20
      回复
    • nickname
      nickname
      2019-05-20回复😇三藏😇

      麻烦提供一下代码片段看看https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      2019-05-20
      回复
    • 😇三藏😇
      😇三藏😇
      2019-05-21回复😇三藏😇

      找到问题所在了    我们的问题,  在app.js 的 onshow内有个 clearStorageSync

      2019-05-21
      回复
登录 后发表内容