久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何實現小程序頁面級版本控制

152次閱讀
沒有評論

共計 1133 個字符,預計需要花費 3 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關如何實現小程序頁面級版本控制,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

在此之前我們先了解下小程序的運行機制。

小程序啟動會有兩種情況,一種是「冷啟動」,一種是「熱啟動」。

「熱啟動」

假如用戶已經打開過某小程序,然后在一定時間內再次打開該小程序,此時無需重新啟動,只需將后臺態的小程序切換到前臺,這個過程就是熱啟動。

「冷啟動」

用戶首次打開或小程序被微信主動銷毀后再次打開的情況,此時小程序需要重新加載啟動,即冷啟動。

『對于小程序版本更新的思考』

小程序冷啟動時,如果發現有新版本,將會異步下載新版本的代碼包,并同時用客戶端本地的包進行啟動,即新版本的小程序需要等下一次冷啟動才會應用上。

在小程序的開發過程中,我們經常會遇到一種情況,當修復一個緊急 bug 或者上線一種新功能時,產品希望用戶打開小程序的時候就是最新版。

或許你想到了用 wx.getUpdateManager 這個 API,在小程序啟動的時候監聽有無版本更新,并且能夠強制小程序重啟并使用新版本。

但是這會導致一個用戶體驗問題,每次有新版本包時都會提示用戶更新,對于需求迭代更新速度快的小程序特別不友好,非常打擾用戶。

轉轉是一個日活幾百萬的小程序,業務線分了好多條,每天都有可能會發布新版本甚至不止一個。迫切需要實現版本更新管理。

我們就想著可以通過接口獲取需要更新的版本信息,根據返回結果再判斷是否需要重啟使用新包。

鑒于轉轉有多條業務線,希望當用戶不進入某條需要更新的業務線時就不用強制更新,只想實現以頁面為粒度判斷是否需要更新。下圖是我們設計的思路:

但是這就涉及到需要 RD 幫我們存儲數據、提供接口獲取數據。當時快年底了 RD 資源很緊張,所以就想著不用 RD,前端能不能自己做?

于是,云開發,正式登場 ……

『云開發提供的能力:數據庫』

云開發提供了一個 JSON 數據庫,讓我們可以在控制臺創建一個版本信息的集合,在里面插入需要更新的版本信息。

『云開發提供的能力:云函數』

云函數讓我們能夠自己寫函數實現讀取數據庫的功能。每次請求時,我們只返回前三條記錄,3 條記錄的版本都高于小程序自帶版本的話,說明用戶也很久沒打開過小程序了,直接提示用戶更新。

一開始我們的設計思路是每個頁面打開時都去調云函數判斷是否需要更新當前頁,轉轉的頁面打開次數每天都是千萬級別,當時還比較擔心云開發能否頂住壓力。

就這樣,不依賴 RD,完美解決版本更新的問題,當然設計思路還有待改進,但云開發讓我們沒有了后顧之憂。

關于如何實現小程序頁面級版本控制就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-17發表,共計1133字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 石楼县| 噶尔县| 福鼎市| 中宁县| 临颍县| 长子县| 三门峡市| 福州市| 黑水县| 应城市| 家居| 吴川市| 佳木斯市| 德安县| 北票市| 邯郸市| 柳江县| 五峰| 象州县| 大田县| 闻喜县| 宁德市| 玛纳斯县| 襄汾县| 大新县| 腾冲县| 舟曲县| 出国| 金寨县| 龙江县| 鄄城县| 汶上县| 郑州市| 镇江市| 朝阳市| 岗巴县| 铁岭市| 平利县| 宜宾市| 宿迁市| 广南县|