@doubao-dev/cli 0.0.26 → 0.0.28

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 (68) 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/app.js +1 -1
  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/upload.js +6 -6
  29. package/dist/workspace.js +1 -1
  30. package/dist/yaml.js +1 -1
  31. package/package.json +2 -2
  32. package/skills/dbx-eval/SKILL.md +2 -2
  33. package/skills/doubao-agentic-service-development/SKILL.md +8 -8
  34. package/skills/doubao-agentic-service-development/references/auth.md +2 -2
  35. package/skills/doubao-agentic-service-development/references/business-template-debug.md +3 -3
  36. package/skills/doubao-agentic-service-development/references/dev-debug.md +2 -2
  37. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/01-/345/237/272/347/241/200.md +175 -15
  38. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +3 -3
  39. 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
  40. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/04-/345/256/232/344/275/215.md +1 -1
  41. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/08-/344/272/244/344/272/222.md +221 -7
  42. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/10-/347/275/221/347/273/234.md +20 -20
  43. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/11-/345/252/222/344/275/223.md +2 -2
  44. 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
  45. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/16-/350/223/235/347/211/231.md +3 -3
  46. 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
  47. 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
  48. 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
  49. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/32-/346/211/253/347/240/201.md +1 -1
  50. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +1 -1
  51. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/34-/351/234/207/345/212/250.md +2 -2
  52. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/common-errors.md +1 -1
  53. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/groups.md +3 -3
  54. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/quick-reference.md +7 -3
  55. package/skills/doubao-agentic-service-development/references/frontend-dev.md +3 -3
  56. package/skills/doubao-agentic-service-development/references/generate-skill.md +1 -1
  57. package/skills/doubao-agentic-service-development/references/local-debug/simulator-eval.md +26 -22
  58. package/skills/doubao-agentic-service-development/references/manifest-guide.md +3 -3
  59. package/skills/doubao-agentic-service-development/references/mcp-protocol.md +1 -1
  60. package/skills/doubao-agentic-service-development/references/overview.md +4 -3
  61. package/skills/doubao-agentic-service-development/references/service-notice.md +1 -3
  62. package/skills/doubao-agentic-service-development/references/task-management.md +1 -3
  63. package/dist/assets/web-sdk-debugger/static/js/index.b85cbec3be.js +0 -26
  64. package/dist/dbx-demo.js +0 -2
  65. package/dist/eval.js +0 -1
  66. package/dist/validate.js +0 -1
  67. /package/dist/{2861.js.LICENSE.txt → 2611.js.LICENSE.txt} +0 -0
  68. /package/dist/{6780.js → 4594.js} +0 -0
@@ -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>豆包 App 账号信息</td></tr>
94
- <tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>豆包 App appId</td></tr>
95
- <tr><td><code>miniProgram.envVersion</code></td><td><code>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</code></td><td>是</td><td>豆包 Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>豆包 App 运行环境。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
96
- <tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>线上豆包 App 版本号。</td></tr>
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>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</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>豆包 App 账号信息</td></tr>
206
- <tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>豆包 App appId</td></tr>
207
- <tr><td><code>miniProgram.envVersion</code></td><td><code>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</code></td><td>是</td><td>豆包 Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>豆包 App 运行环境。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
208
- <tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>线上豆包 App 版本号。</td></tr>
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>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</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
+ ![扫码预览 arrayBufferToBase64](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fbasic%252Fbase64%252Findex)
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
+ ![扫码预览 base64ToArrayBuffer](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fbasic%252Fbase64%252Findex)
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 授权,不表示宿主系统权限;HealthKit 逐类型系统状态通过 getAppAuthorizeSetting 查询。
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>未找到当前应用对应的运行环境记录</td><td>确认应用已正确安装并在有效运行环境中调用后重试</td></tr>
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
- 豆包 App 账号信息。
922
+ 智能服务账号信息。
763
923
 
764
924
  #### Properties
765
925
 
766
- • **appId**: `string` - 豆包 App appId
767
- • **envVersion**: `'develop' | 'trial' | 'release'` - 豆包 App 运行环境。 - develop:开发版 - trial:体验版 - release:正式版
768
- • **version**: `string` - 线上豆包 App 版本号
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` - 豆包 App 账号信息
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
- - 该接口从运行环境同步读取窗口信息,若无需异步调用可改用 getWindowInfoSync。
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()
@@ -1,6 +1,6 @@
1
1
  # 豆包智能服务的端能力 API: 自定义通信
2
2
 
3
- 在智能服务的多个 Runtime 之间发送和接收自定义事件。
3
+ 在智能服务的页面或卡片实例之间发送和接收自定义事件。
4
4
 
5
5
  [返回目录](./groups.md) | [返回速查](./quick-reference.md)
6
6
 
@@ -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) | 显示 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