@doubao-dev/cli 0.0.26 → 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.
Files changed (67) hide show
  1. package/dist/2168.js +14 -14
  2. package/dist/{2861.js → 2611.js} +2 -2
  3. package/dist/4931.js +1 -1
  4. package/dist/@byted-doubao-apps/template-empty/package.json +3 -3
  5. package/dist/@byted-doubao-apps/template-starter/package.json +3 -3
  6. package/dist/agentic-service.js +1 -0
  7. package/dist/assets/web-sdk-debugger/index.html +1 -1
  8. package/dist/assets/web-sdk-debugger/static/js/index.1448a806d8.js +26 -0
  9. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-api.template.js +0 -0
  10. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-framework.template.js +0 -0
  11. package/dist/check.js +1 -0
  12. package/dist/dbx.js +2 -2
  13. package/dist/demo-server.js +3 -3
  14. package/dist/demo.js +2 -0
  15. package/dist/dev-shell.js +1 -1
  16. package/dist/dev.js +5 -5
  17. package/dist/init.js +4 -4
  18. package/dist/ink.js +1 -1
  19. package/dist/login.js +1 -1
  20. package/dist/prompt.js +1 -1
  21. package/dist/run.js +2 -2
  22. package/dist/sdk.js +15 -15
  23. package/dist/sdk~1.js +5 -5
  24. package/dist/skill.js +1 -1
  25. package/dist/skills.js +1 -1
  26. package/dist/skills~2.js +2 -2
  27. package/dist/templates/README.md +1 -1
  28. package/dist/workspace.js +1 -1
  29. package/dist/yaml.js +1 -1
  30. package/package.json +2 -2
  31. package/skills/dbx-eval/SKILL.md +2 -2
  32. package/skills/doubao-agentic-service-development/SKILL.md +8 -8
  33. package/skills/doubao-agentic-service-development/references/auth.md +2 -2
  34. package/skills/doubao-agentic-service-development/references/business-template-debug.md +3 -3
  35. package/skills/doubao-agentic-service-development/references/dev-debug.md +2 -2
  36. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/01-/345/237/272/347/241/200.md +175 -15
  37. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +3 -3
  38. 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
  39. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/04-/345/256/232/344/275/215.md +1 -1
  40. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/08-/344/272/244/344/272/222.md +221 -7
  41. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/10-/347/275/221/347/273/234.md +20 -20
  42. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/11-/345/252/222/344/275/223.md +2 -2
  43. 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
  44. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/16-/350/223/235/347/211/231.md +3 -3
  45. 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
  46. 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
  47. 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
  48. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/32-/346/211/253/347/240/201.md +1 -1
  49. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +1 -1
  50. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/34-/351/234/207/345/212/250.md +2 -2
  51. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/common-errors.md +1 -1
  52. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/groups.md +3 -3
  53. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/quick-reference.md +7 -3
  54. package/skills/doubao-agentic-service-development/references/frontend-dev.md +3 -3
  55. package/skills/doubao-agentic-service-development/references/generate-skill.md +1 -1
  56. package/skills/doubao-agentic-service-development/references/local-debug/simulator-eval.md +26 -22
  57. package/skills/doubao-agentic-service-development/references/manifest-guide.md +3 -3
  58. package/skills/doubao-agentic-service-development/references/mcp-protocol.md +1 -1
  59. package/skills/doubao-agentic-service-development/references/overview.md +2 -3
  60. package/skills/doubao-agentic-service-development/references/service-notice.md +1 -3
  61. package/skills/doubao-agentic-service-development/references/task-management.md +1 -3
  62. package/dist/assets/web-sdk-debugger/static/js/index.b85cbec3be.js +0 -26
  63. package/dist/dbx-demo.js +0 -2
  64. package/dist/eval.js +0 -1
  65. package/dist/validate.js +0 -1
  66. /package/dist/{2861.js.LICENSE.txt → 2611.js.LICENSE.txt} +0 -0
  67. /package/dist/{6780.js → 4594.js} +0 -0
@@ -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) | 显示 Native 底部弹窗。 |
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
+ ![扫码预览 enableAlertBeforeUnload](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fui%252Falert-before-unload%252Findex)
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
+ ![扫码预览 disableAlertBeforeUnload](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fui%252Falert-before-unload%252Findex)
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
- 显示 Native 底部弹窗。
731
+ 显示豆包底部弹窗。
527
732
 
528
733
  ## 扫码预览
529
734
  ![扫码预览 showBottomSheet](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fui%252Fshow-bottom-sheet%252Findex)
@@ -531,7 +736,7 @@ console.log(result.tapIndex);
531
736
  ## 使用限制
532
737
 
533
738
  > [!WARNING]
