Skip to content

容器版本 ​

容器版本代表 App 內小程序容器提供的能力,和 App 本身的版本號無關。小程序在 minContainer 宣告需要的最低版本;App 的容器版本比它低時,使用者會看到「请更新 App 后使用该小程序」,不會載入。

在小程序裡可以用 getLaunch().containerVersion 讀到目前的容器版本。

怎麼設定 minContainer ​

找出你用到的能力中,下表最新的那個版本:

  • 只用 auth、ui、theme、navigate、system、http → 1.0.0
  • 用到 storage、share.toChat、telemetry,或雙執行緒 → 1.1.0
  • 用到 getSession({ refresh: true }) → 必須 1.2.0(舊容器會忽略 refresh,照樣回快取的 token)
  • 雙執行緒 → 至少 1.1.0,建議 1.2.0

新專案直接用目前的最新版本即可。

版本紀錄 ​

1.2.0(目前) ​

  • sdk.auth.getSession({ refresh: true }):強制重新簽發 token。
  • 雙執行緒:快照與更新帶序號,畫面層不會漏掉和快照同時送達的更新;多個元件各自 connect 都正確。
  • 雙執行緒:邏輯層啟動期間畫面層送出的事件會排隊,不再遺失。
  • share.toChat:同一時間只能一個;title 只當卡片大字,頁首固定是小程序名稱。
  • http.fetch:先檢查標頭(不合法回 INVALID_PARAMS)、GET/HEAD 不能帶 body、Accept-Encoding 由容器決定、body 以 Content-Length 送出。
  • 本機服務支援 Range(iOS 可以播放包內的影音)。
  • CSP 允許編譯包內的 WebAssembly('wasm-unsafe-eval')。
  • localStorage 只在本次開啟有效;cookie、IndexedDB、Cache Storage、Service Worker、OPFS 停用。
  • 一批超過 64 個呼叫時逐筆回錯誤。
  • 邏輯層的 onLoad(launch) 也帶有 theme。

對話框、選單、分享不設逾時是 SDK 的行為,和容器版本無關。

1.1.0 ​

  • 雙執行緒(runtime: 'dual'):@im/miniapp-sdk/logic、sdk.view.connect、sdk.view.emit。
  • sdk.storage、sdk.share.toChat、sdk.telemetry.report。

1.0.0 ​

  • 離線包載入、主題變數注入、骨架與 sdk.ready()。
  • sdk.auth.getSession、sdk.ui(toast、dialog、actionSheet、setTitle、loading)、sdk.theme、sdk.navigate、sdk.system、sdk.http.fetch。
  • app.pause、app.resume、theme.change 事件。