收藏
回答

小程序如何解决静态文件缓存导致更新不及时的问题?

大家好!

现在开发中有这样一个需求,即小程序主题可以通过在后台管理系统中设置一个主题颜色,小程序端在app.js初始化时通过ajax请求实时获取这个颜色,通过wx.setStorage写入缓存,然后组件的js通过wx.getStorage获取颜色,wxml文件中写行内样式来动态应用这个颜色,以达到不用重新发版本而修改样式的功能(需求背景是不同场景下需要使用不同的主题颜色)

遇到的问题:后台修改颜色后,小程序端主题色没有及时改变,清缓存、删除小程序均无效!但是在开发者工具可以通过清除缓存达到预期效果,经测试发现初始化时能正确拿到修改后的颜色!

有没有有思路的朋友如何解决或通过其他办法实现需求?

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

4 个回答

  • 睡前原谅一切
    睡前原谅一切
    2019-09-06

    删除小程序 请删除 开发版 体验版 以及正式版,全部删除后才有效

    2019-09-06
    有用 1
    回复 7
    • Charlie
      Charlie
      2019-09-06
      谢谢,目前只有开发版
      2019-09-06
      回复
    • 睡前原谅一切
      睡前原谅一切
      2019-09-06回复Charlie
      app.js 里面的onShow里写请求
      2019-09-06
      回复
    • Charlie
      Charlie
      2019-09-06
      我试下
      2019-09-06
      回复
    • 睡前原谅一切
      睡前原谅一切
      2019-09-06回复Charlie
      具体的功能 我做过。。搜索 《青团社兼职》 首页点击 每日签到 ,然后把手机本地时间改为晚上,切换回小程序,页面背景会变为黑夜模式
      2019-09-06
      回复
    • Charlie
      Charlie
      2019-09-06
      看了,做的很好啊
      2019-09-06
      回复
    查看更多(2)
  • 仙仙的兔子
    仙仙的兔子
    2019-09-18

    找到解决办法了吗

    2019-09-18
    有用
    回复
  • 铭锋科技
    铭锋科技
    2019-09-06

    谢邀,你的需求是后台改颜色了,小程序这边自动更改?

    2019-09-06
    有用
    回复 2
  • L°
    2019-09-06

    每次在通过ajax请求实时获取新颜色时,先clearStorage

    2019-09-06
    有用
    回复 6
    • Charlie
      Charlie
      2019-09-06
      但是setStorage同一个key,不是会覆盖以前的value吗
      2019-09-06
      回复
    • L°
      2019-09-06回复Charlie
      那你用下同步修改缓存方式
      2019-09-06
      回复
    • Charlie
      Charlie
      2019-09-06
      我看了开发者工具的Storage,颜色那个字段值已经是修改后的了,此时页面元素行内样式color的值还是上一次Storage保存的值
      2019-09-06
      回复
    • L°
      2019-09-06回复Charlie
      在onshow方法里面改变color的值,是不是页面就没进行二次渲染
      2019-09-06
      回复
    • Charlie
      Charlie
      2019-09-06
      对,楼上建议我用onShow,我已经回复他了,onShow很有可能页面渲染完成了接口还没返回到前台
      2019-09-06
      回复
    查看更多(1)
登录 后发表内容
问题标签