534
- > **Android、iOS**:iOS 在 provider 不可用或不支持三按钮时返回 errNo 103 失败,Android 在 provider 不可用时返回 action=cancel、source=hostUnavailable 的成功结果,且不检测三按钮能力;调用方无法用统一逻辑处理弹窗不可用场景。
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 字符串,当前支持段落、加粗和链接,Native 会拦截危险标签、事件属性和危险链接协议。
569
- 链接点击由 Native 打开 H5,不会关闭弹窗。
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>豆包底部弹窗能力不可用,或按钮数为 3 时当前 provider 不支持三按钮</td><td>降级到自定义弹窗;同场景 Android 返回 action=cancel、source=hostUnavailable 的成功结果,请一并做降级处理。</td></tr>
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**:provider 不可用或不支持三按钮时返回 errNo 103 失败;Android 在 provider 不可用时返回 action=cancel、source=hostUnavailable 的成功结果,且不校验三按钮能力。
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
 
@@ -82,7 +82,7 @@ request(params: RequestParams): Promise<RequestResponse>
82
82
  <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
83
83
  </thead>
84
84
  <tbody>
85
- <tr><td><code>data</code></td><td><code>string | Record&lt;string, any&gt; | ArrayBuffer</code></td><td>否</td><td><code>-</code></td><td>-</td><td>请求体数据。<br><br>传给服务器的数据最终会是 `String` 或 `ArrayBuffer`:<br>- 若 `data` 是 `string` 或 `ArrayBuffer`,直接使用;<br>- 若 `header['content-type']` 是 `application/x-www-form-urlencoded`,会被编码为 query string,例如:`encodeURIComponent(k)=encodeURIComponent(v)`;<br>- 若 `header['content-type']` 是 `application/json`,会执行 JSON 序列化;<br>- 若 `data` 是普通对象且未命中上述类型,也会执行 JSON 序列化;<br>- 其他类型会调用 `toString()`</td></tr>
85
+ <tr><td><code>data</code></td><td><code>string | ArrayBuffer | Record&lt;string, any&gt;</code></td><td>否</td><td><code>-</code></td><td>-</td><td>请求体数据。<br><br>传给服务器的数据最终会是 `String` 或 `ArrayBuffer`:<br>- 若 `data` 是 `string` 或 `ArrayBuffer`,直接使用;<br>- 若 `header['content-type']` 是 `application/x-www-form-urlencoded`,会被编码为 query string,例如:`encodeURIComponent(k)=encodeURIComponent(v)`;<br>- 若 `header['content-type']` 是 `application/json`,会执行 JSON 序列化;<br>- 若 `data` 是普通对象且未命中上述类型,也会执行 JSON 序列化;<br>- 其他类型会调用 `toString()`</td></tr>
86
86
  <tr><td><code>dataType</code></td><td><code>&quot;string&quot; | &quot;json&quot; | &quot;arraybuffer&quot;</code></td><td>否</td><td><code>&quot;json&quot;</code></td><td>-</td><td>期望返回的数据格式。<br>- `json`:尝试按 JSON 解析;<br>- `string`:按字符串返回。<br>- `arraybuffer`:按二进制数据返回。</td></tr>
87
87
  <tr><td><code>header</code></td><td><code>Record&lt;string, string&gt;</code></td><td>否</td><td><code>{&quot;content-type&quot;: &quot;application/json&quot;}</code></td><td>-</td><td>请求 Header。</td></tr>
88
88
  <tr><td><code>method</code></td><td><code>RequestMethod</code></td><td>否</td><td><code>&quot;GET&quot;</code></td><td>-</td><td>请求方法。Android、iOS:Android 仅支持 GET/POST/PUT/DELETE,其余方法返回 &quot;Illegal method&quot;;iOS 仅支持 GET/POST,其余方法返回 &quot;method type not supported&quot;。</td></tr>
@@ -113,7 +113,7 @@ console.log(result.statusCode, result.data);
113
113
  <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
114
114
  </thead>
115
115
  <tbody>
116
- <tr><td><code>data</code></td><td><code>string | Record&lt;string, any&gt; | ArrayBuffer</code></td><td>否</td><td>响应数据,类型由 `dataType` 决定。</td></tr>
116
+ <tr><td><code>data</code></td><td><code>string | ArrayBuffer | Record&lt;string, any&gt;</code></td><td>否</td><td>响应数据,类型由 `dataType` 决定。</td></tr>
117
117
  <tr><td><code>header</code></td><td><code>Record&lt;string, string&gt;</code></td><td>是</td><td>HTTP 响应头。</td></tr>
118
118
  <tr><td><code>statusCode</code></td><td><code>number</code></td><td>是</td><td>HTTP 状态码。</td></tr>
119
119
  </tbody>
