@doubao-dev/plugin-app-dev 0.0.0-stage → 0.0.40-canary-dea0ddc73-20261026073950

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 (107) hide show
  1. package/README.md +10 -2
  2. package/dist/147.js +9 -0
  3. package/dist/assets.d.ts +5 -0
  4. package/dist/assets.js +4 -0
  5. package/dist/index.d.ts +43 -0
  6. package/dist/index.js +1378 -0
  7. package/dist/plugin.d.ts +102 -0
  8. package/dist/plugin.js +4995 -0
  9. package/dist/preview.js +16 -0
  10. package/dist/rslib-runtime.js +33 -0
  11. package/dist/skills/doubao-plugin-app/SKILL.md +21 -0
  12. package/dist/skills/doubao-plugin-app/references/app-development.md +85 -0
  13. package/dist/skills/doubao-plugin-app/references/frontend/components/container-overlay.md +131 -0
  14. package/dist/skills/doubao-plugin-app/references/frontend/components/form-controls.md +146 -0
  15. package/dist/skills/doubao-plugin-app/references/frontend/components/interactive-controls.md +120 -0
  16. package/dist/skills/doubao-plugin-app/references/frontend/components/map-canvas.md +107 -0
  17. package/dist/skills/doubao-plugin-app/references/frontend/components/overview.md +43 -0
  18. package/dist/skills/doubao-plugin-app/references/frontend/components/scroll-list.md +149 -0
  19. package/dist/skills/doubao-plugin-app/references/frontend/components/text-media.md +209 -0
  20. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/01-/345/237/272/347/241/200.md +1389 -0
  21. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +1376 -0
  22. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/03-/350/207/252/345/256/232/344/271/211/351/200/232/344/277/241.md +127 -0
  23. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/04-/345/256/232/344/275/215.md +784 -0
  24. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/05-/345/255/230/345/202/250.md +1176 -0
  25. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/06-/350/267/257/347/224/261.md +839 -0
  26. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/07-/347/225/214/351/235/242.md +376 -0
  27. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/08-/344/272/244/344/272/222.md +1319 -0
  28. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/09-/350/276/223/345/205/245.md +192 -0
  29. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/10-/347/275/221/347/273/234.md +900 -0
  30. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/11-/345/252/222/344/275/223.md +1496 -0
  31. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/12-/344/270/232/345/212/241/350/203/275/345/212/233.md +1281 -0
  32. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/13-/347/231/273/345/275/225.md +511 -0
  33. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/14-/346/224/257/344/273/230.md +943 -0
  34. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/15-/346/225/260/346/215/256/345/210/206/346/236/220.md +124 -0
  35. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/16-/350/223/235/347/211/231.md +3364 -0
  36. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/17-wi-fi.md +1028 -0
  37. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/18-/345/212/240/351/200/237/345/272/246/350/256/241.md +354 -0
  38. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/19-ibeacon.md +508 -0
  39. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/20-/347/275/227/347/233/230.md +320 -0
  40. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/21-/350/256/276/345/244/207/346/226/271/345/220/221.md +351 -0
  41. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/22-/351/231/200/350/236/272/344/273/252.md +354 -0
  42. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/23-/345/252/222/344/275/223-/350/256/276/345/244/207-/347/275/221/347/273/234.md +264 -0
  43. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/24-/347/237/255/344/277/241.md +155 -0
  44. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/25-/346/227/240/351/232/234/347/242/215.md +144 -0
  45. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/26-/345/237/272/347/241/200/344/277/241/346/201/257.md +238 -0
  46. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/27-/347/224/265/346/261/240.md +235 -0
  47. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/28-/345/211/252/350/264/264/346/235/277.md +303 -0
  48. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/29-/345/212/240/345/257/206.md +126 -0
  49. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/30-/346/227/245/345/216/206.md +417 -0
  50. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/31-/347/224/265/350/257/235.md +144 -0
  51. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/32-/346/211/253/347/240/201.md +236 -0
  52. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +747 -0
  53. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/34-/351/234/207/345/212/250.md +277 -0
  54. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/35-/346/226/207/344/273/266/347/263/273/347/273/237.md +431 -0
  55. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/common-errors.md +69 -0
  56. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/groups.md +43 -0
  57. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/quick-reference.md +436 -0
  58. package/dist/skills/doubao-plugin-app/references/frontend/examples/common-patterns.md +590 -0
  59. package/dist/skills/doubao-plugin-app/references/frontend/examples/doubao-agentic-service-api-recipes.md +209 -0
  60. package/dist/skills/doubao-plugin-app/references/frontend/examples/page-widget-basics.md +368 -0
  61. package/dist/skills/doubao-plugin-app/references/frontend/examples/page-widget-recipes.md +65 -0
  62. package/dist/skills/doubao-plugin-app/references/frontend/framework/core.md +283 -0
  63. package/dist/skills/doubao-plugin-app/references/frontend/guides/auth.md +277 -0
  64. package/dist/skills/doubao-plugin-app/references/frontend/guides/best-practices.md +574 -0
  65. package/dist/skills/doubao-plugin-app/references/frontend/guides/client-tools-and-events.md +209 -0
  66. package/dist/skills/doubao-plugin-app/references/frontend/guides/component-development.md +832 -0
  67. package/dist/skills/doubao-plugin-app/references/frontend/guides/debugger-mcp.md +537 -0
  68. package/dist/skills/doubao-plugin-app/references/frontend/guides/expired-widget.md +101 -0
  69. package/dist/skills/doubao-plugin-app/references/frontend/guides/performance-optimization.md +417 -0
  70. package/dist/skills/doubao-plugin-app/references/frontend/guides/troubleshooting.md +278 -0
  71. package/dist/skills/doubao-plugin-app/references/frontend/lynx/best-practices.md +720 -0
  72. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/pseudo-classes.md +149 -0
  73. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/selectors.md +224 -0
  74. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/supported-properties.md +269 -0
  75. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/values-and-units.md +314 -0
  76. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/flex-layout.md +334 -0
  77. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/grid-layout.md +408 -0
  78. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/linear-layout.md +355 -0
  79. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/relative-layout.md +189 -0
  80. package/dist/skills/doubao-plugin-app/references/frontend/lynx/lynx-vs-web/css-differences.md +737 -0
  81. package/dist/skills/doubao-plugin-app/references/frontend/lynx/lynx-vs-web/migration-guide.md +669 -0
  82. package/dist/skills/doubao-plugin-app/references/frontend/lynx/lynx-vs-web/unsupported-features.md +290 -0
  83. package/dist/skills/doubao-plugin-app/references/frontend/lynx/overview.md +60 -0
  84. package/dist/skills/doubao-plugin-app/references/frontend/lynx/patterns/animation.md +243 -0
  85. package/dist/skills/doubao-plugin-app/references/frontend/lynx/patterns/responsive.md +194 -0
  86. package/dist/skills/doubao-plugin-app/references/frontend/lynx/patterns/theming.md +143 -0
  87. package/dist/skills/doubao-plugin-app/references/frontend/lynx/quick-reference.md +229 -0
  88. package/dist/skills/doubao-plugin-app/references/frontend/rules/dos-and-donts.md +479 -0
  89. package/dist/skills/doubao-plugin-app/references/frontend/widget-templates/design-boundary.md +46 -0
  90. package/dist/skills/doubao-plugin-app/references/frontend/widget-templates/overview.md +118 -0
  91. package/dist/skills/doubao-plugin-app/references/frontend/widget-templates/props.md +301 -0
  92. package/dist/skills/doubao-plugin-app/references/mcp-and-cards.md +38 -0
  93. package/dist/templates/README.md.template +11 -0
  94. package/dist/templates/com.doubao/app/manifest.yaml +41 -0
  95. package/dist/templates/com.doubao/app/package.json.template +13 -0
  96. package/dist/templates/com.doubao/app/src/app.config.ts.template +5 -0
  97. package/dist/templates/com.doubao/app/src/app.ts.template +3 -0
  98. package/dist/templates/com.doubao/app/src/pages/home/index.css +14 -0
  99. package/dist/templates/com.doubao/app/src/pages/home/index.tsx.template +14 -0
  100. package/dist/templates/com.doubao/app/src/widgets/example/index.tsx.template +29 -0
  101. package/dist/templates/com.doubao/app/tsconfig.json +19 -0
  102. package/dist/templates/mcp.json +9 -0
  103. package/dist/templates/plugin.json.template +29 -0
  104. package/dist/templates/skills/example/SKILL.md.template +14 -0
  105. package/dist/upload.d.ts +44 -0
  106. package/dist/upload.js +38 -0
  107. package/package.json +60 -3
