@doubao-apps/ai 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 (91) hide show
  1. package/README.md +21 -0
  2. package/dist/994.js +3 -3
  3. package/dist/contexts/doubao-apps-dev/.ai/examples/common-patterns.md +600 -0
  4. package/dist/contexts/doubao-apps-dev/.ai/examples/component-basics.md +509 -0
  5. package/dist/contexts/doubao-apps-dev/.ai/guides/best-practices.md +571 -0
  6. package/dist/contexts/doubao-apps-dev/.ai/guides/component-development.md +857 -0
  7. package/dist/contexts/doubao-apps-dev/.ai/guides/performance-optimization.md +404 -0
  8. package/dist/contexts/doubao-apps-dev/.ai/guides/system-prompt.md +331 -0
  9. package/dist/contexts/doubao-apps-dev/.ai/guides/troubleshooting.md +291 -0
  10. package/dist/contexts/doubao-apps-dev/.ai/reference/components-quick-ref.md +103 -0
  11. package/dist/contexts/doubao-apps-dev/.ai/reference/framework-api-quick-ref.md +537 -0
  12. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/01-/345/237/272/347/241/200-/350/264/246/345/217/267-/347/263/273/347/273/237.md +699 -0
  13. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/02-storage.md → contexts/doubao-apps-dev/.ai/reference/open-api/02-/345/255/230/345/202/250.md} +13 -21
  14. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/03-router.md → contexts/doubao-apps-dev/.ai/reference/open-api/03-/350/267/257/347/224/261.md} +9 -9
  15. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/04-ui- → contexts/doubao-apps-dev/.ai/reference/open-api/04-/347/225/214/351/235/242-}/344/272/244/344/272/222.md +12 -12
  16. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/05-/347/225/214/351/235/242-/350/276/223/345/205/245.md +42 -0
  17. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/06-/347/275/221/347/273/234.md +148 -0
  18. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/07-media.md → contexts/doubao-apps-dev/.ai/reference/open-api/07-/345/252/222/344/275/223.md} +8 -8
  19. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/08-open- → contexts/doubao-apps-dev/.ai/reference/open-api/08-/345/274/200/346/224/276/350/203/275/345/212/233-}/344/270/232/345/212/241/350/203/275/345/212/233.md +83 -14
  20. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/09-device-bluetooth.md → contexts/doubao-apps-dev/.ai/reference/open-api/09-/350/256/276/345/244/207-/350/223/235/347/211/231.md} +22 -46
  21. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/10-device-wi-fi.md → contexts/doubao-apps-dev/.ai/reference/open-api/10-/350/256/276/345/244/207-wi-fi.md} +9 -9
  22. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/11-/350/256/276/345/244/207-/345/212/240/351/200/237/345/272/246/350/256/241.md +104 -0
  23. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/12-/350/256/276/345/244/207-ibeacon.md +148 -0
  24. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/13-/350/256/276/345/244/207-/347/275/227/347/233/230.md +82 -0
  25. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/14-/350/256/276/345/244/207-/350/256/276/345/244/207/346/226/271/345/220/221.md +70 -0
  26. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/15-/350/256/276/345/244/207-/351/231/200/350/236/272/344/273/252.md +104 -0
  27. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/16-ui-/350/276/223/345/205/245.md +65 -0
  28. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/17-/350/256/276/345/244/207-/347/275/221/347/273/234.md +164 -0
  29. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/18-/350/256/276/345/244/207-/347/237/255/344/277/241.md +62 -0
  30. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/19-/350/256/276/345/244/207-/346/227/240/351/232/234/347/242/215.md +43 -0
  31. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/20-/350/256/276/345/244/207-/347/224/265/346/261/240.md +83 -0
  32. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/21-/350/256/276/345/244/207-/346/227/245/345/216/206.md +215 -0
  33. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/22-/350/256/276/345/244/207-/345/211/252/350/264/264/346/235/277.md +70 -0
  34. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/23-/350/256/276/345/244/207-/350/201/224/347/263/273/344/272/272.md +270 -0
  35. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/24-/350/256/276/345/244/207-/345/212/240/345/257/206.md +56 -0
  36. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/25-/350/256/276/345/244/207-/347/224/265/350/257/235.md +41 -0
  37. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/26-/350/256/276/345/244/207-/346/211/253/347/240/201.md +100 -0
  38. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/27-/350/256/276/345/244/207-/345/261/217/345/271/225.md +173 -0
  39. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/28-/350/256/276/345/244/207-/351/234/207/345/212/250.md +66 -0
  40. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/README.md +36 -0
  41. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api.md +326 -0
  42. package/dist/contexts/doubao-apps-dev/.ai/rules/dos-and-donts.md +390 -0
  43. package/dist/{skills → contexts}/doubao-apps-dev/AGENTS.md +54 -31
  44. package/dist/manifest.json +45 -0
  45. package/dist/skills/doubao-apps-dev/.ai/examples/common-patterns.md +53 -43
  46. package/dist/skills/doubao-apps-dev/.ai/examples/component-basics.md +0 -17
  47. package/dist/skills/doubao-apps-dev/.ai/guides/component-development.md +96 -214
  48. package/dist/skills/doubao-apps-dev/.ai/guides/system-prompt.md +14 -14
  49. package/dist/skills/doubao-apps-dev/.ai/reference/framework-api-quick-ref.md +46 -85
  50. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/01-/345/237/272/347/241/200-/350/264/246/345/217/267-/347/263/273/347/273/237.md +13 -13
  51. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/02-/345/255/230/345/202/250.md +409 -0
  52. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/03-/350/267/257/347/224/261.md +165 -0
  53. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/04-/347/225/214/351/235/242-/344/272/244/344/272/222.md +432 -0
  54. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/05-/347/225/214/351/235/242-/350/276/223/345/205/245.md +42 -0
  55. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/06-/347/275/221/347/273/234.md +148 -0
  56. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/07-/345/252/222/344/275/223.md +346 -0
  57. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/08-/345/274/200/346/224/276/350/203/275/345/212/233-/344/270/232/345/212/241/350/203/275/345/212/233.md +546 -0
  58. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/09-/350/256/276/345/244/207-/350/223/235/347/211/231.md +961 -0
  59. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/10-/350/256/276/345/244/207-wi-fi.md +277 -0
  60. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/11-/350/256/276/345/244/207-/345/212/240/351/200/237/345/272/246/350/256/241.md +104 -0
  61. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/12-/350/256/276/345/244/207-ibeacon.md +148 -0
  62. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/13-/350/256/276/345/244/207-/347/275/227/347/233/230.md +82 -0
  63. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/14-/350/256/276/345/244/207-/350/256/276/345/244/207/346/226/271/345/220/221.md +70 -0
  64. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/15-/350/256/276/345/244/207-/351/231/200/350/236/272/344/273/252.md +104 -0
  65. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/16-ui-/350/276/223/345/205/245.md +65 -0
  66. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/17-/350/256/276/345/244/207-/347/275/221/347/273/234.md +164 -0
  67. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/18-/350/256/276/345/244/207-/347/237/255/344/277/241.md +62 -0
  68. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/19-/350/256/276/345/244/207-/346/227/240/351/232/234/347/242/215.md +43 -0
  69. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/20-/350/256/276/345/244/207-/347/224/265/346/261/240.md +83 -0
  70. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/21-/350/256/276/345/244/207-/346/227/245/345/216/206.md +215 -0
  71. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/22-/350/256/276/345/244/207-/345/211/252/350/264/264/346/235/277.md +70 -0
  72. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/23-/350/256/276/345/244/207-/350/201/224/347/263/273/344/272/272.md +270 -0
  73. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/24-/350/256/276/345/244/207-/345/212/240/345/257/206.md +56 -0
  74. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/25-/350/256/276/345/244/207-/347/224/265/350/257/235.md +41 -0
  75. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/26-/350/256/276/345/244/207-/346/211/253/347/240/201.md +100 -0
  76. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/27-/350/256/276/345/244/207-/345/261/217/345/271/225.md +173 -0
  77. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/28-/350/256/276/345/244/207-/351/234/207/345/212/250.md +66 -0
  78. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/README.md +27 -11
  79. package/dist/skills/doubao-apps-dev/.ai/reference/open-api.md +282 -166
  80. package/dist/skills/doubao-apps-dev/.ai/rules/dos-and-donts.md +50 -37
  81. package/dist/skills/doubao-apps-dev/SKILL.md +55 -27
  82. package/dist/skills/douyin-to-doubao/SKILL.md +2 -2
  83. package/dist/skills/h5-to-doubao/SKILL.md +2 -2
  84. package/dist/skills/uniapp-to-doubao/SKILL.md +2 -2
  85. package/dist/skills/weixin-to-doubao/SKILL.md +2 -2
  86. package/package.json +4 -2
  87. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/05-ui-/350/276/223/345/205/245.md +0 -95
  88. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/06-network.md +0 -298
  89. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/11-device-/344/274/240/346/204/237/345/231/250.md +0 -372
  90. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/12-device-/346/234/254/345/234/260/350/203/275/345/212/233.md +0 -1005
  91. /package/dist/{skills → contexts}/doubao-apps-dev/CLAUDE.md +0 -0
