@doubao-dev/cli 0.0.25 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2168.js +60 -0
- package/dist/{4091.js → 2611.js} +14 -14
- package/dist/275.js +25 -0
- package/dist/2932.js +1 -1
- package/dist/318.js +1 -1
- package/dist/3768.js +1 -0
- package/dist/3974.js +10 -10
- package/dist/4594.js +7 -0
- package/dist/4931.js +2 -2
- package/dist/{react.js → 6831.js} +1 -1
- package/dist/7410.js +1 -1
- package/dist/@byted-doubao-apps/create.js +1 -1
- package/dist/@byted-doubao-apps/login.js +1 -1
- package/dist/@byted-doubao-apps/login~1.js +1 -1
- package/dist/@byted-doubao-apps/template-empty/package.json +3 -3
- package/dist/@byted-doubao-apps/template-starter/package.json +3 -3
- package/dist/@byted-hdt/cli.js +1 -1
- package/dist/@inquirer/select.js +1 -1
- package/dist/agentic-service.js +1 -0
- package/dist/app.js +1 -1
- package/dist/assets/web-sdk-debugger/index.html +1 -1
- package/dist/assets/web-sdk-debugger/static/css/index.cc3b255797.css +1 -0
- package/dist/assets/web-sdk-debugger/static/js/index.1448a806d8.js +26 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-api.template.js +0 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-framework.template.js +0 -0
- package/dist/browser.js +1 -1
- package/dist/check.js +1 -0
- package/dist/dbx.js +2 -2
- package/dist/demo-server.js +3 -3
- package/dist/demo.js +2 -0
- package/dist/dev-config.js +2 -2
- package/dist/dev-service-client.js +1 -25
- package/dist/dev-shell.js +1 -1
- package/dist/dev.js +10 -10
- package/dist/gen-explore.js +1 -1
- package/dist/gen-trajectory.js +1 -1
- package/dist/get.js +1 -1
- package/dist/init.js +4 -4
- package/dist/ink.js +3 -3
- package/dist/json-file.js +1 -1
- package/dist/login.js +1 -1
- package/dist/main.js +1 -1
- package/dist/manifest-mcp-config.js +1 -1
- package/dist/ora.js +1 -1
- package/dist/portal.js +1 -1
- package/dist/project-layout.js +1 -1
- package/dist/prompt.js +7 -7
- package/dist/prompts.js +1 -1
- package/dist/report.js +1 -1
- package/dist/run-registry.js +1 -1
- package/dist/run.js +122 -122
- package/dist/sandbox.js +1 -1
- package/dist/scan.js +1 -1
- package/dist/sdk.js +20 -20
- package/dist/sdk~1.js +20 -20
- package/dist/server.js +4 -4
- package/dist/simulator-client.js +1 -1
- package/dist/skill.js +1 -1
- package/dist/skills.js +1 -1
- package/dist/skills~2.js +2 -2
- package/dist/status.js +2 -2
- package/dist/status~1.js +1 -1
- package/dist/stop.js +1 -1
- package/dist/templates/README.md +1 -1
- package/dist/update.js +1 -1
- package/dist/upgrade.js +1 -1
- package/dist/upload.js +6 -6
- package/dist/workspace.js +1 -1
- package/dist/yaml.js +2 -2
- package/package.json +2 -2
- package/skills/dbx-eval/SKILL.md +2 -2
- package/skills/doubao-agentic-service-development/SKILL.md +8 -8
- package/skills/doubao-agentic-service-development/references/auth.md +2 -2
- package/skills/doubao-agentic-service-development/references/business-template-debug.md +3 -3
- package/skills/doubao-agentic-service-development/references/dev-debug.md +2 -2
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/01-/345/237/272/347/241/200.md +175 -15
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +3 -3
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/03-/350/207/252/345/256/232/344/271/211/351/200/232/344/277/241.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/04-/345/256/232/344/275/215.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/08-/344/272/244/344/272/222.md +221 -7
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/10-/347/275/221/347/273/234.md +20 -20
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/11-/345/252/222/344/275/223.md +2 -2
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/12-/344/270/232/345/212/241/350/203/275/345/212/233.md +3 -4
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/16-/350/223/235/347/211/231.md +3 -3
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/25-/346/227/240/351/232/234/347/242/215.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/26-/345/237/272/347/241/200/344/277/241/346/201/257.md +3 -3
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/28-/345/211/252/350/264/264/346/235/277.md +2 -2
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/32-/346/211/253/347/240/201.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/34-/351/234/207/345/212/250.md +2 -2
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/common-errors.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/groups.md +3 -3
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/quick-reference.md +7 -3
- package/skills/doubao-agentic-service-development/references/frontend-dev.md +3 -3
- package/skills/doubao-agentic-service-development/references/generate-skill.md +1 -1
- package/skills/doubao-agentic-service-development/references/local-debug/simulator-eval.md +26 -22
- package/skills/doubao-agentic-service-development/references/manifest-guide.md +3 -3
- package/skills/doubao-agentic-service-development/references/mcp-protocol.md +1 -1
- package/skills/doubao-agentic-service-development/references/overview.md +2 -3
- package/skills/doubao-agentic-service-development/references/service-notice.md +1 -3
- package/skills/doubao-agentic-service-development/references/task-management.md +1 -3
- package/dist/1664.js +0 -66
- package/dist/assets/web-sdk-debugger/static/css/index.3fba1d83fd.css +0 -1
- package/dist/assets/web-sdk-debugger/static/js/index.c19e6628b4.js +0 -26
- package/dist/dbx-demo.js +0 -2
- package/dist/eval.js +0 -1
- package/dist/validate.js +0 -1
- /package/dist/{4091.js.LICENSE.txt → 2611.js.LICENSE.txt} +0 -0
- /package/dist/{dev-service-client.js.LICENSE.txt → 275.js.LICENSE.txt} +0 -0
- /package/dist/{react.js.LICENSE.txt → 6831.js.LICENSE.txt} +0 -0
|
@@ -190,7 +190,7 @@ tools:
|
|
|
190
190
|
- `mcp_server.user_auth` 是 MCP Server 级配置,不写到单个 tool 下。
|
|
191
191
|
- 单个 tool 是否要求登录由 `tools.<tool>.login_type` 决定。
|
|
192
192
|
- `login_type: normal` 表示业务侧自定义登录态,当前平台校验不允许在该类型下填写 `login_params`。不要为了宿主手机号一键登录把 `login_params: [user_mobile]` 写到 `normal` tool 上;需要宿主手机号时由登录入口回调提供 `phone_code`。
|
|
193
|
-
- `login_params` 只在平台校验允许的登录类型中使用;修改后必须执行 `dbx
|
|
193
|
+
- `login_params` 只在平台校验允许的登录类型中使用;修改后必须执行 `dbx check --file <manifest.yaml路径> --json`,以 validator 结果为准。
|
|
194
194
|
- `fetch_token_url`、`refresh_token_url`、`delete_userinfo_url` 必须是稳定可访问的 HTTPS 地址;本地调试时可以使用 localhost。
|
|
195
195
|
- FetchTokenURL 和 RefreshTokenURL 需要能被平台服务端按协议直接请求通过;如有额外鉴权要求,提前和平台确认。
|
|
196
196
|
- 修改 Manifest 后重启本地调试器或重新构建,确保最新配置被平台读取。
|
|
@@ -510,7 +510,7 @@ dbx dev --mcp-endpoint http://127.0.0.1:<port>/mcp
|
|
|
510
510
|
|
|
511
511
|
4. 使用 Web 调试器或真机触发需要登录的 tool,分别验证一键登录和自定义登录页的 UI、业务接口、`postLoginResult` 和后续 MCP 调用。
|
|
512
512
|
|
|
513
|
-
业务 Server、登录 callback、前端业务 API、Manifest 和 `--mcp-endpoint` 的地址与端口必须一致;本地 callback 可以通过调试 Bridge 联调,但业务 Server 必须持续运行。修改 `src/auth` 下的登录页代码后等待热更新并刷新 Web 调试器;只有路径、Manifest、运行态 Skill 或 MCP endpoint 变化时才重启 `dbx dev`。需要验证 Skill、Manifest、MCP 和出卡链路时,另行使用 `dbx
|
|
513
|
+
业务 Server、登录 callback、前端业务 API、Manifest 和 `--mcp-endpoint` 的地址与端口必须一致;本地 callback 可以通过调试 Bridge 联调,但业务 Server 必须持续运行。修改 `src/auth` 下的登录页代码后等待热更新并刷新 Web 调试器;只有路径、Manifest、运行态 Skill 或 MCP endpoint 变化时才重启 `dbx dev`。需要验证 Skill、Manifest、MCP 和出卡链路时,另行使用 `dbx check`。
|
|
514
514
|
|
|
515
515
|
## 隐私协议
|
|
516
516
|
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
| 命令 | 项目参数 | Manifest / 模板默认位置 | 相对路径基准 |
|
|
29
29
|
| --- | --- | --- | --- |
|
|
30
30
|
| `dbx dev` | `--project-path`,默认当前目录 | Manifest 默认是 `<project>/manifest.yaml`;业务模板默认是**解析后的 Manifest 同目录**下的 `business-templates.yaml` | `--manifest`、`--skill` 相对 `--project-path` 解析 |
|
|
31
|
-
| `dbx
|
|
31
|
+
| `dbx check` | `--project-path`,默认当前目录 | 默认读取项目目录下的 Manifest 和 Skill | 相对路径参数按 `--project-path` 解析 |
|
|
32
32
|
| `dbx app artifacts upload` | `--project`,默认当前目录 | 完整上传默认读取项目根目录的 `business-templates.yaml` | `--business-templates` 相对 `--project` 解析 |
|
|
33
33
|
|
|
34
34
|
因此,使用自定义 Manifest 路径时必须显式对齐本地调试和完整上传。例如 Manifest 为 `configs/manifest.yaml`:
|
|
@@ -57,7 +57,7 @@ dbx app artifacts upload \
|
|
|
57
57
|
|
|
58
58
|
| 校验 | 使用位置 | 含义 |
|
|
59
59
|
| --- | --- | --- |
|
|
60
|
-
| 兼容校验 | `dbx dev` 启动预检、`dbx
|
|
60
|
+
| 兼容校验 | `dbx dev` 启动预检、`dbx check --file` | 尽早发现结构和兼容性问题,适合本地开发 |
|
|
61
61
|
| 严格校验 | 模板单独同步、完整制品上传 | 正式进入平台模板同步前的最终门槛 |
|
|
62
62
|
|
|
63
63
|
兼容校验通过不保证严格校验一定通过。正式上传失败时,应以严格校验返回的 `code`、`path` 和逐模板结果为准。
|
|
@@ -66,7 +66,7 @@ dbx app artifacts upload \
|
|
|
66
66
|
|
|
67
67
|
- 模拟器调试中,创建 Sandbox Session 的请求会携带当前 Manifest 和可选 `business-templates.yaml`。已有 Session 不会因为只修改本地 YAML 就自动获得新模板;模板变化后应按 CLI 支持的流程重新创建 Session。
|
|
68
68
|
- `dbx dev` 启动时会自动发现解析后 Manifest 同目录的可选 `business-templates.yaml`。文件存在时必须非空并通过兼容校验;文件不存在表示本次 Session 不配置业务模板。
|
|
69
|
-
- `dbx dev` 的自动兼容校验只发生在启动预检阶段。启动后修改业务模板,再点击“撤回并重建 session”不会自动重新运行这次 CLI 校验;必须先手动执行 `dbx
|
|
69
|
+
- `dbx dev` 的自动兼容校验只发生在启动预检阶段。启动后修改业务模板,再点击“撤回并重建 session”不会自动重新运行这次 CLI 校验;必须先手动执行 `dbx check --file <business-templates.yaml路径> --json`,再重建 Session。仅刷新 Web 页面或点击“刷新资源并重载卡片”也不会更新已有 Session。
|
|
70
70
|
- Sandbox Session 由 CLI/平台模拟器链路创建和管理。Agent 和业务代码都不得调用私有接口手工创建 Session,不得自行构造、替换或持久化 Sandbox Session 凭证。
|
|
71
71
|
- 真机调试中,`business-templates.yaml` 必须跟随当前工具链要求与本次使用的 Manifest、前端资源及其它产物一起处理。只做模板单独同步,不能替代真机调试包上传。
|
|
72
72
|
- Session 创建/重建不等于真机调试包上传;模拟器验证通过也不等于真机调试通过。报告结果时必须明确写“模拟器调试”或“真机调试”。
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
“真机调试”专指本文的 `dbx dev` 设备连接与 Page / Widget 推送。产物上传并云构建后在版本详情页扫码、进入 UGC Bot 调试对话的流程称为“真机预览”,不属于本文。
|
|
12
12
|
|
|
13
|
-
门禁满足后,使用 `dbx dev` 前台 REPL 连接真机、打开 Page 或推送 Widget。本文流程不替代 `dbx
|
|
13
|
+
门禁满足后,使用 `dbx dev` 前台 REPL 连接真机、打开 Page 或推送 Widget。本文流程不替代 `dbx check` 的 Skill / MCP / Manifest 链路验证。
|
|
14
14
|
|
|
15
15
|
如果项目存在 `business-templates.yaml`,先读 [业务模板调试边界](business-template-debug.md)。真机调试资源准备时,必须将它与当前 Manifest、前端资源及其它真机调试产物一起上传打包;不能复用模拟器创建 Sandbox Session 时的模板上传,也不能用 `--business-templates-only` 代替真机调试整包。
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
| ------------------------------- | --------------------------------------------------- | -------------------------------------------- |
|
|
21
21
|
| 真机打开指定页面 | 真机模式内执行 `page <page-url>` | 用户确认手机实际打开;CLI 仅证明请求已发送。 |
|
|
22
22
|
| 真机推送卡片 | 真机模式内执行 `widget <widget-id> --data '<json>'` | 用户确认设备已显示并正确渲染。 |
|
|
23
|
-
| Skill / MCP / Manifest 出卡链路 | 改用 `dbx
|
|
23
|
+
| Skill / MCP / Manifest 出卡链路 | 改用 `dbx check --query "<当前轮用户问题>"` | `Verdict: PASS`、tool report 与 card delta。 |
|
|
24
24
|
|
|
25
25
|
不要把 `status: ok`、`page pushed` 或 `widget pushed` 描述成“设备已渲染成功”;它们最多证明 dev service 接收并派发了请求。
|
|
26
26
|
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
| [getAccountInfo](#getaccountinfo) | 异步获取账号信息。 |
|
|
12
12
|
| [getAccountInfoSync](#getaccountinfosync) | 同步获取账号信息。<br><br>同步 API。 |
|
|
13
13
|
| [authorize](#authorize) | 提前向用户发起指定 scope 的授权;scope.healthData 仅用于选择 iOS HealthKit 系统授权路径。 |
|
|
14
|
+
| [arrayBufferToBase64](#arraybuffertobase64) | 将 ArrayBuffer 转换为 Base64 字符串。 |
|
|
15
|
+
| [base64ToArrayBuffer](#base64toarraybuffer) | 将 Base64 字符串转换为 ArrayBuffer。 |
|
|
14
16
|
| [getPerformance](#getperformance) | 获取当前智能服务应用的性能数据。 Entry 由客户端保存;getEntries*() 同步查询当前快照,observer 只接收新完成的 Entry。 |
|
|
15
17
|
| [getSetting](#getsetting) | 获取用户当前的应用授权设置。 |
|
|
16
18
|
| [openSetting](#opensetting) | 打开智能服务授权设置页面。 |
|
|
@@ -90,10 +92,10 @@ console.log(result.miniProgram.appId, result.miniProgram.envVersion, result.mini
|
|
|
90
92
|
<tr><th>名称</th><th>类型</th><th>必返</th><th>约束</th><th>说明</th></tr>
|
|
91
93
|
</thead>
|
|
92
94
|
<tbody>
|
|
93
|
-
<tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td
|
|
94
|
-
<tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td
|
|
95
|
-
<tr><td><code>miniProgram.envVersion</code></td><td><code>"develop" | "trial" | "release"</code></td><td>是</td><td
|
|
96
|
-
<tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td
|
|
95
|
+
<tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td>智能服务账号信息</td></tr>
|
|
96
|
+
<tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务 appId</td></tr>
|
|
97
|
+
<tr><td><code>miniProgram.envVersion</code></td><td><code>"develop" | "trial" | "release"</code></td><td>是</td><td>Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>当前智能服务的版本类型。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
|
|
98
|
+
<tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务版本号。</td></tr>
|
|
97
99
|
<tr><td><code>plugin</code></td><td><code>PluginAccountInfo</code></td><td>否</td><td>-</td><td>插件账号信息(仅在插件中调用时包含)</td></tr>
|
|
98
100
|
<tr><td><code>plugin.appId</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件 appId</td></tr>
|
|
99
101
|
<tr><td><code>plugin.version</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件版本号,'a.b.c' 形式</td></tr>
|
|
@@ -202,10 +204,10 @@ console.log(result.miniProgram.appId, result.miniProgram.envVersion, result.mini
|
|
|
202
204
|
<tr><th>名称</th><th>类型</th><th>必返</th><th>约束</th><th>说明</th></tr>
|
|
203
205
|
</thead>
|
|
204
206
|
<tbody>
|
|
205
|
-
<tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td
|
|
206
|
-
<tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td
|
|
207
|
-
<tr><td><code>miniProgram.envVersion</code></td><td><code>"develop" | "trial" | "release"</code></td><td>是</td><td
|
|
208
|
-
<tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td
|
|
207
|
+
<tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td>智能服务账号信息</td></tr>
|
|
208
|
+
<tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务 appId</td></tr>
|
|
209
|
+
<tr><td><code>miniProgram.envVersion</code></td><td><code>"develop" | "trial" | "release"</code></td><td>是</td><td>Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>当前智能服务的版本类型。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
|
|
210
|
+
<tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务版本号。</td></tr>
|
|
209
211
|
<tr><td><code>plugin</code></td><td><code>PluginAccountInfo</code></td><td>否</td><td>-</td><td>插件账号信息(仅在插件中调用时包含)</td></tr>
|
|
210
212
|
<tr><td><code>plugin.appId</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件 appId</td></tr>
|
|
211
213
|
<tr><td><code>plugin.version</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件版本号,'a.b.c' 形式</td></tr>
|
|
@@ -402,6 +404,164 @@ await authorize({
|
|
|
402
404
|
|
|
403
405
|
- **iOS**:网络类失败会细分为 301/302/303/305,并可能返回 112;Android 的网络类失败统一返回 305。
|
|
404
406
|
|
|
407
|
+
<a id="arraybuffertobase64"></a>
|
|
408
|
+
### arrayBufferToBase64()
|
|
409
|
+
|
|
410
|
+
# arrayBufferToBase64
|
|
411
|
+
|
|
412
|
+
将 ArrayBuffer 转换为 Base64 字符串。
|
|
413
|
+
|
|
414
|
+
## 扫码预览
|
|
415
|
+

|
|
416
|
+
|
|
417
|
+
## 支持版本
|
|
418
|
+
|
|
419
|
+
前端库版本不低于 `0.1.0`。
|
|
420
|
+
|
|
421
|
+
## 支持平台
|
|
422
|
+
|
|
423
|
+
<table>
|
|
424
|
+
<thead>
|
|
425
|
+
<tr><th>平台</th><th>支持情况</th></tr>
|
|
426
|
+
</thead>
|
|
427
|
+
<tbody>
|
|
428
|
+
<tr><td>Android</td><td>支持</td></tr>
|
|
429
|
+
<tr><td>iOS</td><td>支持</td></tr>
|
|
430
|
+
<tr><td>PC</td><td>支持</td></tr>
|
|
431
|
+
<tr><td>HarmonyOS</td><td>支持</td></tr>
|
|
432
|
+
</tbody>
|
|
433
|
+
</table>
|
|
434
|
+
|
|
435
|
+
## 支持场景
|
|
436
|
+
|
|
437
|
+
<table>
|
|
438
|
+
<thead>
|
|
439
|
+
<tr><th>场景</th><th>支持情况</th></tr>
|
|
440
|
+
</thead>
|
|
441
|
+
<tbody>
|
|
442
|
+
<tr><td>页面</td><td>支持</td></tr>
|
|
443
|
+
<tr><td>卡片</td><td>支持</td></tr>
|
|
444
|
+
</tbody>
|
|
445
|
+
</table>
|
|
446
|
+
|
|
447
|
+
## 调用方式
|
|
448
|
+
|
|
449
|
+
### 同步 API
|
|
450
|
+
|
|
451
|
+
```typescript
|
|
452
|
+
arrayBufferToBase64(buffer: ArrayBuffer): string
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
## 入参
|
|
456
|
+
|
|
457
|
+
<table>
|
|
458
|
+
<thead>
|
|
459
|
+
<tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
|
|
460
|
+
</thead>
|
|
461
|
+
<tbody>
|
|
462
|
+
<tr><td><code>buffer</code></td><td><code>ArrayBuffer</code></td><td>是</td><td>-</td><td>-</td><td>需要编码的二进制数据。</td></tr>
|
|
463
|
+
</tbody>
|
|
464
|
+
</table>
|
|
465
|
+
|
|
466
|
+
## 调用示例
|
|
467
|
+
|
|
468
|
+
```typescript
|
|
469
|
+
import { arrayBufferToBase64 } from '@doubao-dev/framework/api';
|
|
470
|
+
|
|
471
|
+
const base64 = arrayBufferToBase64(new Uint8Array([1, 2, 3, 4]).buffer);
|
|
472
|
+
console.log(base64); // AQIDBA==
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
## 返回值
|
|
476
|
+
|
|
477
|
+
标准 Base64 编码字符串。
|
|
478
|
+
|
|
479
|
+
### 返回示例
|
|
480
|
+
|
|
481
|
+
```json
|
|
482
|
+
"AQIDBA=="
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
<a id="base64toarraybuffer"></a>
|
|
486
|
+
### base64ToArrayBuffer()
|
|
487
|
+
|
|
488
|
+
# base64ToArrayBuffer
|
|
489
|
+
|
|
490
|
+
将 Base64 字符串转换为 ArrayBuffer。
|
|
491
|
+
|
|
492
|
+
## 扫码预览
|
|
493
|
+

