Toast 文案与可选语义状态。必须是只包含 message、status 的对象;status
省略时请求普通文本 Toast。
Runtime 调用的 Host presentation.showToast operation 成功结束并返回 bridge 响应后,
Promise 以 void resolve。它不会等待 Toast 自动消失或被替换,也不返回可见状态。
HbMiniProgramSDKError
options 不是对象、含额外字段,message 不是字符串、trim 后为空或超过 120 个 UTF-16 code unit,
或 status 不是 success / error 时,以 INVALID_PARAMS 拒绝。当前 Host 未开放
presentation.showToast 时以 METHOD_FORBIDDEN 拒绝,旧 Runtime 不认识 ui.showToast 时可返回
METHOD_NOT_FOUND,Host 不支持当前请求形状时可返回 REQUEST_UNSUPPORTED。bridge、Runtime
卸载、请求超时或 Host operation 失败时抛出对应 SDK 错误。
该 API 无需在 package.json#heybox.permissions 中声明权限,也不要求可信用户手势。Runtime 会
对 message 执行 trim(),再按 JavaScript string.length 校验最多 120 个 UTF-16 code unit;
规范化后的文本才会传给 Host。省略 status 时为普通 Toast,success / error 只请求对应
语义样式,不改变 Promise 或错误处理语义。
展示时长、动画、位置、图标、颜色、同时可见数量和无障碍呈现均由 Host 决定。连续调用不会在 Runtime 排队或合并;新 Toast 是覆盖、排队还是与旧 Toast 共存,以及它与当前 ui.showLoading() 如何交互,都不是公共契约。Promise resolve 只表示 Host operation 完成,不能据此认为用户已经看到完整时长的提示。
Toast 适合无需显式清理的短暂结果反馈;长任务使用 showLoading() 并在 finally 中调用
hideLoading()。status 不会让 SDK 自动触发触觉反馈;需要震动时应单独调用
device.vibrate(),并独立处理平台不支持结果。
import hbSDK from '@heybox/hb-sdk'
await hbSDK.ui.showToast({
message: ' 保存成功 ', // Host 最终收到“保存成功”
status: 'success',
})
展示短暂的 Toast 反馈。