收藏
回答

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

大家好!

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

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

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

最后一次编辑于  09-06  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    09-06

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

    09-06
    赞同 1
    回复 7
    • Ronin.
      Ronin.
      09-06
      谢谢,目前只有开发版
      09-06
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      09-06回复Ronin.
      app.js 里面的onShow里写请求
      09-06
      回复
    • Ronin.
      Ronin.
      09-06
      我试下
      09-06
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      09-06回复Ronin.
      具体的功能 我做过。。搜索 《青团社兼职》 首页点击 每日签到 ,然后把手机本地时间改为晚上,切换回小程序,页面背景会变为黑夜模式
      09-06
      回复
    • Ronin.
      Ronin.
      09-06
      看了,做的很好啊
      09-06
      回复
    查看更多(2)
  • ヒューイヾ
    ヒューイヾ
    09-18

    找到解决办法了吗

    09-18
    赞同
    回复
  • 铭锋科技
    铭锋科技
    09-06

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

    09-06
    赞同
    回复 2
  • L°
    09-06

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

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