文档 / 能力一览
能力一览
以下能力已经在 Web 宿主提供。是否可调用应通过 platform.can 判断,调用本身仍可能因为权限、网络或浏览器限制失败。
| 能力 | 当前接口 | 文档 |
|---|---|---|
| 界面 | platform.ui | 组件总览 |
| 数据发现与读取 | data.list、get、query、getRecord、count | 数据、查询 |
| 数据写入 | data.insert、insertMany、update、remove | 写入与删除 |
| 宿主与能力判断 | platform.host、platform.can(name) | 宿主与用户 |
| 当前用户 | await platform.user() | 宿主与用户 |
| 写入剪贴板 | await platform.clipboard.write(text) | 剪贴板 |
| 关闭当前应用 | platform.app.close() | 应用控制 |
尚未开放
当前没有 platform.fs、platform.media、platform.notify、platform.request、platform.app.open 或后台定时任务 API,也没有内置的页面路由和应用版本回滚。
旧 app.json.permissions 不参与授权。版本化 capabilities 声明和首次运行授权已接入 Web,详见多文件应用包和安装与更新。
不提供 platform.kv。持久数据通过数据库保存,当前页面的临时状态保存在内存。
错误处理
异步 API 失败时会拒绝 Promise,错误包含 code 和安全的 message,有时还包含 details.outcome。常见错误为 INVALID_REQUEST、PERMISSION_DENIED、NOT_FOUND、DEADLINE_EXCEEDED 和 INSTANCE_CLOSED。outcome: "unknown" 代表操作可能已经执行,尤其是超时、断线和批量部分失败;不要自动重试写入,应先查询实际记录。应用应捕获错误并显示清楚的说明。can 只说明宿主声明支持该能力,不代表某次请求一定成功。
try {
const user = await platform.user();
platform.ui.toast("你好," + user.name);
} catch (error) {
platform.ui.toast(error instanceof Error ? error.message : "读取失败,请重试");
}文档预览使用真实 Web runtime 和独立模拟数据。用户信息为演示值,剪贴板操作会提示需要在安装后的应用中使用;关闭应用会显示说明,而不会关闭文档页面。