@@ -136,7 +136,7 @@ console.log(info.keys, info.currentSize, info.limitSize);
136
136
  ## 引入依赖
137
137
 
138
138
  ```ts
139
- import { getLocation, getPhoneNumber, openPage, request, showToast, setStorage, getStorage } from '@doubao-apps/framework/api';
139
+ import { getLocation, getPhoneNumber, navigateTo, navigateBack, request, showToast, setStorage, getStorage } from '@doubao-apps/framework/api';
140
140
  ```
141
141
 
142
142
  ## 使用示例
@@ -144,7 +144,8 @@ import { getLocation, getPhoneNumber, openPage, request, showToast, setStorage,
144
144
  ```ts
145
145
  await showToast({ message: '保存成功' });
146
146
 
147
- const { viewId } = await openPage({ pageId: 'detail', context: {} });
147
+ await navigateTo({ url: 'detail?id=123' });
148
+ await navigateBack();
148
149
 
149
150
  const res = await request({ url: '/api/data', method: 'GET' });
150
151
 
@@ -155,85 +156,57 @@ const phone = await getPhoneNumber();
155
156
 
156
157
  以下为常用端能力 API 的节选,完整以 `@doubao-apps/framework/api` 类型定义为准。
157
158
 
158
- ### openFloatingWindow
159
+ ### navigateTo
159
160
 
160
161
  **参数**:
161
162
  ```typescript
162
163
  {
163
- /** 期望要打开的 page id */
164
- pageId: string;
165
-
166
- /** 打开页面时传入的数据,运行时通过 getViewData 获取 */
167
- pageData?: string;
168
-
169
- /** view context 对象,在全页和卡片中通过 getViewContext() 获取 */
170
- context: object;
171
-
172
- /** 打开 Page 时配置页面参数 */
173
- pageSettings?: {
174
- /**
175
- * 悬浮窗口在横向上的吸附位置
176
- *
177
- * @deprecated 最新的 Lynx 悬浮窗中已失效
178
- */
179
- align?: 'left' | 'right';
180
-
181
- /**
182
- * 设置 Lynx 悬浮窗的宽度,单位是 `px`
183
- */
184
- width?: number;
185
-
186
- /**
187
- * 设置 Lynx 悬浮窗的高度,单位是 `px`
188
- */
189
- height?: number;
190
-
191
- /**
192
- * 优先级。越高代表优先级越高,取值-2~2
193
- */
194
- priority?: number;
195
-
196
- /**
197
- * 是否自动恢复展示。在被高优悬浮窗打断时会发挥作用,只有为 true 才会得到恢复的机会,否则直接释放
198
- */
199
- autoReshow?: boolean;
200
- };
164
+ /** 跳转目标,填写页面的 pageId,可拼接 query,如 'detail?id=123' */
165
+ url: string;
201
166
  }
202
167
  ```
203
168
 
204
- **返回值**:
169
+ **返回值**: Promise
170
+
171
+ ### redirectTo
172
+
173
+ **参数**:
205
174
  ```typescript
206
175
  {
207
- /** 创建出的 view id */
208
- viewId: string;
209
-
210
- /**
211
- * 返回展示悬浮窗的结果
212
- * 0: 展示失败
213
- * 1: 展示成功
214
- * 2: 排队中
215
- */
216
- floatingShowResult?: number;
176
+ /** 跳转目标,填写页面的 pageId,如 'settings' */
177
+ url: string;
217
178
  }
218
179
  ```
219
180
 
220
- ### close
181
+ **返回值**: Promise
182
+
183
+ ### reLaunch
221
184
 
222
185
  **参数**:
223
186
  ```typescript
224
187
  {
225
- /** 要关闭的页面 id,留空(undefined) 为当前页面 */
226
- viewID?: string;
227
- /** 要关闭的多个页面 id */
228
- viewIDs?: string[];
229
- /**
230
- * @default false
231
- */
232
- animated?: boolean;
188
+ /** 跳转目标,填写页面的 pageId,如 'home' */
189
+ url: string;
233
190
  }
234
191
  ```
235
192
 
236
- **返回值**: 无(空对象)
193
+ **返回值**: Promise
194
+
195
+ ### navigateBack
196
+
197
+ **参数**:
198
+ ```typescript
199
+ {
200
+ /** 返回的页面数,默认为 1 */
201
+ delta?: number;
202
+ }
203
+ ```
204
+
205
+ **返回值**: Promise
206
+
207
+ > `close()` 已废弃,公开路由场景请优先使用 `navigateBack()`。
208
+ >
209
+ > 常规页面跳转场景下,`url` 直接使用目标页面的 `pageId`,该值一般与页面的 `aiMeta.id` 一致;需要传参时可直接拼接 query string。
237
210
 
238
211
  ### showToast
239
212
 
@@ -413,7 +386,7 @@ const phone = await getPhoneNumber();
413
386
 
414
387
  | API | 功能 | 示例 |
415
388
  |-----|------|------|
416
- | `sendQueryMessage(params)` | 发送用户消息 | `sendQueryMessage({ content: '查询天气', type: 'text', context: {} })` |
389
+ | `sendQueryMessage(params)` | 发送用户消息 | `sendQueryMessage({ content: '查询天气', type: 'text' })` |
417
390
  | `setAdditionalContext(params)` | 设置上下文 | `setAdditionalContext({ additionalContext: '...' })` |
418
391
 
419
392
  ### sendQueryMessage
@@ -426,12 +399,6 @@ const phone = await getPhoneNumber();
426
399
 
427
400
  /** 消息类型,目前仅支持 text */
428
401
  type: 'text';
429
-
430
- /** Plugin tool 或 Page/Widget 携带的上下文信息 */
431
- context: object;
432
-
433
- /** 扩展信息 */
434
- ext?: Record<string, string>;
435
402
  }
436
403
  ```
437
404
 
@@ -500,21 +467,7 @@ interface PageInput {
500
467
  [key: string]: any; // URL 参数
501
468
  }
502
469
 
503
- // Widget Input Schema
504
- interface WidgetInputSchema {
505
- type: 'object';
506
- properties: {
507
- [key: string]: {
508
- type: 'string' | 'number' | 'boolean' | 'array' | 'object';
509
- title: string;
510
- description?: string;
511
- default?: any;
512
- };
513
- };
514
- required?: string[];
515
- }
516
-
517
- // aiMeta 配置
470
+ // src/app.config.ts 中的 metadata 配置
518
471
  interface PageAIMeta {
519
472
  id: string; // 页面唯一标识
520
473
  title?: string; // 页面标题
@@ -526,7 +479,15 @@ interface WidgetAIMeta {
526
479
  name?: string; // 卡片名称
527
480
  description?: string; // 卡片描述
528
481
  boxType?: 'inbox' | 'full_box'; // 卡片类型
529
- input: WidgetInputSchema; // 输入数据格式
482
+ border?: boolean; // 是否显示边框
483
+ keywords?: string[]; // 搜索关键词
484
+ titleType?: 'none' | 'normal' | 'float';
485
+ }
486
+
487
+ // Widget 渲染数据类型
488
+ interface WidgetViewData {
489
+ title: string;
490
+ content?: string;
530
491
  }
531
492
  ```
532
493
 
@@ -6,19 +6,19 @@
6
6
 
7
7
  ## 速查
8
8
 
9
- | API | 签名 | 用途 | 参数类型 | 结果类型 | 注意点 |
10
- | --- | --- | --- | --- | --- | --- |
11
- | [`getAccountInfo`](#getaccountinfo) | `getAccountInfo(params?): Promise<GetAccountInfoResult>` | 异步获取账号信息 | `params?` | `Promise<GetAccountInfoResult>` | - |
12
- | [`getAccountInfoSync`](#getaccountinfosync) | `getAccountInfoSync(params?): GetAccountInfoResult` | 同步获取账号信息 | `params?` | `GetAccountInfoResult` | 同步 API |
13
- | [`authorize`](#authorize) | `authorize(params): Promise<object>` | 初始化授权 | `params: AuthorizeRequest` | `Promise<object>` | 按 scope 申请授权 |
14
- | [`canIUse`](#caniuse) | `canIUse(params): Promise<CanIUseResult>` | 检测当前宿主是否支持指定 API 或能力 | `params: CanIUseParams` | `Promise<CanIUseResult>` | 用于兼容性判断 |
15
- | [`getLocation`](#getlocation) | `getLocation(params?): Promise<GetLocationResponse>` | 获取设备当前的地理位置信息 | `params?: GetLocationParams` | `Promise<GetLocationResponse>` | 可能涉及定位授权 |
16
- | [`login`](#login) | `login(params?): Promise<LoginResult>` | 发起登录并获取登录凭证 | `params?: LoginRequest` | `Promise<LoginResult>` | - |
17
- | [`getWindowInfoSync`](#getwindowinfosync) | `getWindowInfoSync(_param?): GetWindowInfoResult` | 获取窗口信息 | `_param?` | `GetWindowInfoResult` | 同步 API |
18
- | [`getSystemSetting`](#getsystemsetting) | `getSystemSetting(params?): GetSystemSettingResult` | 获取设备设置 | `params?` | `GetSystemSettingResult` | - |
19
- | [`getAppBaseInfoSync`](#getappbaseinfosync) | `getAppBaseInfoSync(_params?): GetAppBaseInfoResult` | 获取应用基础信息 | `_params?` | `GetAppBaseInfoResult` | 同步 API |
20
- | [`getWindowInfo`](#getwindowinfo) | `getWindowInfo(_params?): Promise<GetWindowInfoResult>` | 获取窗口信息 | `_params?` | `Promise<GetWindowInfoResult>` | - |
21
- | [`getAppBaseInfo`](#getappbaseinfo) | `getAppBaseInfo(params?): Promise<GetAppBaseInfoResult>` | 获取应用基础信息 | `params?` | `Promise<GetAppBaseInfoResult>` | - |
9
+ | API | 说明 |
10
+ | --- | --- |
11
+ | [getAccountInfo](#getaccountinfo) | 异步获取账号信息。 |
12
+ | [getAccountInfoSync](#getaccountinfosync) | 同步获取账号信息。<br><br>同步 API |
13
+ | [authorize](#authorize) | 初始化授权。<br><br>按 scope 申请授权。 |
14
+ | [canIUse](#caniuse) | 检测当前宿主是否支持指定 API 或能力。<br><br>用于兼容性判断。 |
15
+ | [getLocation](#getlocation) | 获取设备当前的地理位置信息。<br><br>可能涉及定位授权。 |
16
+ | [login](#login) | 发起登录并获取登录凭证。 |
17
+ | [getWindowInfoSync](#getwindowinfosync) | 获取窗口信息。<br><br>同步 API |
18
+ | [getSystemSetting](#getsystemsetting) | 获取设备设置。 |
19
+ | [getAppBaseInfoSync](#getappbaseinfosync) | 获取应用基础信息。<br><br>同步 API |
20
+ | [getWindowInfo](#getwindowinfo) | 获取窗口信息。 |
21
+ | [getAppBaseInfo](#getappbaseinfo) | 获取应用基础信息。 |
22
22
 
23
23
  ## API 详情
24
24
 
@@ -0,0 +1,409 @@
1
+ # Open API: 存储
2
+
3
+ 本地缓存;带 Sync 后缀的是同步 API。
4
+
5
+ [返回目录](./README.md) | [返回速查](../open-api.md)
6
+
7
+ ## 速查
8
+
9
+ | API | 说明 |
10
+ | --- | --- |
11
+ | [setStorage](#setstorage) | 将数据写入本地缓存。 |
12
+ | [setStorageSync](#setstoragesync) | 将数据写入本地缓存。<br><br>同步 API。 |
13
+ | [getStorage](#getstorage) | 从本地缓存读取数据。 |
14
+ | [getStorageSync](#getstoragesync) | 从本地缓存同步读取数据。<br><br>同步 API。 |
15
+ | [removeStorage](#removestorage) | 删除本地缓存中指定 key 的数据。 |
16
+ | [removeStorageSync](#removestoragesync) | 删除本地缓存中指定 key 的数据。<br><br>同步 API。 |
17
+ | [clearStorage](#clearstorage) | 清空本地缓存。 |
18
+ | [clearStorageSync](#clearstoragesync) | 清空本地缓存。<br><br>同步 API。 |
19
+ | [getStorageInfo](#getstorageinfo) | 获取本地缓存信息。 |
20
+ | [getStorageInfoSync](#getstorageinfosync) | 同步获取本地缓存信息。<br><br>同步 API。 |
21
+
22
+ ## API 详情
23
+
24
+ <a id="setstorage"></a>
25
+ ### setStorage()
26
+
27
+ > **setStorage**\<`TData`\>(`params`): `Promise`\<`object`\>
28
+
29
+ 将数据写入本地缓存。
30
+
31
+ #### Type parameters
32
+
33
+ • **TData** = `unknown`
34
+
35
+ #### Parameters
36
+
37
+ • **params**: [`SetStorageParams`](#setstorageparamstdata)\<`TData`\>
38
+
39
+ 存储参数,字段见 [SetStorageParams](#setstorageparamstdata)。
40
+
41
+ #### Returns
42
+
43
+ `Promise`\<`object`\>
44
+
45
+ 返回一个 Promise,写入完成后 resolve。
46
+
47
+ #### Remarks
48
+
49
+ #### Example
50
+
51
+ ```typescript
52
+ import { setStorage } from '@doubao-apps/framework/api';
53
+
54
+ await setStorage({
55
+ key: 'profile',
56
+ data: { name: 'Tom', age: 18 },
57
+ });
58
+ ```
59
+
60
+ <a id="setstoragesync"></a>
61
+ ### setStorageSync()
62
+
63
+ > **setStorageSync**\<`TData`\>(`params`): `object`
64
+
65
+ 将数据写入本地缓存。
66
+
67
+ #### Type parameters
68
+
69
+ • **TData** = `unknown`
70
+
71
+ #### Parameters
72
+
73
+ • **params**: [`SetStorageParams`](#setstorageparamstdata)\<`TData`\>
74
+
75
+ 存储参数,字段见 [SetStorageParams](#setstorageparamstdata)。
76
+
77
+ #### Returns
78
+
79
+ `object`
80
+
81
+ 同步写入完成后返回。
82
+
83
+ #### Remarks
84
+
85
+ #### Example
86
+
87
+ ```typescript
88
+ import { setStorageSync } from '@doubao-apps/framework/api';
89
+
90
+ setStorageSync({
91
+ key: 'profile',
92
+ data: { name: 'Tom', age: 18 },
93
+ });
94
+ ```
95
+
96
+ <a id="getstorage"></a>
97
+ ### getStorage()
98
+
99
+ > **getStorage**\<`TData`\>(`params`): `Promise`\<[`GetStorageResult`](#getstorageresulttdata)\<`TData`\>\>
100
+
101
+ 从本地缓存读取数据。
102
+
103
+ #### Type parameters
104
+
105
+ • **TData** = `unknown`
106
+
107
+ #### Parameters
108
+
109
+ • **params**: [`GetStorageParams`](#getstorageparams)
110
+
111
+ 查询参数,字段见 [GetStorageParams](#getstorageparams)。
112
+
113
+ #### Returns
114
+
115
+ `Promise`\<[`GetStorageResult`](#getstorageresulttdata)\<`TData`\>\>
116
+
117
+ 返回一个 Promise,解析为 [GetStorageResult](#getstorageresulttdata)。
118
+
119
+ #### Remarks
120
+
121
+ #### Example
122
+
123
+ ```typescript
124
+ import { getStorage } from '@doubao-apps/framework/api';
125
+
126
+ const result = await getStorage<{ name: string; age: number }>({
127
+ key: 'profile',
128
+ });
129
+
130
+ console.log(result.data.name, result.data.age);
131
+ ```
132
+
133
+ <a id="getstoragesync"></a>
134
+ ### getStorageSync()
135
+
136
+ > **getStorageSync**\<`TData`\>(`params`): [`GetStorageResult`](#getstorageresulttdata)\<`TData`\>
137
+
138
+ 从本地缓存同步读取数据。
139
+
140
+ #### Type parameters
141
+
142
+ • **TData** = `unknown`
143
+
144
+ #### Parameters
145
+
146
+ • **params**: [`GetStorageParams`](#getstorageparams)
147
+
148
+ 查询参数,字段见 [GetStorageParams](#getstorageparams)。
149
+
150
+ #### Returns
151
+
152
+ [`GetStorageResult`](#getstorageresulttdata)\<`TData`\>
153
+
154
+ 返回 [GetStorageResult](#getstorageresulttdata)。
155
+
156
+ #### Remarks
157
+
158
+ #### Example
159
+
160
+ ```typescript
161
+ import { getStorageSync } from '@doubao-apps/framework/api';
162
+
163
+ const result = getStorageSync<{ name: string; age: number }>({
164
+ key: 'profile',
165
+ });
166
+
167
+ console.log(result.data.name, result.data.age);
168
+ ```
169
+
170
+ <a id="removestorage"></a>
171
+ ### removeStorage()
172
+
173
+ > **removeStorage**(`params`): `Promise`\<`object`\>
174
+
175
+ 删除本地缓存中指定 key 的数据。
176
+
177
+ #### Parameters
178
+
179
+ • **params**: [`RemoveStorageParams`](#removestorageparams)
180
+
181
+ 删除参数,字段见 [RemoveStorageParams](#removestorageparams)。
182
+
183
+ #### Returns
184
+
185
+ `Promise`\<`object`\>
186
+
187
+ 返回一个 Promise,删除完成后 resolve。
188
+
189
+ #### Example
190
+
191
+ ```typescript
192
+ import { removeStorage } from '@doubao-apps/framework/api';
193
+
194
+ await removeStorage({ key: 'profile' });
195
+ ```
196
+
197
+ <a id="removestoragesync"></a>
198
+ ### removeStorageSync()
199
+
200
+ > **removeStorageSync**(`params`?): `object`
201
+
202
+ 删除本地缓存中指定 key 的数据。
203
+
204
+ #### Parameters
205
+
206
+ • **params?**: [`RemoveStorageParams`](#removestorageparams)
207
+
208
+ 删除参数,字段见 [RemoveStorageParams](#removestorageparams)。
209
+
210
+ #### Returns
211
+
212
+ `object`
213
+
214
+ 同步删除完成后返回。
215
+
216
+ #### Example
217
+
218
+ ```typescript
219
+ import { removeStorageSync } from '@doubao-apps/framework/api';
220
+
221
+ removeStorageSync({ key: 'profile' });
222
+ ```
223
+
224
+ <a id="clearstorage"></a>
225
+ ### clearStorage()
226
+
227
+ > **clearStorage**(`params`?): `Promise`\<`object`\>
228
+
229
+ 清空本地缓存。
230
+
231
+ #### Parameters
232
+
233
+ • **params?**: `object`
234
+
235
+ #### Returns
236
+
237
+ `Promise`\<`object`\>
238
+
239
+ 返回一个 Promise,清空完成后 resolve。
240
+
241
+ #### Example
242
+
243
+ ```typescript
244
+ import { clearStorage } from '@doubao-apps/framework/api';
245
+
246
+ await clearStorage();
247
+ ```
248
+
249
+ <a id="clearstoragesync"></a>
250
+ ### clearStorageSync()
251
+
252
+ > **clearStorageSync**(`params`?): `object`
253
+
254
+ 清空本地缓存。
255
+
256
+ #### Parameters
257
+
258
+ • **params?**: `object`
259
+
260
+ #### Returns
261
+
262
+ `object`
263
+
264
+ 同步清空完成后返回。
265
+
266
+ #### Example
267
+
268
+ ```typescript
269
+ import { clearStorageSync } from '@doubao-apps/framework/api';
270
+
271
+ clearStorageSync();
272
+ ```
273
+
274
+ <a id="getstorageinfo"></a>
275
+ ### getStorageInfo()
276
+
277
+ > **getStorageInfo**(`params`?): `Promise`\<[`GetStorageInfoResult`](#getstorageinforesult)\>
278
+
279
+ 获取本地缓存信息。
280
+
281
+ #### Parameters
282
+
283
+ • **params?**
284
+
285
+ #### Returns
286
+
287
+ `Promise`\<[`GetStorageInfoResult`](#getstorageinforesult)\>
288
+
289
+ 返回一个 Promise,解析为 [GetStorageInfoResult](#getstorageinforesult)。
290
+
291
+ #### Example
292
+
293
+ ```typescript
294
+ import { getStorageInfo } from '@doubao-apps/framework/api';
295
+
296
+ const result = await getStorageInfo();
297
+
298
+ console.log(result.keys, result.currentSize, result.limitSize);
299
+ ```
300
+
301
+ <a id="getstorageinfosync"></a>
302
+ ### getStorageInfoSync()
303
+
304
+ > **getStorageInfoSync**(`params`?): [`GetStorageInfoResult`](#getstorageinforesult)
305
+
306
+ 同步获取本地缓存信息。
307
+
308
+ #### Parameters
309
+
310
+ • **params?**
311
+
312
+ #### Returns
313
+
314
+ [`GetStorageInfoResult`](#getstorageinforesult)
315
+
316
+ 返回 [GetStorageInfoResult](#getstorageinforesult)。
317
+
318
+ #### Example
319
+
320
+ ```typescript
321
+ import { getStorageInfoSync } from '@doubao-apps/framework/api';
322
+
323
+ const result = getStorageInfoSync();
324
+
325
+ console.log(result.keys, result.currentSize, result.limitSize);
326
+ ```
327
+
328
+ ## 相关类型
329
+
330
+ <a id="setstorageparamstdata"></a>
331
+ ### SetStorageParams<TData>
332
+
333
+ #### Type parameters
334
+
335
+ • **TData** = `unknown`
336
+
337
+ #### Properties
338
+
339
+ ##### data
340
+
341
+ > **data**: `TData`
342
+
343
+ 待存储的数据
344
+
345
+ ##### key
346
+
347
+ > **key**: `string`
348
+
349
+ 本地缓存键名
350
+
351
+ <a id="getstorageparams"></a>
352
+ ### GetStorageParams
353
+
354
+ #### Properties
355
+
356
+ ##### key
357
+
358
+ > **key**: `string`
359
+
360
+ 本地缓存键名
361
+
362
+ <a id="getstorageresulttdata"></a>
363
+ ### GetStorageResult<TData>
364
+
365
+ #### Type parameters
366
+
367
+ • **TData** = `unknown`
368
+
369
+ #### Properties
370
+
371
+ ##### data
372
+
373
+ > **data**: `TData`
374
+
375
+ key 对应的数据
376
+
377
+ <a id="removestorageparams"></a>
378
+ ### RemoveStorageParams
379
+
380
+ #### Properties
381
+
382
+ ##### key
383
+
384
+ > **key**: `string`
385
+
386
+ 本地缓存键名
387
+
388
+ <a id="getstorageinforesult"></a>
389
+ ### GetStorageInfoResult
390
+
391
+ #### Properties
392
+
393
+ ##### currentSize
394
+
395
+ > **currentSize**: `number`
396
+
397
+ 当前占用的空间大小,单位 KB
398
+
399
+ ##### keys
400
+
401
+ > **keys**: `string`[]
402
+
403
+ 当前 storage 中所有的 key
404
+
405
+ ##### limitSize
406
+
407
+ > **limitSize**: `number`
408
+
409
+ 限制的空间大小,单位 KB