@@ -0,0 +1,839 @@
1
+ # 豆包应用插件的端能力 API: 路由
2
+
3
+ 应用内页面跳转、返回、退出和关闭。
4
+
5
+ [返回目录](./groups.md) | [返回速查](./quick-reference.md)
6
+
7
+ ## 速查
8
+
9
+ | API | 说明 |
10
+ | --- | --- |
11
+ | [navigateTo](#navigateto) | 保留当前页面,跳转到应用内的某个页面。 |
12
+ | [redirectTo](#redirectto) | 关闭当前页面,跳转到应用内的某个页面。 |
13
+ | [reLaunch](#relaunch) | 关闭所有页面并跳转到应用内页面。 |
14
+ | [navigateBack](#navigateback) | 关闭当前页面,返回上一页面或多级页面。 |
15
+ | [exitApp](#exitapp) | 退出当前所有页面。 |
16
+ | [navigateToDouyinMiniProgram](#navigatetodouyinminiprogram) | 在豆包内打开指定版本的抖音应用插件。 |
17
+ | [openPage](#openpage) | 打开应用内页面。 在主对话流卡片中调用时会重新打开全页并忽略 mode;在全页或全页内 Chat UI 的卡片中调用时按照 mode 操作页面栈。 |
18
+ | [openPageInChat](#openpageinchat) | 在当前关联的主对话流中以半屏形式打开应用内页面。 调用后不会创建或操作全页页面栈。需要进入全页应用插件或操作已有页面栈时,请使用 openPage。 |
19
+
20
+ ## API 详情
21
+
22
+ <a id="navigateto"></a>
23
+ ### navigateTo()
24
+
25
+ # navigateTo
26
+
27
+ 保留当前页面,跳转到应用内的某个页面。
28
+
29
+ ## 扫码预览
30
+ ![扫码预览 navigateTo](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fnavigate-to%252Findex)
31
+
32
+ ## 支持版本
33
+
34
+ 前端库版本不低于 `0.0.19`。
35
+
36
+ ## 支持平台
37
+
38
+ <table>
39
+ <thead>
40
+ <tr><th>平台</th><th>支持情况</th></tr>
41
+ </thead>
42
+ <tbody>
43
+ <tr><td>Android</td><td>支持</td></tr>
44
+ <tr><td>iOS</td><td>支持</td></tr>
45
+ <tr><td>PC</td><td>不支持</td></tr>
46
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
47
+ </tbody>
48
+ </table>
49
+
50
+ ## 支持场景
51
+
52
+ <table>
53
+ <thead>
54
+ <tr><th>场景</th><th>支持情况</th></tr>
55
+ </thead>
56
+ <tbody>
57
+ <tr><td>页面</td><td>支持</td></tr>
58
+ <tr><td>卡片</td><td>支持</td></tr>
59
+ </tbody>
60
+ </table>
61
+
62
+ ## 使用说明
63
+
64
+ - url 为应用插件内的页面路径,可携带查询参数;跳转后当前页面会保留在页面栈中,可通过 navigateBack 返回。
65
+
66
+ ## 调用方式
67
+
68
+ ### 异步 API
69
+
70
+ ```typescript
71
+ navigateTo(params: NavigateToParams): Promise<object>
72
+ ```
73
+
74
+ ## 入参
75
+
76
+ <table>
77
+ <thead>
78
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
79
+ </thead>
80
+ <tbody>
81
+ <tr><td><code>url</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>跳转的页面的路径,如 'path?key=value&amp;key2=value2'</td></tr>
82
+ </tbody>
83
+ </table>
84
+
85
+ ## 调用示例
86
+
87
+ ```typescript
88
+ import { navigateTo } from '@doubao-dev/framework/api';
89
+
90
+ await navigateTo({ url: '/pages/detail/index?id=1' });
91
+ ```
92
+
93
+ ## 成功返回
94
+
95
+ 无返回字段。
96
+
97
+ ## 错误处理
98
+
99
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
100
+
101
+ ### 失败示例
102
+
103
+ ```json
104
+ {
105
+ "errNo": 104,
106
+ "errMsg": "invalid url"
107
+ }
108
+ ```
109
+
110
+ ### 错误码
111
+
112
+ <table>
113
+ <thead>
114
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
115
+ </thead>
116
+ <tbody>
117
+ <tr><td><code>104</code></td><td><code>invalid url</code></td><td>Android、iOS</td><td>url 为空或无法解析为有效的应用插件页面路径</td><td>检查 url 是否为合法的应用内页面路径后重试。</td></tr>
118
+ </tbody>
119
+ </table>
120
+
121
+ #### 通用错误码
122
+
123
+ <table>
124
+ <thead>
125
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
126
+ </thead>
127
+ <tbody>
128
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
129
+ </tbody>
130
+ </table>
131
+
132
+ <a id="redirectto"></a>
133
+ ### redirectTo()
134
+
135
+ # redirectTo
136
+
137
+ 关闭当前页面,跳转到应用内的某个页面。
138
+
139
+ ## 扫码预览
140
+ ![扫码预览 redirectTo](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fredirect-to%252Findex)
141
+
142
+ ## 支持版本
143
+
144
+ 前端库版本不低于 `0.0.19`。
145
+
146
+ ## 支持平台
147
+
148
+ <table>
149
+ <thead>
150
+ <tr><th>平台</th><th>支持情况</th></tr>
151
+ </thead>
152
+ <tbody>
153
+ <tr><td>Android</td><td>支持</td></tr>
154
+ <tr><td>iOS</td><td>支持</td></tr>
155
+ <tr><td>PC</td><td>不支持</td></tr>
156
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
157
+ </tbody>
158
+ </table>
159
+
160
+ ## 支持场景
161
+
162
+ <table>
163
+ <thead>
164
+ <tr><th>场景</th><th>支持情况</th></tr>
165
+ </thead>
166
+ <tbody>
167
+ <tr><td>页面</td><td>支持</td></tr>
168
+ <tr><td>卡片</td><td>不支持</td></tr>
169
+ </tbody>
170
+ </table>
171
+
172
+ ## 使用说明
173
+
174
+ - url 为应用插件内的页面路径,可携带查询参数;跳转会替换当前页面,不保留在页面栈中。
175
+
176
+ ## 调用方式
177
+
178
+ ### 异步 API
179
+
180
+ ```typescript
181
+ redirectTo(params: NavigateToParams): Promise<object>
182
+ ```
183
+
184
+ ## 入参
185
+
186
+ <table>
187
+ <thead>
188
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
189
+ </thead>
190
+ <tbody>
191
+ <tr><td><code>url</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>跳转的页面的路径,如 'path?key=value&amp;key2=value2'</td></tr>
192
+ </tbody>
193
+ </table>
194
+
195
+ ## 调用示例
196
+
197
+ ```typescript
198
+ import { redirectTo } from '@doubao-dev/framework/api';
199
+
200
+ await redirectTo({ url: '/pages/result/index' });
201
+ ```
202
+
203
+ ## 成功返回
204
+
205
+ 无返回字段。
206
+
207
+ ## 错误处理
208
+
209
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
210
+
211
+ ### 失败示例
212
+
213
+ ```json
214
+ {
215
+ "errNo": 104,
216
+ "errMsg": "invalid url"
217
+ }
218
+ ```
219
+
220
+ ### 错误码
221
+
222
+ <table>
223
+ <thead>
224
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
225
+ </thead>
226
+ <tbody>
227
+ <tr><td><code>104</code></td><td><code>invalid url</code></td><td>Android、iOS</td><td>url 为空或无法解析为有效的应用插件页面路径</td><td>检查 url 是否为合法的应用内页面路径后重试。</td></tr>
228
+ </tbody>
229
+ </table>
230
+
231
+ #### 通用错误码
232
+
233
+ <table>
234
+ <thead>
235
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
236
+ </thead>
237
+ <tbody>
238
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
239
+ </tbody>
240
+ </table>
241
+
242
+ <a id="relaunch"></a>
243
+ ### reLaunch()
244
+
245
+ # reLaunch
246
+
247
+ 关闭所有页面并跳转到应用内页面。
248
+
249
+ ## 扫码预览
250
+ ![扫码预览 reLaunch](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fre-launch%252Findex)
251
+
252
+ ## 支持版本
253
+
254
+ 前端库版本不低于 `0.0.19`。
255
+
256
+ ## 支持平台
257
+
258
+ <table>
259
+ <thead>
260
+ <tr><th>平台</th><th>支持情况</th></tr>
261
+ </thead>
262
+ <tbody>
263
+ <tr><td>Android</td><td>支持</td></tr>
264
+ <tr><td>iOS</td><td>支持</td></tr>
265
+ <tr><td>PC</td><td>不支持</td></tr>
266
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
267
+ </tbody>
268
+ </table>
269
+
270
+ ## 支持场景
271
+
272
+ <table>
273
+ <thead>
274
+ <tr><th>场景</th><th>支持情况</th></tr>
275
+ </thead>
276
+ <tbody>
277
+ <tr><td>页面</td><td>支持</td></tr>
278
+ <tr><td>卡片</td><td>不支持</td></tr>
279
+ </tbody>
280
+ </table>
281
+
282
+ ## 使用说明
283
+
284
+ - url 为应用插件内的页面路径,可携带查询参数;跳转会关闭现有全部页面并以目标页面作为唯一页面。
285
+
286
+ ## 调用方式
287
+
288
+ ### 异步 API
289
+
290
+ ```typescript
291
+ reLaunch(params: NavigateToParams): Promise<object>
292
+ ```
293
+
294
+ ## 入参
295
+
296
+ <table>
297
+ <thead>
298
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
299
+ </thead>
300
+ <tbody>
301
+ <tr><td><code>url</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>跳转的页面的路径,如 'path?key=value&amp;key2=value2'</td></tr>
302
+ </tbody>
303
+ </table>
304
+
305
+ ## 调用示例
306
+
307
+ ```typescript
308
+ import { reLaunch } from '@doubao-dev/framework/api';
309
+
310
+ await reLaunch({ url: '/pages/home/index' });
311
+ ```
312
+
313
+ ## 成功返回
314
+
315
+ 无返回字段。
316
+
317
+ ## 错误处理
318
+
319
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
320
+
321
+ ### 失败示例
322
+
323
+ ```json
324
+ {
325
+ "errNo": 104,
326
+ "errMsg": "invalid url"
327
+ }
328
+ ```
329
+
330
+ ### 错误码
331
+
332
+ <table>
333
+ <thead>
334
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
335
+ </thead>
336
+ <tbody>
337
+ <tr><td><code>104</code></td><td><code>invalid url</code></td><td>Android、iOS</td><td>url 为空或无法解析为有效的应用插件页面路径</td><td>检查 url 是否为合法的应用内页面路径后重试。</td></tr>
338
+ </tbody>
339
+ </table>
340
+
341
+ #### 通用错误码
342
+
343
+ <table>
344
+ <thead>
345
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
346
+ </thead>
347
+ <tbody>
348
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
349
+ </tbody>
350
+ </table>
351
+
352
+ <a id="navigateback"></a>
353
+ ### navigateBack()
354
+
355
+ # navigateBack
356
+
357
+ 关闭当前页面,返回上一页面或多级页面。
358
+
359
+ ## 扫码预览
360
+ ![扫码预览 navigateBack](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fnavigate-back%252Findex)
361
+
362
+ ## 支持版本
363
+
364
+ 前端库版本不低于 `0.0.19`。
365
+
366
+ ## 支持平台
367
+
368
+ <table>
369
+ <thead>
370
+ <tr><th>平台</th><th>支持情况</th></tr>
371
+ </thead>
372
+ <tbody>
373
+ <tr><td>Android</td><td>支持</td></tr>
374
+ <tr><td>iOS</td><td>支持</td></tr>
375
+ <tr><td>PC</td><td>不支持</td></tr>
376
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
377
+ </tbody>
378
+ </table>
379
+
380
+ ## 支持场景
381
+
382
+ <table>
383
+ <thead>
384
+ <tr><th>场景</th><th>支持情况</th></tr>
385
+ </thead>
386
+ <tbody>
387
+ <tr><td>页面</td><td>支持</td></tr>
388
+ <tr><td>卡片</td><td>不支持</td></tr>
389
+ </tbody>
390
+ </table>
391
+
392
+ ## 使用说明
393
+
394
+ - navigateBack 只能在页面栈内返回;当前页面已是页面栈中的最后一个页面时无法继续返回,需要退出应用插件请调用 exitApp。
395
+
396
+ ## 调用方式
397
+
398
+ ### 异步 API
399
+
400
+ ```typescript
401
+ navigateBack(params?: NavigateBackParams): Promise<object>
402
+ ```
403
+
404
+ ## 入参
405
+
406
+ <table>
407
+ <thead>
408
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
409
+ </thead>
410
+ <tbody>
411
+ <tr><td><code>delta</code></td><td><code>number</code></td><td>否</td><td><code>1</code></td><td>正整数</td><td>返回的页面数,如果 delta 大于现有页面数,则返回到页面栈中只剩一个页面为止。</td></tr>
412
+ </tbody>
413
+ </table>
414
+
415
+ ## 调用示例
416
+
417
+ ```typescript
418
+ import { navigateBack } from '@doubao-dev/framework/api';
419
+
420
+ await navigateBack({ delta: 1 });
421
+ ```
422
+
423
+ ## 成功返回
424
+
425
+ 无返回字段。
426
+
427
+ ## 错误处理
428
+
429
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
430
+
431
+ ### 错误码
432
+
433
+ #### 通用错误码
434
+
435
+ <table>
436
+ <thead>
437
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
438
+ </thead>
439
+ <tbody>
440
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
441
+ </tbody>
442
+ </table>
443
+
444
+ <a id="exitapp"></a>
445
+ ### exitApp()
446
+
447
+ # exitApp
448
+
449
+ 退出当前所有页面。
450
+
451
+ ## 扫码预览
452
+ ![扫码预览 exitApp](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fexit-app%252Findex)
453
+
454
+ ## 支持版本
455
+
456
+ 前端库版本不低于 `0.0.20`。
457
+
458
+ ## 支持平台
459
+
460
+ <table>
461
+ <thead>
462
+ <tr><th>平台</th><th>支持情况</th></tr>
463
+ </thead>
464
+ <tbody>
465
+ <tr><td>Android</td><td>支持</td></tr>
466
+ <tr><td>iOS</td><td>支持</td></tr>
467
+ <tr><td>PC</td><td>不支持</td></tr>
468
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
469
+ </tbody>
470
+ </table>
471
+
472
+ ## 支持场景
473
+
474
+ <table>
475
+ <thead>
476
+ <tr><th>场景</th><th>支持情况</th></tr>
477
+ </thead>
478
+ <tbody>
479
+ <tr><td>页面</td><td>支持</td></tr>
480
+ <tr><td>卡片</td><td>不支持</td></tr>
481
+ </tbody>
482
+ </table>
483
+
484
+ ## 使用说明
485
+
486
+ - 会退出当前所有页面;当 navigateBack 已无法继续返回时,使用 exitApp 退出应用插件。
487
+
488
+ ## 调用方式
489
+
490
+ ### 异步 API
491
+
492
+ ```typescript
493
+ exitApp(): Promise<object>
494
+ ```
495
+
496
+ ## 入参
497
+
498
+ 无。
499
+
500
+ ## 调用示例
501
+
502
+ ```typescript
503
+ import { exitApp } from '@doubao-dev/framework/api';
504
+
505
+ await exitApp();
506
+ ```
507
+
508
+ ## 成功返回
509
+
510
+ 无返回字段。
511
+
512
+ ## 错误处理
513
+
514
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
515
+
516
+ ### 错误码
517
+
518
+ #### 通用错误码
519
+
520
+ <table>
521
+ <thead>
522
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
523
+ </thead>
524
+ <tbody>
525
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
526
+ </tbody>
527
+ </table>
528
+
529
+ <a id="navigatetodouyinminiprogram"></a>
530
+ ### navigateToDouyinMiniProgram()
531
+
532
+ # navigateToDouyinMiniProgram
533
+
534
+ 在豆包内打开指定版本的抖音应用插件。
535
+
536
+ ## 扫码预览
537
+ ![扫码预览 navigateToDouyinMiniProgram](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fnavigate-to-douyin-mini-program%252Findex)
538
+
539
+ ## 支持版本
540
+
541
+ 前端库版本不低于 `0.7.0`。
542
+
543
+ ## 支持平台
544
+
545
+ <table>
546
+ <thead>
547
+ <tr><th>平台</th><th>支持情况</th></tr>
548
+ </thead>
549
+ <tbody>
550
+ <tr><td>Android</td><td>支持</td></tr>
551
+ <tr><td>iOS</td><td>支持</td></tr>
552
+ <tr><td>PC</td><td>不支持</td></tr>
553
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
554
+ </tbody>
555
+ </table>
556
+
557
+ ## 支持场景
558
+
559
+ <table>
560
+ <thead>
561
+ <tr><th>场景</th><th>支持情况</th></tr>
562
+ </thead>
563
+ <tbody>
564
+ <tr><td>页面</td><td>支持</td></tr>
565
+ <tr><td>卡片</td><td>支持</td></tr>
566
+ </tbody>
567
+ </table>
568
+
569
+ ## 接入准备
570
+
571
+ ### 前置条件
572
+
573
+ - 目标需向豆包开放;测试版还需具有目标的测试权限
574
+
575
+ ## 使用说明
576
+
577
+ - path 传原始页面路径及 query,不要对完整路径调用 encodeURIComponent。
578
+
579
+ ## 调用方式
580
+
581
+ ### 异步 API
582
+
583
+ ```typescript
584
+ navigateToDouyinMiniProgram(params: NavigateToDouyinMiniProgramParams): Promise<object>
585
+ ```
586
+
587
+ ## 入参
588
+
589
+ <table>
590
+ <thead>
591
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
592
+ </thead>
593
+ <tbody>
594
+ <tr><td><code>appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>目标抖音应用插件 ID。</td></tr>
595
+ <tr><td><code>envVersion</code></td><td><code>&quot;current&quot; | &quot;latest&quot;</code></td><td>否</td><td><code>'current'</code></td><td>-</td><td>current 为线上版,latest 为测试版;正式版调用方始终打开 current。</td></tr>
596
+ <tr><td><code>extraData</code></td><td><code>Record&lt;string, unknown&gt;</code></td><td>否</td><td><code>{}</code></td><td>-</td><td>传给目标应用插件的 JSON 对象。</td></tr>
597
+ <tr><td><code>path</code></td><td><code>string</code></td><td>否</td><td><code>''</code></td><td>-</td><td>目标页面路径,可携带 query;省略时打开首页。</td></tr>
598
+ </tbody>
599
+ </table>
600
+
601
+ ## 调用示例
602
+
603
+ ```typescript
604
+ import { navigateToDouyinMiniProgram } from '@doubao-dev/framework/api';
605
+
606
+ await navigateToDouyinMiniProgram({
607
+ appId: '目标应用插件 ID',
608
+ path: 'pages/detail/index?id=1',
609
+ extraData: { foo: 'bar' }
610
+ });
611
+ ```
612
+
613
+ ## 成功返回
614
+
615
+ 无返回字段。
616
+
617
+ ## 错误处理
618
+
619
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
620
+
621
+ ### 错误码
622
+
623
+ #### 通用错误码
624
+
625
+ <table>
626
+ <thead>
627
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
628
+ </thead>
629
+ <tbody>
630
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
631
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>当前环境不支持该能力</td><td>Android、iOS</td></tr>
632
+ <tr><td><code>104</code></td><td><code>invalid parameter</code></td><td>参数不合法</td><td>Android、iOS</td></tr>
633
+ </tbody>
634
+ </table>
635
+
636
+ <a id="openpage"></a>
637
+ ### openPage()
638
+
639
+ # openPage
640
+
641
+ 打开应用内页面。
642
+
643
+ 在主对话流卡片中调用时会重新打开全页并忽略 `mode`;在全页或全页内 Chat UI 的卡片中调用时按照
644
+ `mode` 操作页面栈。
645
+
646
+ ## 扫码预览
647
+ ![扫码预览 openPage](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fopen-page%252Findex)
648
+
649
+ ## 支持版本
650
+
651
+ 前端库版本不低于 `0.2.0`。
652
+
653
+ ## 支持平台
654
+
655
+ <table>
656
+ <thead>
657
+ <tr><th>平台</th><th>支持情况</th></tr>
658
+ </thead>
659
+ <tbody>
660
+ <tr><td>Android</td><td>支持</td></tr>
661
+ <tr><td>iOS</td><td>支持</td></tr>
662
+ <tr><td>PC</td><td>不支持</td></tr>
663
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
664
+ </tbody>
665
+ </table>
666
+
667
+ ## 使用说明
668
+
669
+ - mode 省略时按 push 处理;主对话流卡片中重新打开全页,全页及其 Chat UI 中应用页面栈操作。
670
+
671
+ ## 调用方式
672
+
673
+ ### 异步 API
674
+
675
+ ```typescript
676
+ openPage(params: OpenPageParams): Promise<object>
677
+ ```
678
+
679
+ ## 入参
680
+
681
+ <table>
682
+ <thead>
683
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
684
+ </thead>
685
+ <tbody>
686
+ <tr><td><code>mode</code></td><td><code>OpenPageMode</code></td><td>否</td><td><code>'push'</code></td><td>-</td><td>页面栈操作。<br><br>- `push`:始终压入新的页面实例。<br>- `replace`:目标为栈顶页面时更新栈顶页面,否则替换栈顶页面。<br>- `navigate`:目标已在栈中时回退到最近的目标页面并更新,否则压入新页面。<br>- `pop_to`:目标已在栈中时回退到最近的目标页面并更新,否则替换栈顶页面。</td></tr>
687
+ <tr><td><code>url</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>应用内页面路径,可携带查询参数。</td></tr>
688
+ </tbody>
689
+ </table>
690
+
691
+ ## 调用示例
692
+
693
+ ```typescript
694
+ import { openPage } from '@doubao-dev/framework/api';
695
+
696
+ await openPage({
697
+ url: '/pages/detail/index?id=1',
698
+ mode: 'navigate'
699
+ });
700
+ ```
701
+
702
+ ## 成功返回
703
+
704
+ 无返回字段。
705
+
706
+ <a id="openpageinchat"></a>
707
+ ### openPageInChat()
708
+
709
+ # openPageInChat
710
+
711
+ 在当前关联的主对话流中以半屏形式打开应用内页面。
712
+
713
+ 调用后不会创建或操作全页页面栈。需要进入全页应用插件或操作已有页面栈时,请使用 openPage。
714
+
715
+ ## 扫码预览
716
+ ![扫码预览 openPageInChat](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Frouter%252Fopen-page-in-chat%252Findex)
717
+
718
+ ## 支持版本
719
+
720
+ 前端库版本不低于 `0.2.0`。
721
+
722
+ ## 支持平台
723
+
724
+ <table>
725
+ <thead>
726
+ <tr><th>平台</th><th>支持情况</th></tr>
727
+ </thead>
728
+ <tbody>
729
+ <tr><td>Android</td><td>支持</td></tr>
730
+ <tr><td>iOS</td><td>支持</td></tr>
731
+ <tr><td>PC</td><td>不支持</td></tr>
732
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
733
+ </tbody>
734
+ </table>
735
+
736
+ ## 支持场景
737
+
738
+ <table>
739
+ <thead>
740
+ <tr><th>场景</th><th>支持情况</th></tr>
741
+ </thead>
742
+ <tbody>
743
+ <tr><td>页面</td><td>支持</td></tr>
744
+ <tr><td>卡片</td><td>支持</td></tr>
745
+ </tbody>
746
+ </table>
747
+
748
+ ## 接入准备
749
+
750
+ ### 前置条件
751
+
752
+ - 当前应用需要关联主对话流
753
+
754
+ ## 使用说明
755
+
756
+ - 不接受页面栈 mode;需要进入应用插件全页或操作已有页面栈时使用 openPage。
757
+
758
+ ## 调用方式
759
+
760
+ ### 异步 API
761
+
762
+ ```typescript
763
+ openPageInChat(params: OpenPageInChatParams): Promise<object>
764
+ ```
765
+
766
+ ## 入参
767
+
768
+ <table>
769
+ <thead>
770
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
771
+ </thead>
772
+ <tbody>
773
+ <tr><td><code>url</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>应用内页面路径,可携带查询参数。</td></tr>
774
+ </tbody>
775
+ </table>
776
+
777
+ ## 调用示例
778
+
779
+ ```typescript
780
+ import { openPageInChat } from '@doubao-dev/framework/api';
781
+
782
+ await openPageInChat({
783
+ url: '/pages/detail/index?id=1'
784
+ });
785
+ ```
786
+
787
+ ## 成功返回
788
+
789
+ 无返回字段。
790
+
791
+ ## 相关类型
792
+
793
+ <a id="navigatetoparams"></a>
794
+ ### NavigateToParams
795
+
796
+ #### Properties
797
+
798
+ • **url**: `string` - 跳转的页面的路径,如 'path?key=value&key2=value2'
799
+
800
+ <a id="navigatebackparams"></a>
801
+ ### NavigateBackParams
802
+
803
+ #### Properties
804
+
805
+ • **delta?**: `number` - 返回的页面数,如果 delta 大于现有页面数,则返回到页面栈中只剩一个页面为止
806
+
807
+ <a id="navigatetodouyinminiprogramparams"></a>
808
+ ### NavigateToDouyinMiniProgramParams
809
+
810
+ #### Properties
811
+
812
+ • **appId**: `string` - 目标抖音应用插件 ID
813
+ • **path?**: `string` - 目标页面路径,可携带 query;省略时打开首页
814
+ • **extraData?**: `Record<string, unknown>` - 传给目标应用插件的 JSON 对象
815
+ • **envVersion?**: `'current' | 'latest'` - current 为线上版,latest 为测试版;正式版调用方始终打开 current
816
+
817
+ <a id="openpagemode"></a>
818
+ ### OpenPageMode
819
+
820
+ 打开页面时使用的页面栈操作。
821
+
822
+ #### Type
823
+
824
+ `'push' | 'replace' | 'navigate' | 'pop_to'`
825
+
826
+ <a id="openpageparams"></a>
827
+ ### OpenPageParams
828
+
829
+ #### Properties
830
+
831
+ • **url**: `string` - 应用内页面路径,可携带查询参数
832
+ • **mode?**: `OpenPageMode` - 页面栈操作。 - push:始终压入新的页面实例。 - replace:目标为栈顶页面时更新栈顶页面,否则替换栈顶页面。 - navigate:目标已在栈中时回退到最近的目标页面并更新,否则压入新页面。 - pop_to:目标已在栈中时回退到最近的目标页面并更新,否则替换栈顶页面
833
+
834
+ <a id="openpageinchatparams"></a>
835
+ ### OpenPageInChatParams
836
+
837
+ #### Properties
838
+
839
+ • **url**: `string` - 应用内页面路径,可携带查询参数