容器版本
容器版本代表 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事件。