@@ -292,8 +292,8 @@ socketTask.onError((event) => {
292
292
  <tr><td><code>CLOSED</code></td><td><code>3</code></td><td>是</td><td>表示 Socket 连接已关闭。<br><br>进入该状态后,该任务不会再收到新的消息,也不应继续调用 `send`。</td></tr>
293
293
  <tr><td><code>CLOSING</code></td><td><code>2</code></td><td>是</td><td>表示 Socket 连接关闭中。<br><br>调用 SocketTask.close 后,等待豆包客户端完成关闭流程时通常处于该状态。</td></tr>
294
294
  <tr><td><code>CONNECTING</code></td><td><code>0</code></td><td>是</td><td>表示 Socket 正在连接。<br><br>`connectSocket` 刚返回且豆包客户端尚未完成握手时通常处于该状态。</td></tr>
295
- <tr><td><code>onClose</code></td><td><code>(callback: (event: SocketTaskCloseEvent) =&gt; void) =&gt; void</code></td><td>是</td><td>监听 WebSocket 与服务器连接断开的事件。<br><br>主动关闭、服务端关闭、连接被回收都可能触发该回调。<br>回调触发后当前任务会从内部连接表移除。</td></tr>
296
- <tr><td><code>onError</code></td><td><code>(callback: (event: SocketTaskErrorEvent) =&gt; void) =&gt; void</code></td><td>是</td><td>监听 WebSocket 发生错误的事件。<br><br>连接创建、发送、关闭或底层通道出现异常时触发。<br>该回调只表示发生错误,不等同于连接一定已经关闭;是否关闭应结合 `readyState`<br>或后续 `onClose` 事件判断。</td></tr>
295
+ <tr><td><code>onClose</code></td><td><code>(callback: (event: SocketTaskCloseEvent) =&gt; void) =&gt; void</code></td><td>是</td><td>监听 WebSocket 与服务器连接断开的事件。<br><br>主动关闭、服务端关闭、连接被回收都可能触发该回调。<br>回调触发后当前任务已经结束,不应继续使用。</td></tr>
296
+ <tr><td><code>onError</code></td><td><code>(callback: (event: SocketTaskErrorEvent) =&gt; void) =&gt; void</code></td><td>是</td><td>监听 WebSocket 发生错误的事件。<br><br>连接创建、发送、关闭或 WebSocket 通道出现异常时触发。<br>该回调只表示发生错误,不等同于连接一定已经关闭;是否关闭应结合 `readyState`<br>或后续 `onClose` 事件判断。</td></tr>
297
297
  <tr><td><code>onMessage</code></td><td><code>(callback: (event: SocketTaskMessageEvent) =&gt; void) =&gt; void</code></td><td>是</td><td>监听 WebSocket 接收到服务器发送信息的事件。<br><br>服务端每下发一条消息都会触发一次回调。消息内容通过 `event.data` 返回,<br>类型可能是 `string` 或 `ArrayBuffer`。</td></tr>
298
298
  <tr><td><code>onOpen</code></td><td><code>(callback: (event: SocketTaskOpenEvent) =&gt; void) =&gt; void</code></td><td>是</td><td>监听 WebSocket 连接服务器成功的事件。<br><br>可以注册多个回调。连接成功后触发回调,并携带握手响应 Header、协议类型等信息。<br>通常应在该回调中或之后调用 `send`。</td></tr>
299
299
  <tr><td><code>OPEN</code></td><td><code>1</code></td><td>是</td><td>表示 Socket 连接已经打开。<br><br>进入该状态后可以调用 SocketTask.send 发送数据。</td></tr>
@@ -347,7 +347,7 @@ socketTask.onError((event) => {
347
347
  </thead>
348
348
  <tbody>
349
349
  <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
350
- <tr><td><code>113</code></td><td><code>bridge unavailable</code></td><td>Bridge 不可用</td><td>Android、iOS</td></tr>
350
+ <tr><td><code>113</code></td><td><code>bridge unavailable</code></td><td>JS API 暂不可用</td><td>Android、iOS</td></tr>
351
351
  </tbody>
352
352
  </table>
353
353
 
@@ -428,7 +428,7 @@ uploadFile(params: UploadFileParams): UploadTask
428
428
  <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
429
429
  </thead>
430
430
  <tbody>
431
- <tr><td><code>enableProfile</code></td><td><code>false</code></td><td>否</td><td><code>false</code></td><td>-</td><td>是否返回网络 profile。当前 native upload 链路暂不支持,仅支持 false。</td></tr>
431
+ <tr><td><code>enableProfile</code></td><td><code>false</code></td><td>否</td><td><code>false</code></td><td>-</td><td>是否返回网络 profile。豆包当前仅支持 false。</td></tr>
432
432
  <tr><td><code>filePath</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>要上传文件资源的本地路径。</td></tr>
433
433
  <tr><td><code>formData</code></td><td><code>Record&lt;string, unknown&gt;</code></td><td>否</td><td><code>-</code></td><td>-</td><td>额外的 form-data 字段。对象或数组值会按 JSON 字符串传递。</td></tr>
434
434
  <tr><td><code>header</code></td><td><code>Record&lt;string, string&gt;</code></td><td>否</td><td><code>-</code></td><td>-</td><td>HTTP 请求 Header。`referer`、`user-agent`、`content-type` 等由豆包客户端管理的字段不会被业务覆盖。</td></tr>
@@ -710,11 +710,11 @@ downloadTask.onHeadersReceived((event) => {
710
710
  <a id="sockettasksendparams"></a>
711
711
  ### SocketTaskSendParams
712
712
 
713
- SocketTask.send 的参数。 send 只负责向已打开的 WebSocket 连接写入一条消息,不返回 Promise。 发送失败、连接未就绪或底层通道异常时,会通过同一个 SocketTask 的 onError 回调通知。
713
+ SocketTask.send 的参数。 send 只负责向已打开的 WebSocket 连接写入一条消息,不返回 Promise。 发送失败、连接未就绪或 WebSocket 通道异常时,会通过同一个 SocketTask 的 onError 回调通知。
714
714
 
715
715
  #### Properties
716
716
 
717
- • **data**: `string | ArrayBuffer` - 需要发送给服务端的数据。 - 传入 string 时按文本消息发送; - 传入 ArrayBuffer 时按二进制消息发送,内部会编码后交给豆包客户端处理。 建议只在 onOpen 回调触发后调用 send,此时 readyState 通常为 SocketTask.OPEN
717
+ • **data**: `string | ArrayBuffer` - 需要发送给服务端的数据。 - 传入 string 时按文本消息发送; - 传入 ArrayBuffer 时按二进制消息发送。 建议只在 onOpen 回调触发后调用 send,此时 readyState 通常为 SocketTask.OPEN
718
718
 
719
719
  <a id="sockettaskcloseparams"></a>
720
720
  ### SocketTaskCloseParams
@@ -734,8 +734,8 @@ WebSocket 连接成功事件。 当豆包客户端完成 WebSocket 握手并进
734
734
  #### Properties
735
735
 
736
736
  • **header**: `Record<string, string>` - WebSocket 握手响应中的 Response Header。 豆包 Android、iOS 当前不会透出真实握手响应头,该字段固定返回空对象 {}, 请不要依赖它读取服务端返回的握手 Header
737
- • **protocolType?**: `string` - 当前连接使用的网络传输层协议。 该字段由豆包客户端返回,部分运行环境可能不提供
738
- • **socketType?**: `string` - 豆包客户端使用的 WebSocket 实现类型。 可能的值由豆包客户端实现决定,例如系统 WebSocket 实现或豆包网络库实现; 部分运行环境可能不提供
737
+ • **protocolType?**: `string` - 当前连接使用的网络传输层协议。 豆包无法获取时不返回该字段
738
+ • **socketType?**: `string` - 当前连接使用的 WebSocket 组件类型。 具体值因客户端平台而异;豆包无法获取时不返回该字段
739
739
 
740
740
  <a id="sockettaskmessageevent"></a>
741
741
  ### SocketTaskMessageEvent
@@ -744,9 +744,9 @@ WebSocket 收到服务端消息事件。 服务端通过当前连接下发消息
744
744
 
745
745
  #### Properties
746
746
 
747
- • **data**: `string | ArrayBuffer` - 收到的服务端消息。 - 文本消息返回 string; - 二进制消息返回 ArrayBuffer。 如果运行环境不支持二进制解码能力,底层传回的内容可能仍保持字符串形式
748
- • **protocolType?**: `string` - 当前消息所属连接使用的协议。 该字段由豆包客户端返回,部分运行环境可能不提供
749
- • **socketType?**: `string` - 豆包客户端使用的 WebSocket 实现类型。 该字段由豆包客户端返回,部分运行环境可能不提供
747
+ • **data**: `string | ArrayBuffer` - 收到的服务端消息。 - 文本消息返回 string; - 二进制消息返回 ArrayBuffer。 豆包无法将二进制消息转换为 ArrayBuffer 时,内容会保持字符串形式
748
+ • **protocolType?**: `string` - 当前消息所属连接使用的协议。 豆包无法获取时不返回该字段
749
+ • **socketType?**: `string` - 当前连接使用的 WebSocket 组件类型。 具体值因客户端平台而异;豆包无法获取时不返回该字段
750
750
 
751
751
  <a id="sockettaskcloseevent"></a>
752
752
  ### SocketTaskCloseEvent
@@ -758,17 +758,17 @@ WebSocket 关闭事件。 当前连接被主动关闭、服务端关闭或豆包
758
758
  • **code?**: `number` - 关闭状态码。 可能来自调用 SocketTask.close 时传入的 code,也可能来自服务端或豆包客户端
759
759
  • **reason?**: `string` - 关闭原因。 可能来自调用 SocketTask.close 时传入的 reason,也可能来自服务端或豆包客户端
760
760
  • **errMsg?**: `string` - 错误信息。 非正常关闭时豆包客户端可能通过该字段补充失败原因;正常关闭时通常为空
761
- • **protocolType?**: `string` - 当前连接使用的网络传输层协议。 该字段由豆包客户端返回,部分运行环境可能不提供
762
- • **socketType?**: `string` - 豆包客户端使用的 WebSocket 实现类型。 该字段由豆包客户端返回,部分运行环境可能不提供
761
+ • **protocolType?**: `string` - 当前连接使用的网络传输层协议。 豆包无法获取时不返回该字段
762
+ • **socketType?**: `string` - 当前连接使用的 WebSocket 组件类型。 具体值因客户端平台而异;豆包无法获取时不返回该字段
763
763
 
764
764
  <a id="sockettaskerrorevent"></a>
765
765
  ### SocketTaskErrorEvent
766
766
 
767
- WebSocket 错误事件。 连接创建失败、发送失败、主动关闭失败、底层通道异常等错误都会通过该事件通知。 如果错误发生在连接创建阶段,readyState 会变为 undefined 或 SocketTask.CLOSED。
767
+ WebSocket 错误事件。 连接创建失败、发送失败、主动关闭失败、WebSocket 通道异常等错误都会通过该事件通知。 如果错误发生在连接创建阶段,readyState 会变为 undefined 或 SocketTask.CLOSED。
768
768
 
769
769
  #### Properties
770
770
 
771
- • **errMsg**: `string` - 错误信息。 由前端参数校验、编码过程或豆包客户端返回的失败原因组成,可直接用于日志上报
771
+ • **errMsg**: `string` - 错误信息。 描述参数校验、数据编码或 WebSocket 操作的失败原因,可直接用于日志上报
772
772
 
773
773
  <a id="sockettask"></a>
774
774
  ### SocketTask
@@ -785,9 +785,9 @@ WebSocket 错误事件。 连接创建失败、发送失败、主动关闭失败
785
785
  • **send**: `(params: SocketTaskSendParams) => void` - 通过 WebSocket 连接发送数据。 该方法只发起发送动作,不返回发送结果。建议在 readyState === SocketTask.OPEN 或收到 onOpen 事件后调用;如果连接未就绪、数据编码失败或发送失败, 会触发 onError
786
786
  • **close**: `(params?: SocketTaskCloseParams) => void` - 关闭 WebSocket 连接。 调用后会发起关闭动作,并把 readyState 置为 SocketTask.CLOSING。 最终关闭完成时触发 onClose;关闭动作失败时触发 onError
787
787
  • **onOpen**: `(callback: (event: SocketTaskOpenEvent) => void) => void` - 监听 WebSocket 连接服务器成功的事件。 可以注册多个回调。连接成功后触发回调,并携带握手响应 Header、协议类型等信息。 通常应在该回调中或之后调用 send
788
- • **onClose**: `(callback: (event: SocketTaskCloseEvent) => void) => void` - 监听 WebSocket 与服务器连接断开的事件。 主动关闭、服务端关闭、连接被回收都可能触发该回调。 回调触发后当前任务会从内部连接表移除
788
+ • **onClose**: `(callback: (event: SocketTaskCloseEvent) => void) => void` - 监听 WebSocket 与服务器连接断开的事件。 主动关闭、服务端关闭、连接被回收都可能触发该回调。 回调触发后当前任务已经结束,不应继续使用
789
789
  • **onMessage**: `(callback: (event: SocketTaskMessageEvent) => void) => void` - 监听 WebSocket 接收到服务器发送信息的事件。 服务端每下发一条消息都会触发一次回调。消息内容通过 event.data 返回, 类型可能是 string 或 ArrayBuffer
790
- • **onError**: `(callback: (event: SocketTaskErrorEvent) => void) => void` - 监听 WebSocket 发生错误的事件。 连接创建、发送、关闭或底层通道出现异常时触发。 该回调只表示发生错误,不等同于连接一定已经关闭;是否关闭应结合 readyState 或后续 onClose 事件判断
790
+ • **onError**: `(callback: (event: SocketTaskErrorEvent) => void) => void` - 监听 WebSocket 发生错误的事件。 连接创建、发送、关闭或 WebSocket 通道出现异常时触发。 该回调只表示发生错误,不等同于连接一定已经关闭;是否关闭应结合 readyState 或后续 onClose 事件判断
791
791
 
792
792
  <a id="uploadfileresult"></a>
793
793
  ### UploadFileResult
@@ -813,7 +813,7 @@ WebSocket 错误事件。 连接创建失败、发送失败、主动关闭失败
813
813
  • **header?**: `Record<string, string>` - HTTP 请求 Header。referer、user-agent、content-type 等由豆包客户端管理的字段不会被业务覆盖
814
814
  • **formData?**: `Record<string, unknown>` - 额外的 form-data 字段。对象或数组值会按 JSON 字符串传递
815
815
  • **timeout?**: `number` - 超时时间,单位 ms;不传时使用豆包客户端的默认超时配置
816
- • **enableProfile?**: `false` - 是否返回网络 profile。当前 native upload 链路暂不支持,仅支持 false
816
+ • **enableProfile?**: `false` - 是否返回网络 profile。豆包当前仅支持 false
817
817
 
818
818
  <a id="uploadtask"></a>
819
819
  ### UploadTask
@@ -180,7 +180,7 @@ audio.play();
180
180
  </thead>
181
181
  <tbody>
182
182
  <tr><td><code>event.errCode</code></td><td><code>-1001</code></td><td><code>background audio src is empty</code></td><td>Android、iOS</td><td>未设置 src 就调用 play</td><td>设置有效 src 后重试。</td></tr>
183
- <tr><td><code>event.errCode</code></td><td><code>-1002</code></td><td><code>background audio play failed</code></td><td>Android</td><td>底层播放器启动失败</td><td>检查资源地址和网络状态后重试。</td></tr>
183
+ <tr><td><code>event.errCode</code></td><td><code>-1002</code></td><td><code>background audio play failed</code></td><td>Android</td><td>播放器启动失败</td><td>检查资源地址和网络状态后重试。</td></tr>
184
184
  <tr><td><code>event.errCode</code></td><td><code>-1003</code></td><td><code>background audio seek failed</code></td><td>Android、iOS</td><td>播放位置跳转失败</td><td>等待 canplay 后在音频时长范围内重试。</td></tr>
185
185
  <tr><td><code>event.errCode</code></td><td><code>-1004</code></td><td><code>background audio player unavailable</code></td><td>Android、iOS</td><td>播放器无法创建或已经不可用</td><td>重新设置 src 后重试。</td></tr>
186
186
  <tr><td><code>event.errCode</code></td><td><code>-1005</code></td><td><code>background audio is occupied by another applet</code></td><td>Android、iOS</td><td>另一智能服务正在占用背景音频</td><td>提示用户结束其他背景音频后重试。</td></tr>
@@ -963,7 +963,7 @@ audio.play();
963
963
  <tr><td><code>event.errCode</code></td><td><code>-2006</code></td><td><code>inner audio seek failed</code></td><td>Android、iOS</td><td>播放位置跳转失败</td><td>等待 canplay 后在音频时长范围内重试。</td></tr>
964
964
  <tr><td><code>event.errCode</code></td><td><code>-2007</code></td><td><code>inner audio play failed</code></td><td>Android、iOS</td><td>音频播放失败</td><td>检查资源地址和网络状态后重试。</td></tr>
965
965
  <tr><td><code>event.errCode</code></td><td><code>-2009</code></td><td><code>inner audio playback is interrupted</code></td><td>Android、iOS</td><td>播放被其他音频任务中断</td><td>根据业务需要在中断结束后重新调用 play。</td></tr>
966
- <tr><td><code>event.errCode</code></td><td><code>-2010</code></td><td><code>inner audio runtime is unavailable</code></td><td>Android、iOS</td><td>当前页面的音频运行环境不可用</td><td>确保页面仍处于有效状态后重新创建实例。</td></tr>
966
+ <tr><td><code>event.errCode</code></td><td><code>-2010</code></td><td><code>inner audio runtime is unavailable</code></td><td>Android、iOS</td><td>当前页面无法创建音频实例</td><td>确保页面仍处于有效状态后重新创建实例。</td></tr>
967
967
  <tr><td><code>event.errCode</code></td><td><code>-2012</code></td><td><code>invalid seek position</code></td><td>Android、iOS</td><td>seek 位置不是有限非负数</td><td>传入大于或等于 0 的秒数。</td></tr>
968
968
  </tbody>
969
969
  </table>
@@ -240,7 +240,6 @@ if (result.toolError) {
240
240
  ## 使用说明
241
241
 
242
242
  用于将状态已经过期的 Widget 实例转换为固定卡片,用户点击后可跳转到指定页面。
243
- 底层通过 updateWidget 实现。
244
243
 
245
244
  `getWidgetInstanceId` 仅在卡片环境中有效,在智能服务页面中会返回 `undefined`。如果需要在页面中调用,
246
245
  请在 `navigateTo` 时通过参数传递卡片实例 ID。
@@ -600,7 +599,7 @@ createTask(params: CreateTaskParams): Promise<CreateTaskResult>
600
599
  </thead>
601
600
  <tbody>
602
601
  <tr><td><code>outTaskId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>开发者侧任务唯一标识,用于幂等和关联</td></tr>
603
- <tr><td><code>taskDetail</code></td><td><code>TaskDetail</code></td><td>是</td><td>-</td><td>-</td><td>模板对应的数据,传入对象时会在调用 native 前自动 JSON.stringify</td></tr>
602
+ <tr><td><code>taskDetail</code></td><td><code>TaskDetail</code></td><td>是</td><td>-</td><td>-</td><td>模板对应的数据,传入对象时会自动序列化为 JSON 字符串</td></tr>
604
603
  <tr><td><code>taskDetail.display_data</code></td><td><code>TaskDisplayData</code></td><td>是</td><td>-</td><td>-</td><td>任务展示数据。</td></tr>
605
604
  <tr><td><code>taskDetail.display_data.sub_title</code></td><td><code>string</code></td><td>否</td><td><code>-</code></td><td>-</td><td>任务副标题。</td></tr>
606
605
  <tr><td><code>taskDetail.display_data.title</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>任务标题。</td></tr>
@@ -1169,7 +1168,7 @@ Widget 更新阶段的错误。
1169
1168
  <a id="taskdetail"></a>
1170
1169
  ### TaskDetail
1171
1170
 
1172
- 任务详情。传入对象时会在调用 native 前自动 JSON.stringify。
1171
+ 任务详情。传入对象时会自动序列化为 JSON 字符串。
1173
1172
 
1174
1173
  #### Type
1175
1174
 
@@ -1184,7 +1183,7 @@ Widget 更新阶段的错误。
1184
1183
 
1185
1184
  • **outTaskId**: `string` - 开发者侧任务唯一标识,用于幂等和关联
1186
1185
  • **taskTemplate**: `TaskTemplate` - 任务样式模板,当前仅支持 remote_normal_v1
1187
- • **taskDetail**: `TaskDetail` - 模板对应的数据,传入对象时会在调用 native 前自动 JSON.stringify
1186
+ • **taskDetail**: `TaskDetail` - 模板对应的数据,传入对象时会自动序列化为 JSON 字符串
1188
1187
  • **taskType**: `TaskType` - 任务类型,当前支持 local 和 remote
1189
1188
 
1190
1189
  <a id="createtaskresult"></a>
@@ -580,7 +580,7 @@ console.log(available, discovering);
580
580
 
581
581
  通常先调用 startBluetoothDevicesDiscovery。
582
582
 
583
- - advertisData 与 serviceData 已由框架从 Base64 解码为 ArrayBuffer 返回
583
+ - `advertisData` 与 `serviceData` 以 ArrayBuffer 返回
584
584
 
585
585
  ## 调用方式
586
586
 
@@ -2695,7 +2695,7 @@ off();
2695
2695
 
2696
2696
  ## 使用说明
2697
2697
 
2698
- - advertisData 与 serviceData 已由框架从 Base64 解码为 ArrayBuffer 返回
2698
+ - `advertisData` 与 `serviceData` 以 ArrayBuffer 返回
2699
2699
 
2700
2700
  ## 调用方式
2701
2701
 
@@ -2932,7 +2932,7 @@ off();
2932
2932
 
2933
2933
  `readBLECharacteristicValue` 读到的数据和 `notifyBLECharacteristicValueChange` 开启后的通知都会从此事件回传。
2934
2934
 
2935
- - 读取结果与订阅通知都会从此事件回传,value 已由框架从 Base64 解码为 ArrayBuffer
2935
+ - 读取结果与订阅通知都会从此事件回传,`value` 以 ArrayBuffer 返回
2936
2936
 
2937
2937
  ## 调用方式
2938
2938
 
@@ -112,7 +112,7 @@ console.log(open);
112
112
  <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
113
113
  </thead>
114
114
  <tbody>
115
- <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android</td><td>当前运行环境无法获取系统无障碍服务</td><td>在具备系统无障碍服务的设备上调用。</td></tr>
115
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android</td><td>当前设备不支持获取系统无障碍服务状态</td><td>在支持系统无障碍服务的设备上调用。</td></tr>
116
116
  </tbody>
117
117
  </table>
118
118
 
@@ -155,7 +155,7 @@ console.log(result.platform, result.benchmarkLevel);
155
155
 
156
156
  ## 使用说明
157
157
 
158
- - `platform` 优先取自 globalProps.platform,未注入时由 globalProps.os 推导;`benchmarkLevel`、`memorySize`、`deviceAbi` 和 `cpuType` 也取自 globalProps
158
+ - `platform` 返回小写的客户端平台标识;`benchmarkLevel` 无法获取时返回 -1
159
159
 
160
160
  ## 调用方式
161
161
 
@@ -214,8 +214,8 @@ console.log(result.platform, result.benchmarkLevel);
214
214
 
215
215
  ## 平台差异
216
216
 
217
- - **Android**:`abi`、`deviceAbi`、`cpuType` 仅在运行环境注入对应 globalProps 字段时返回
218
- - **iOS**:未注入时不返回 `abi`、`deviceAbi`、`cpuType`
217
+ - **Android**:`abi`、`deviceAbi`、`cpuType` 为可选字段,豆包无法获取时不返回
218
+ - **iOS**:不返回 `abi`、`deviceAbi`、`cpuType`
219
219
 
220
220
  ## 相关类型
221
221
 
@@ -135,7 +135,7 @@ console.log(data);
135
135
  <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
136
136
  </thead>
137
137
  <tbody>
138
- <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前豆包版本或运行环境未提供剪贴板读取能力</td><td>在支持剪贴板能力的豆包版本中调用。</td></tr>
138
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前豆包版本不支持读取剪贴板</td><td>升级至支持剪贴板能力的豆包版本后重试。</td></tr>
139
139
  </tbody>
140
140
  </table>
141
141
 
@@ -268,7 +268,7 @@ await setClipboardData({ data: '复制内容' });
268
268
  <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
269
269
  </thead>
270
270
  <tbody>
271
- <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前豆包版本或运行环境未提供剪贴板写入能力</td><td>在支持剪贴板能力的豆包版本中调用。</td></tr>
271
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前豆包版本不支持写入剪贴板</td><td>升级至支持剪贴板能力的豆包版本后重试。</td></tr>
272
272
  <tr><td><code>106</code></td><td><code>system permission denied</code></td><td>Android</td><td>写入后系统未授予剪贴板访问权限,写入未生效</td><td>引导用户在系统设置中开启剪贴板相关权限后重试。</td></tr>
273
273
  </tbody>
274
274
  </table>
@@ -158,7 +158,7 @@ console.log(result, scanType);
158
158
  <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
159
159
  </thead>
160
160
  <tbody>
161
- <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前豆包版本或运行环境未提供扫码能力</td><td>在支持扫码能力的豆包版本中调用。</td></tr>
161
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>当前豆包版本不支持扫码</td><td>升级至支持扫码能力的豆包版本后重试。</td></tr>
162
162
  <tr><td><code>112</code></td><td><code>invalid result</code></td><td>iOS</td><td>扫码成功但未返回可用的扫码结果数据</td><td>稍后重试;持续失败时反馈扫码结果异常。</td></tr>
163
163
  </tbody>
164
164
  </table>
@@ -30,7 +30,7 @@
30
30
  ## 使用限制
31
31
 
32
32
  > [!WARNING]
33
- > **iOS**:豆包 iOS 未注册 doubao.getScreenBrightness,仅提供 IDL 抽象类,调用直接失败;iOS 上调用无法取得屏幕亮度。
33
+ > **iOS**:豆包 iOS 暂不支持该接口,调用直接失败;iOS 上调用无法取得屏幕亮度。
34
34
 
35
35
  ## 支持版本
36
36
 
@@ -26,7 +26,7 @@
26
26
  ## 使用限制
27
27
 
28
28
  > [!WARNING]
29
- > **Android**:Android 底层要求必传 type,省略可能导致调用不生效;未显式传 type 的调用在 Android 上行为不确定。
29
+ > **Android**:Android 要求必传 type,省略可能导致调用不生效;未显式传 type 的调用在 Android 上行为不确定。
30
30
 
31
31
  ## 支持版本
32
32
 
@@ -77,7 +77,7 @@ vibrateShort(params?: VibrateShortParams): Promise<object>
77
77
  <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
78
78
  </thead>
79
79
  <tbody>
80
- <tr><td><code>type</code></td><td><code>VibrateShortType</code></td><td>否</td><td><code>medium</code></td><td>heavy 为强震动,medium 为中等震动,light 为轻微震动</td><td>震动强度类型。Android:Android 底层要求必传 type,省略可能导致调用不生效。</td></tr>
80
+ <tr><td><code>type</code></td><td><code>VibrateShortType</code></td><td>否</td><td><code>medium</code></td><td>heavy 为强震动,medium 为中等震动,light 为轻微震动</td><td>震动强度类型。Android:Android 要求必传 type,省略可能导致调用不生效。</td></tr>
81
81
  </tbody>
82
82
  </table>
83
83
 
@@ -39,7 +39,7 @@ JS API 调用失败时,异步 API 会 reject、同步 API 会 throw 一个错
39
39
  <tr><td><code>107</code></td><td><code>user permission denied</code></td><td>用户未授权</td></tr>
40
40
  <tr><td><code>110</code></td><td><code>API call prohibited</code></td><td>API 调用被禁止</td></tr>
41
41
  <tr><td><code>112</code></td><td><code>invalid result</code></td><td>返回结果无效</td></tr>
42
- <tr><td><code>113</code></td><td><code>bridge unavailable</code></td><td>Bridge 不可用</td></tr>
42
+ <tr><td><code>113</code></td><td><code>bridge unavailable</code></td><td>JS API 暂不可用</td></tr>
43
43
  <tr><td><code>114</code></td><td><code>operation cancelled</code></td><td>操作已取消</td></tr>
44
44
  <tr><td><code>115</code></td><td><code>operation timeout</code></td><td>操作超时</td></tr>
45
45
  <tr><td><code>116</code></td><td><code>resource not found</code></td><td>资源不存在</td></tr>