网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網(wǎng)

微信小程序 wx.setStorage 緩存字典策略

發(fā)布時(shí)間:2018-08-17 09:16 所屬欄目:小程序開發(fā)教程

官方提供了wx.setStorage 等接口給開發(fā)者緩存數(shù)據(jù),但是對于使用Array()來緩存字典數(shù)據(jù)似乎存在bug?在設(shè)置后并不能成功。

 

				
  1.  

并沒有緩存成功 

投機(jī)取巧:使用數(shù)組模擬字典的效果

解決方案如下

根據(jù)key取值 

根據(jù)key、data更新數(shù)組 

我的需求是緩存一個(gè)閱讀記錄的字典其數(shù)據(jù)格式如下

 

				
  1. read_record: {
  2. keys: Array(), // [小說id]
  3. datas: Array() // [章節(jié)id]
  4. }

可以根據(jù)小說id去獲取最近閱讀的章節(jié)的id

 

				
  1. data: {
  2. read_record: {
  3. keys: Array(),
  4. datas: Array()
  5. }
  6. },
  7. // 初始化閱讀記錄
  8. initReadRecord: function() {
  9. let key = 'chapter_read_record'
  10. var data = wx.getStorageSync(key)
  11. if (data) {
  12. this.data.read_record = data
  13. }
  14. },
  15. // 獲取閱讀記錄 根據(jù)小說的id獲取上次閱讀的章節(jié)的id
  16. getReadRecord: function(novel_id) {
  17. let keys = this.data.read_record.keys
  18. let datas = this.data.read_record.datas
  19. let idx = keys.indexOf(novel_id)
  20. return datas[idx]
  21. },
  22. // 保存閱讀記錄 根據(jù)小說id、章節(jié)id保存
  23. setReadRecord: function(novel_id, chapter_id) {
  24. let key = 'chapter_read_record'
  25.  
  26. let keys = this.data.read_record.keys
  27. let datas = this.data.read_record.datas
  28.  
  29. let idx = keys.indexOf(novel_id)
  30. // 如果沒有找到索引,會返回-1
  31. if (idx == -1) {
  32. keys.push(novel_id)
  33. datas.push(chapter_id)
  34. } else {
  35. datas[idx] = chapter_id
  36. }
  37.  
  38. let that = this
  39. wx.setStorage({
  40. key: key,
  41. data: that.data.read_record,
  42. })
  43. },

緩存結(jié)果



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/24730.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×