<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微信小程序數(shù)據(jù)的生命周期

          共 1827字,需瀏覽 4分鐘

           ·

          2021-07-29 23:43

          轉(zhuǎn)自:微信開放社區(qū)

          作者:kindear

          微信小程序的數(shù)據(jù)存儲(chǔ)分為三種方式,生命周期如下:

          • globalData:存儲(chǔ)短期數(shù)據(jù),引入 app.js 可訪問,徹底關(guān)閉小程序數(shù)據(jù)消失

          • Storage:存儲(chǔ)長(zhǎng)期數(shù)據(jù),全局可訪問,移除小程序數(shù)據(jù)消失

          • 后端服務(wù)器:存儲(chǔ)跨設(shè)備的數(shù)據(jù),通過后端授權(quán)后可訪問,只要服務(wù)器不炸數(shù)據(jù)永存

          一、短生命周期數(shù)據(jù)存儲(chǔ)

          以小程序啟動(dòng)到徹底關(guān)閉為周期的的數(shù)據(jù)建議存儲(chǔ)在 app.js 文件夾中,引用 app.js:

          const app =getApp();

          假設(shè) Value 是在小程序本次生命周期中經(jīng)常使用到的一個(gè)數(shù)據(jù),比如說請(qǐng)求 API 的 token、動(dòng)態(tài)的令牌等。那么就可以把這個(gè)值賦值到全局變量中去。實(shí)際上并不是只有 app.js 中的 globalData 是全局變量,也可以自己定義數(shù)據(jù)集。

          App({
            HG:{
              token:''
            },
            ...
          })

          對(duì)于 app.js 里面的 token 進(jìn)行賦值操作很簡(jiǎn)單,只要頁(yè)面引用了 app.js。

          app.HG.token = Value;

          這個(gè)數(shù)據(jù)在小程序的本次啟動(dòng)到徹底關(guān)閉的周期中就會(huì)一直存在了,還可以根據(jù)需要進(jìn)行修改。Value 也可以是對(duì)象。

          二、長(zhǎng)生命周期或者隱私數(shù)據(jù)存儲(chǔ)

          這種數(shù)據(jù)的顯著特點(diǎn)是在小程序關(guān)閉再次重啟后依然存在,這種時(shí)候可以用本地緩存來解決這種問題。

          本地緩存的生命周期:小程序被開始使用 ——> 小程序被徹底從使用列表中移除

          設(shè)置緩存的方式:

          wx.setStorage({
            key'hgcookie',
            data: {
              xh: that.data.xh,
              pwd: that.data.pwd
            }
          })

          小程序獲取緩存的方式:

          var that = this;
          wx.getStorage({
            key'hgcookie',
            successfunction (res{
              that.setData({
                xh: res.data.xh,
                pwd: res.data.pwd
              });
            },
          })

          比如保存用戶的登陸態(tài)信息,就可以采用這種方式,但處于安全考慮是不能保存用戶的隱私數(shù)據(jù)。同時(shí)如果是非時(shí)效性的數(shù)據(jù),也可以通過這種方式進(jìn)行存儲(chǔ)。

          三、動(dòng)態(tài)信息或配置信息存儲(chǔ)

          后端服務(wù)器保存用戶的配置信息,在更換手機(jī)時(shí)能迅速完成配置同步。

          商家小程序推薦商品修改、內(nèi)容修正、增加活動(dòng)等,不可能每次都要重寫然后再次讓小程序進(jìn)行審核。

          對(duì)此,可以在后端服務(wù)器中保存這個(gè)信息。

          以一個(gè)小程序的輪播廣告牌為例:

          {
           ad1:'imgurl1',
           ad2:'imgurl2',
           ad3:'imgurl3'
          }

          把這個(gè)數(shù)據(jù)存放在后臺(tái)服務(wù)器,每一次刷新該頁(yè)面都請(qǐng)求一次后臺(tái)數(shù)據(jù),對(duì)內(nèi)容進(jìn)行修改。

          wx.request({
           url:'XXX',
           data:{},
           success(res){
            that.setData({
             adList:res.data
            })
           }
          })

          可以用類似這種方式,完成對(duì)一些數(shù)據(jù)的動(dòng)態(tài)控制或者是云同步。

          - END -

          ?? 關(guān)注「HelloGitHub」第一時(shí)間收到更新??

          瀏覽 115
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  langse精品 | 九七人妻在线 | 精品无码一区二区三区免费 | 婷婷美女五月天亚洲综合网 | 艹逼无码黄色的视频禁止 |