ui 介面
畫面層、邏輯層都可用。小程序必須顯示在畫面上:保活期間:ui.toast、ui.dialog、ui.actionSheet、share.toChat 會以 INTERNAL 失敗;ui.setTitle、ui.loading、navigate.close 不會報錯,但沒有效果。保活期間設定的標題不會被記下來。
sdk.ui.toast()
ts
sdk.ui.toast(options: { text: string; icon?: 'success' | 'error' | 'none' }): Promise<void>App 原生的輕提示。
| 參數 | 規則 |
|---|---|
text | 必填,最多 200 字 |
icon | success、error、none(預設) |
sdk.ui.dialog()
ts
sdk.ui.dialog(options: DialogOptions): Promise<{ confirm: boolean }>
interface DialogOptions {
title?: string; // 最多 100 字
content: string; // 必填,最多 2000 字
confirmText?: string; // 最多 20 字,預設為 App 語言的「確定」
cancelText?: string; // 最多 20 字,預設為 App 語言的「取消」
showCancel?: boolean; // 預設 true;false 時只有確認鍵(純告知)
destructive?: boolean; // true 時確認鍵為紅色(刪除等破壞性操作)
}iOS 為 Cupertino 樣式、Android 為 Material 樣式。按確認回傳 { confirm: true },按取消回傳 { confirm: false }。沒有 title 時,content 以標題樣式顯示。
ts
const { confirm } = await sdk.ui.dialog({
title: '刪除這筆紀錄?',
content: '刪除後無法復原。',
confirmText: '刪除',
destructive: true,
});sdk.ui.actionSheet()
ts
sdk.ui.actionSheet(options: { items: string[] }): Promise<{ index: number }>從底部升起的選單。回傳被選項目的索引,取消為 -1。
| 參數 | 規則 |
|---|---|
items | 1–12 個非空字串,每個最多 40 字 |
同時只能一個
dialog 與 actionSheet 同一時間只能開一個;前一個還沒關閉又呼叫,會以 RATE_LIMITED 失敗。這兩個呼叫不設逾時。
sdk.ui.setTitle()
ts
sdk.ui.setTitle(title: string): Promise<void>改導覽列標題(預設為小程序名稱)。最多 40 字。保活接回時會保留;「重新进入小程序」後恢復預設。
sdk.ui.loading()
ts
sdk.ui.loading(options: { show: boolean; text?: string }): Promise<void>在導覽列下方顯示(show: true)或隱藏(show: false)不確定進度條。
text目前不會顯示。- 記得在完成或失敗時呼叫
show: false。