|
|
494
|
+
|
|
495
|
+
## 支持版本
|
|
496
|
+
|
|
497
|
+
前端库版本不低于 `0.1.0`。
|
|
498
|
+
|
|
499
|
+
## 支持平台
|
|
500
|
+
|
|
501
|
+
<table>
|
|
502
|
+
<thead>
|
|
503
|
+
<tr><th>平台</th><th>支持情况</th></tr>
|
|
504
|
+
</thead>
|
|
505
|
+
<tbody>
|
|
506
|
+
<tr><td>Android</td><td>支持</td></tr>
|
|
507
|
+
<tr><td>iOS</td><td>支持</td></tr>
|
|
508
|
+
<tr><td>PC</td><td>支持</td></tr>
|
|
509
|
+
<tr><td>HarmonyOS</td><td>支持</td></tr>
|
|
510
|
+
</tbody>
|
|
511
|
+
</table>
|
|
512
|
+
|
|
513
|
+
## 支持场景
|
|
514
|
+
|
|
515
|
+
<table>
|
|
516
|
+
<thead>
|
|
517
|
+
<tr><th>场景</th><th>支持情况</th></tr>
|
|
518
|
+
</thead>
|
|
519
|
+
<tbody>
|
|
520
|
+
<tr><td>页面</td><td>支持</td></tr>
|
|
521
|
+
<tr><td>卡片</td><td>支持</td></tr>
|
|
522
|
+
</tbody>
|
|
523
|
+
</table>
|
|
524
|
+
|
|
525
|
+
## 调用方式
|
|
526
|
+
|
|
527
|
+
### 同步 API
|
|
528
|
+
|
|
529
|
+
```typescript
|
|
530
|
+
base64ToArrayBuffer(base64: string): ArrayBuffer
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
## 入参
|
|
534
|
+
|
|
535
|
+
<table>
|
|
536
|
+
<thead>
|
|
537
|
+
<tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
|
|
538
|
+
</thead>
|
|
539
|
+
<tbody>
|
|
540
|
+
<tr><td><code>base64</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>需要解码的标准 Base64 字符串。</td></tr>
|
|
541
|
+
</tbody>
|
|
542
|
+
</table>
|
|
543
|
+
|
|
544
|
+
## 调用示例
|
|
545
|
+
|
|
546
|
+
```typescript
|
|
547
|
+
import { base64ToArrayBuffer } from '@doubao-dev/framework/api';
|
|
548
|
+
|
|
549
|
+
const buffer = base64ToArrayBuffer('AQIDBA==');
|
|
550
|
+
console.log(Array.from(new Uint8Array(buffer))); // [1, 2, 3, 4]
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
## 返回值
|
|
554
|
+
|
|
555
|
+
解码后的二进制数据。
|
|
556
|
+
|
|
557
|
+
### 返回示例
|
|
558
|
+
|
|
559
|
+
```json
|
|
560
|
+
{
|
|
561
|
+
"byteLength": 4
|
|
562
|
+
}
|
|
563
|
+
```
|
|
564
|
+
|
|
405
565
|
<a id="getperformance"></a>
|
|
406
566
|
### getPerformance()
|
|
407
567
|
|
|
@@ -545,7 +705,7 @@ observer.disconnect();
|
|
|
545
705
|
|
|
546
706
|
## 使用说明
|
|
547
707
|
|
|
548
|
-
- authSetting 只表示当前智能服务的 scope
|
|
708
|
+
- authSetting 只表示当前智能服务的 scope 授权,不表示操作系统权限;HealthKit 逐类型系统状态通过 getAppAuthorizeSetting 查询。
|
|
549
709
|
- authSetting 只包含已向用户请求过且状态明确的权限;豆包当前不支持订阅模板,不要传入 withSubscriptions: true。
|
|
550
710
|
|
|
551
711
|
## 调用方式
|
|
@@ -623,7 +783,7 @@ console.log(result.authSetting['scope.userLocation']);
|
|
|
623
783
|
</thead>
|
|
624
784
|
<tbody>
|
|
625
785
|
<tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>传入 withSubscriptions: true,豆包当前不支持订阅消息模板</td><td>不要传入 withSubscriptions: true,仅使用默认的 false</td></tr>
|
|
626
|
-
<tr><td><code>116</code></td><td><code>resource not found</code></td><td>Android</td><td
|
|
786
|
+
<tr><td><code>116</code></td><td><code>resource not found</code></td><td>Android</td><td>豆包未找到当前智能服务</td><td>确认当前智能服务已正确安装后重试</td></tr>
|
|
627
787
|
</tbody>
|
|
628
788
|
</table>
|
|
629
789
|
|
|
@@ -759,13 +919,13 @@ try {
|
|
|
759
919
|
<a id="doubaoappaccountinfo"></a>
|
|
760
920
|
### DoubaoAppAccountInfo
|
|
761
921
|
|
|
762
|
-
|
|
922
|
+
智能服务账号信息。
|
|
763
923
|
|
|
764
924
|
#### Properties
|
|
765
925
|
|
|
766
|
-
• **appId**: `string` -
|
|
767
|
-
• **envVersion**: `'develop' | 'trial' | 'release'` -
|
|
768
|
-
• **version**: `string` -
|
|
926
|
+
• **appId**: `string` - 智能服务 appId
|
|
927
|
+
• **envVersion**: `'develop' | 'trial' | 'release'` - 当前智能服务的版本类型。 - develop:开发版 - trial:体验版 - release:正式版
|
|
928
|
+
• **version**: `string` - 智能服务版本号
|
|
769
929
|
|
|
770
930
|
<a id="pluginaccountinfo"></a>
|
|
771
931
|
### PluginAccountInfo
|
|
@@ -784,7 +944,7 @@ try {
|
|
|
784
944
|
|
|
785
945
|
#### Properties
|
|
786
946
|
|
|
787
|
-
• **miniProgram**: `DoubaoAppAccountInfo` -
|
|
947
|
+
• **miniProgram**: `DoubaoAppAccountInfo` - 智能服务账号信息
|
|
788
948
|
• **plugin?**: `PluginAccountInfo` - 插件账号信息(仅在插件中调用时包含)
|
|
789
949
|
|
|
790
950
|
<a id="healthdatatype"></a>
|
|
@@ -430,7 +430,7 @@ console.log(result.healthDataAuthorizationDetail?.readStatus);
|
|
|
430
430
|
|
|
431
431
|
## 使用说明
|
|
432
432
|
|
|
433
|
-
- enableDebug
|
|
433
|
+
- 当前不返回 `enableDebug`;如需获取调试状态,请使用 getSystemInfo 或 getSystemInfoSync。
|
|
434
434
|
|
|
435
435
|
## 调用方式
|
|
436
436
|
|
|
@@ -528,7 +528,7 @@ console.log(result.host?.appId);
|
|
|
528
528
|
|
|
529
529
|
## 使用说明
|
|
530
530
|
|
|
531
|
-
-
|
|
531
|
+
- 该接口与 getWindowInfoSync 返回相同信息;无需异步调用时可直接使用 getWindowInfoSync。
|
|
532
532
|
|
|
533
533
|
## 调用方式
|
|
534
534
|
|
|
@@ -798,7 +798,7 @@ offThemeChange();
|
|
|
798
798
|
|
|
799
799
|
## 平台差异
|
|
800
800
|
|
|
801
|
-
- **Android
|
|
801
|
+
- **Android**:部分豆包 Android 版本可能不会触发主题变化事件
|
|
802
802
|
|
|
803
803
|
<a id="getsysteminfo"></a>
|
|
804
804
|
### getSystemInfo()
|
|
@@ -718,7 +718,7 @@ unsubscribe();
|
|
|
718
718
|
• **mode?**: `number` - 定位模式 0:低功耗 1:仅设备 2:高精度(默认)
|
|
719
719
|
• **acceptLightLocation?**: `boolean` - 是否接受轻定位结果。轻定位会直接利用设备已有的 Wi-Fi 扫描缓存,由服务端快速计算当前位置,缩短定位耗时
|
|
720
720
|
• **timeoutMs?**: `number` - 超时时间,单位毫秒,默认 30000
|
|
721
|
-
• **maxCacheMs?**: `number` -
|
|
721
|
+
• **maxCacheMs?**: `number` - 兼容保留字段,当前不生效
|
|
722
722
|
|
|
723
723
|
<a id="getlocationresponse"></a>
|
|
724
724
|
### GetLocationResponse
|
|
@@ -8,17 +8,222 @@ Toast、Loading、Modal、ActionSheet、BottomSheet 和返回前提醒。
|
|
|
8
8
|
|
|
9
9
|
| API | 说明 |
|
|
10
10
|
| --- | --- |
|
|
11
|
+
| [enableAlertBeforeUnload](#enablealertbeforeunload) | 开启页面返回前提醒。 当用户在智能服务的非最底层页面点击左上角返回按钮、左上角首页按钮或客户端返回键时,弹起询问弹窗 返回询问对话框只会对调用的当前页面生效,通过手势滑动返回时不会弹起询问对话框。 |
|
|
12
|
+
| [disableAlertBeforeUnload](#disablealertbeforeunload) | 关闭页面返回前提醒。 |
|
|
11
13
|
| [showModal](#showmodal) | 显示模态对话框。 |
|
|
12
14
|
| [showLoading](#showloading) | 显示 loading 提示框。 |
|
|
13
15
|
| [hideToast](#hidetoast) | 隐藏当前 Toast。 |
|
|
14
16
|
| [hideLoading](#hideloading) | 隐藏当前 loading。 |
|
|
15
17
|
| [showActionSheet](#showactionsheet) | 显示操作菜单。 |
|
|
16
|
-
| [showBottomSheet](#showbottomsheet) |
|
|
18
|
+
| [showBottomSheet](#showbottomsheet) | 显示豆包底部弹窗。 |
|
|
17
19
|
| [getMenuButtonBoundingClientRect](#getmenubuttonboundingclientrect) | 取菜单按钮(右上角胶囊按钮)的布局位置信息。 |
|
|
18
20
|
| [showToast](#showtoast) | 显示 Toast 提示。 |
|
|
19
21
|
|
|
20
22
|
## API 详情
|
|
21
23
|
|
|
24
|
+
<a id="enablealertbeforeunload"></a>
|
|
25
|
+
### enableAlertBeforeUnload()
|
|
26
|
+
|
|
27
|
+
# enableAlertBeforeUnload
|
|
28
|
+
|
|
29
|
+
开启页面返回前提醒。
|
|
30
|
+
当用户在智能服务的非最底层页面点击左上角返回按钮、左上角首页按钮或客户端返回键时,弹起询问弹窗
|
|
31
|
+
|
|
32
|
+
返回询问对话框只会对调用的当前页面生效,通过手势滑动返回时不会弹起询问对话框
|
|
33
|
+
|
|
34
|
+
## 扫码预览
|
|
35
|
+

|
|
36
|
+
|
|
37
|
+
## 支持版本
|
|
38
|
+
|
|
39
|
+
前端库版本不低于 `0.0.43`。
|
|
40
|
+
|
|
41
|
+
## 支持平台
|
|
42
|
+
|
|
43
|
+
<table>
|
|
44
|
+
<thead>
|
|
45
|
+
<tr><th>平台</th><th>支持情况</th></tr>
|
|
46
|
+
</thead>
|
|
47
|
+
<tbody>
|
|
48
|
+
<tr><td>Android</td><td>支持</td></tr>
|
|
49
|
+
<tr><td>iOS</td><td>支持</td></tr>
|
|
50
|
+
<tr><td>PC</td><td>不支持</td></tr>
|
|
51
|
+
<tr><td>HarmonyOS</td><td>不支持</td></tr>
|
|
52
|
+
</tbody>
|
|
53
|
+
</table>
|
|
54
|
+
|
|
55
|
+
## 接入准备
|
|
56
|
+
|
|
57
|
+
### 前置条件
|
|
58
|
+
|
|
59
|
+
- 必须在页面容器内调用
|
|
60
|
+
|
|
61
|
+
## 使用说明
|
|
62
|
+
|
|
63
|
+
配合 disableAlertBeforeUnload 使用。
|
|
64
|
+
|
|
65
|
+
- 仅非根页面的显式返回会展示提醒;根页面退出不拦截,iOS 侧滑返回不拦截。
|
|
66
|
+
|
|
67
|
+
## 调用方式
|
|
68
|
+
|
|
69
|
+
### 异步 API
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
enableAlertBeforeUnload(params: EnableAlertBeforeUnloadParams): Promise<object>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 入参
|
|
76
|
+
|
|
77
|
+
<table>
|
|
78
|
+
<thead>
|
|
79
|
+
<tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
|
|
80
|
+
</thead>
|
|
81
|
+
<tbody>
|
|
82
|
+
<tr><td><code>message</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>返回前确认弹窗的文案。</td></tr>
|
|
83
|
+
</tbody>
|
|
84
|
+
</table>
|
|
85
|
+
|
|
86
|
+
## 调用示例
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
import { enableAlertBeforeUnload } from '@doubao-dev/framework/api';
|
|
90
|
+
|
|
91
|
+
await enableAlertBeforeUnload({ message: '确定离开当前页面吗?' });
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## 成功返回
|
|
95
|
+
|
|
96
|
+
无返回字段。
|
|
97
|
+
|
|
98
|
+
## 错误处理
|
|
99
|
+
|
|
100
|
+
错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
|
|
101
|
+
|
|
102
|
+
### 失败示例
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"errNo": 103,
|
|
107
|
+
"errMsg": "feature not support"
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 错误码
|
|
112
|
+
|
|
113
|
+
<table>
|
|
114
|
+
<thead>
|
|
115
|
+
<tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
|
|
116
|
+
</thead>
|
|
117
|
+
<tbody>
|
|
118
|
+
<tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前调用不来自页面容器</td><td>请在页面生命周期内调用。</td></tr>
|
|
119
|
+
<tr><td><code>104</code></td><td><code>invalid parameter</code></td><td>Android、iOS</td><td>message 缺失或类型不是字符串</td><td>传入字符串类型的 message。</td></tr>
|
|
120
|
+
</tbody>
|
|
121
|
+
</table>
|
|
122
|
+
|
|
123
|
+
#### 通用错误码
|
|
124
|
+
|
|
125
|
+
<table>
|
|
126
|
+
<thead>
|
|
127
|
+
<tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
|
|
128
|
+
</thead>
|
|
129
|
+
<tbody>
|
|
130
|
+
<tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
|
|
131
|
+
</tbody>
|
|
132
|
+
</table>
|
|
133
|
+
|
|
134
|
+
<a id="disablealertbeforeunload"></a>
|
|
135
|
+
### disableAlertBeforeUnload()
|
|
136
|
+
|
|
137
|
+
# disableAlertBeforeUnload
|
|
138
|
+
|
|
139
|
+
关闭页面返回前提醒。
|
|
140
|
+
|
|
141
|
+
## 扫码预览
|
|
142
|
+

|
|
143
|
+
|
|
144
|
+
## 支持版本
|
|
145
|
+
|
|
146
|
+
前端库版本不低于 `0.0.43`。
|
|
147
|
+
|
|
148
|
+
## 支持平台
|
|
149
|
+
|
|
150
|
+
<table>
|
|
151
|
+
<thead>
|
|
152
|
+
<tr><th>平台</th><th>支持情况</th></tr>
|
|
153
|
+
</thead>
|
|
154
|
+
<tbody>
|
|
155
|
+
<tr><td>Android</td><td>支持</td></tr>
|
|
156
|
+
<tr><td>iOS</td><td>支持</td></tr>
|
|
157
|
+
<tr><td>PC</td><td>不支持</td></tr>
|
|
158
|
+
<tr><td>HarmonyOS</td><td>不支持</td></tr>
|
|
159
|
+
</tbody>
|
|
160
|
+
</table>
|
|
161
|
+
|
|
162
|
+
## 接入准备
|
|
163
|
+
|
|
164
|
+
### 前置条件
|
|
165
|
+
|
|
166
|
+
- 必须在页面容器内调用
|
|
167
|
+
|
|
168
|
+
## 调用方式
|
|
169
|
+
|
|
170
|
+
### 异步 API
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
disableAlertBeforeUnload(params?: object): Promise<object>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## 入参
|
|
177
|
+
|
|
178
|
+
无。
|
|
179
|
+
|
|
180
|
+
## 调用示例
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
import { disableAlertBeforeUnload } from '@doubao-dev/framework/api';
|
|
184
|
+
|
|
185
|
+
await disableAlertBeforeUnload();
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## 成功返回
|
|
189
|
+
|
|
190
|
+
无返回字段。
|
|
191
|
+
|
|
192
|
+
## 错误处理
|
|
193
|
+
|
|
194
|
+
错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
|
|
195
|
+
|
|
196
|
+
### 失败示例
|
|
197
|
+
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"errNo": 103,
|
|
201
|
+
"errMsg": "feature not support"
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 错误码
|
|
206
|
+
|
|
207
|
+
<table>
|
|
208
|
+
<thead>
|
|
209
|
+
<tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
|
|
210
|
+
</thead>
|
|
211
|
+
<tbody>
|
|
212
|
+
<tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前调用不来自页面容器</td><td>请在页面生命周期内调用。</td></tr>
|
|
213
|
+
</tbody>
|
|
214
|
+
</table>
|
|
215
|
+
|
|
216
|
+
#### 通用错误码
|
|
217
|
+
|
|
218
|
+
<table>
|
|
219
|
+
<thead>
|
|
220
|
+
<tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
|
|
221
|
+
</thead>
|
|
222
|
+
<tbody>
|
|
223
|
+
<tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
|
|
224
|
+
</tbody>
|
|
225
|
+
</table>
|
|
226
|
+
|
|
22
227
|
<a id="showmodal"></a>
|
|
23
228
|
### showModal()
|
|
24
229
|
|
|
@@ -523,7 +728,7 @@ console.log(result.tapIndex);
|
|
|
523
728
|
|
|
524
729
|
# showBottomSheet
|
|
525
730
|
|
|
526
|
-
|
|
731
|
+
显示豆包底部弹窗。
|
|
527
732
|
|
|
528
733
|
## 扫码预览
|
|
529
734
|

|
|
@@ -531,7 +736,7 @@ console.log(result.tapIndex);
|
|
|
531
736
|
## 使用限制
|
|
532
737
|
|
|
533
738
|
> [!WARNING]
|
|
534
|
-
> **Android、iOS**:iOS
|
|
739
|
+
> **Android、iOS**:iOS 无法展示弹窗或不支持三按钮时返回 errNo 103 失败,Android 无法展示弹窗时返回 action=cancel、source=hostUnavailable 的成功结果,且不检测三按钮能力;调用方无法用统一逻辑处理弹窗不可用场景。
|
|
535
740
|
|
|
536
741
|
## 支持版本
|
|
537
742
|
|
|
@@ -565,8 +770,8 @@ console.log(result.tapIndex);
|
|
|
565
770
|
|
|
566
771
|
## 使用说明
|
|
567
772
|
|
|
568
|
-
`content` 接收受限 HTML
|
|
569
|
-
|
|
773
|
+
`content` 接收受限 HTML 字符串,当前支持段落、加粗和链接;危险标签、事件属性和危险链接协议会被拦截。
|
|
774
|
+
链接会在豆包内打开,不会关闭弹窗。
|
|
570
775
|
Promise 在用户点击按钮或点击蒙层关闭后 resolve。
|
|
571
776
|
|
|
572
777
|
- content 为受限 HTML,仅支持段落、加粗和链接,危险标签、事件属性和非 http(s) 链接会被拦截并触发失败;链接点击打开 H5,不关闭弹窗。
|
|
@@ -671,13 +876,13 @@ if (result.action === 'buttonClick') {
|
|
|
671
876
|
</thead>
|
|
672
877
|
<tbody>
|
|
673
878
|
<tr><td><code>104</code></td><td><code>invalid parameter</code></td><td>Android、iOS</td><td>title 或 content 为空、content 含被拦截的标签/事件属性/危险链接、buttons 数量不在 1-3 范围;iOS 还会在按钮语义重复或按钮文案为空时返回</td><td>修正参数后重试。</td></tr>
|
|
674
|
-
<tr><td><code>103</code></td><td><code>feature not support</code></td><td>iOS</td><td
|
|
879
|
+
<tr><td><code>103</code></td><td><code>feature not support</code></td><td>iOS</td><td>豆包 iOS 无法展示底部弹窗,或不支持包含 3 个按钮的弹窗</td><td>降级到自定义弹窗;同场景 Android 返回 action=cancel、source=hostUnavailable 的成功结果,请一并做降级处理。</td></tr>
|
|
675
880
|
</tbody>
|
|
676
881
|
</table>
|
|
677
882
|
|
|
678
883
|
## 平台差异
|
|
679
884
|
|
|
680
|
-
- **iOS
|
|
885
|
+
- **iOS**:无法展示底部弹窗或不支持三按钮时返回 errNo 103 失败;Android 无法展示底部弹窗时返回 action=cancel、source=hostUnavailable 的成功结果,且不校验三按钮能力。
|
|
681
886
|
|
|
682
887
|
<a id="getmenubuttonboundingclientrect"></a>
|
|
683
888
|
### getMenuButtonBoundingClientRect()
|
|
@@ -924,6 +1129,15 @@ showToast({
|
|
|
924
1129
|
|
|
925
1130
|
## 相关类型
|
|
926
1131
|
|
|
1132
|
+
<a id="enablealertbeforeunloadparams"></a>
|
|
1133
|
+
### EnableAlertBeforeUnloadParams
|
|
1134
|
+
|
|
1135
|
+
开启返回前提醒的参数。
|
|
1136
|
+
|
|
1137
|
+
#### Properties
|
|
1138
|
+
|
|
1139
|
+
• **message**: `string` - 返回前确认弹窗的文案
|
|
1140
|
+
|
|
927
1141
|
<a id="showmodalparams"></a>
|
|
928
1142
|
### ShowModalParams
|
|
929
1143
|
|