@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,1176 @@
1
+ # 豆包应用插件的端能力 API: 存储
2
+
3
+ 本地缓存;带 Sync 后缀的是同步 API。
4
+
5
+ [返回目录](./groups.md) | [返回速查](./quick-reference.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
28
+
29
+ 将数据写入本地缓存。
30
+
31
+ ## 扫码预览
32
+ ![扫码预览 setStorage](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fset-storage%252Findex)
33
+
34
+ ## 支持版本
35
+
36
+ 前端库版本不低于 `0.0.17`。
37
+
38
+ ## 支持平台
39
+
40
+ <table>
41
+ <thead>
42
+ <tr><th>平台</th><th>支持情况</th></tr>
43
+ </thead>
44
+ <tbody>
45
+ <tr><td>Android</td><td>支持</td></tr>
46
+ <tr><td>iOS</td><td>支持</td></tr>
47
+ <tr><td>PC</td><td>不支持</td></tr>
48
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
49
+ </tbody>
50
+ </table>
51
+
52
+ ## 支持场景
53
+
54
+ <table>
55
+ <thead>
56
+ <tr><th>场景</th><th>支持情况</th></tr>
57
+ </thead>
58
+ <tbody>
59
+ <tr><td>页面</td><td>支持</td></tr>
60
+ <tr><td>卡片</td><td>支持</td></tr>
61
+ </tbody>
62
+ </table>
63
+
64
+ ## 使用说明
65
+
66
+ - 数据按登录用户与应用插件双重隔离存储;单个 value 序列化后不超过 1MB,且全部数据总量不超过 10MB,超出会写入失败。
67
+
68
+ ## 调用方式
69
+
70
+ ### 异步 API
71
+
72
+ ```typescript
73
+ setStorage<TData = unknown>(params: SetStorageParams<TData>): Promise<object>
74
+ ```
75
+
76
+ ## 入参
77
+
78
+ <table>
79
+ <thead>
80
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
81
+ </thead>
82
+ <tbody>
83
+ <tr><td><code>data</code></td><td><code>TData</code></td><td>是</td><td>-</td><td>-</td><td>待存储的数据</td></tr>
84
+ <tr><td><code>key</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>本地缓存键名</td></tr>
85
+ </tbody>
86
+ </table>
87
+
88
+ ## 调用示例
89
+
90
+ ```typescript
91
+ import { setStorage } from '@doubao-dev/framework/api';
92
+
93
+ await setStorage({
94
+ key: 'profile',
95
+ data: { name: 'Tom', age: 18 },
96
+ });
97
+ ```
98
+
99
+ ## 成功返回
100
+
101
+ 无返回字段。
102
+
103
+ ## 错误处理
104
+
105
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
106
+
107
+ ### 失败示例
108
+
109
+ ```json
110
+ {
111
+ "errNo": 1600001,
112
+ "errMsg": "exceed storage item max size"
113
+ }
114
+ ```
115
+
116
+ ### 错误码
117
+
118
+ <table>
119
+ <thead>
120
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
121
+ </thead>
122
+ <tbody>
123
+ <tr><td><code>1600001</code></td><td><code>exceed storage item max size</code></td><td>Android、iOS</td><td>单个 value 序列化后超过 1MB</td><td>减小单条数据体积后重试。</td></tr>
124
+ <tr><td><code>1600002</code></td><td><code>total storage size exceeded</code></td><td>Android、iOS</td><td>写入后本地缓存总量超过 10MB</td><td>先清理无用缓存后重试。</td></tr>
125
+ <tr><td><code>1600004</code></td><td><code>key is empty</code></td><td>Android、iOS</td><td>key 为空字符串</td><td>传入非空 key。</td></tr>
126
+ <tr><td><code>1600005</code></td><td><code>key exceeds max length</code></td><td>Android、iOS</td><td>key 长度超过 1024</td><td>缩短 key 长度。</td></tr>
127
+ </tbody>
128
+ </table>
129
+
130
+ #### 通用错误码
131
+
132
+ <table>
133
+ <thead>
134
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
135
+ </thead>
136
+ <tbody>
137
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
138
+ </tbody>
139
+ </table>
140
+
141
+ <a id="setstoragesync"></a>
142
+ ### setStorageSync()
143
+
144
+ # setStorageSync
145
+
146
+ 将数据写入本地缓存。
147
+
148
+ ## 扫码预览
149
+ ![扫码预览 setStorageSync](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fset-storage%252Findex)
150
+
151
+ ## 支持版本
152
+
153
+ 前端库版本不低于 `0.0.19`。
154
+
155
+ ## 支持平台
156
+
157
+ <table>
158
+ <thead>
159
+ <tr><th>平台</th><th>支持情况</th></tr>
160
+ </thead>
161
+ <tbody>
162
+ <tr><td>Android</td><td>支持</td></tr>
163
+ <tr><td>iOS</td><td>支持</td></tr>
164
+ <tr><td>PC</td><td>不支持</td></tr>
165
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
166
+ </tbody>
167
+ </table>
168
+
169
+ ## 支持场景
170
+
171
+ <table>
172
+ <thead>
173
+ <tr><th>场景</th><th>支持情况</th></tr>
174
+ </thead>
175
+ <tbody>
176
+ <tr><td>页面</td><td>支持</td></tr>
177
+ <tr><td>卡片</td><td>支持</td></tr>
178
+ </tbody>
179
+ </table>
180
+
181
+ ## 使用说明
182
+
183
+ - 数据按登录用户与应用插件双重隔离存储;单个 value 序列化后不超过 1MB,且全部数据总量不超过 10MB,超出会写入失败。
184
+
185
+ ## 调用方式
186
+
187
+ ### 同步 API
188
+
189
+ ```typescript
190
+ setStorageSync<TData = unknown>(params: SetStorageParams<TData>): object
191
+ ```
192
+
193
+ ## 入参
194
+
195
+ <table>
196
+ <thead>
197
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
198
+ </thead>
199
+ <tbody>
200
+ <tr><td><code>data</code></td><td><code>TData</code></td><td>是</td><td>-</td><td>-</td><td>待存储的数据</td></tr>
201
+ <tr><td><code>key</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>本地缓存键名</td></tr>
202
+ </tbody>
203
+ </table>
204
+
205
+ ## 调用示例
206
+
207
+ ```typescript
208
+ import { setStorageSync } from '@doubao-dev/framework/api';
209
+
210
+ setStorageSync({
211
+ key: 'profile',
212
+ data: { name: 'Tom', age: 18 },
213
+ });
214
+ ```
215
+
216
+ ## 返回值
217
+
218
+ 同步写入完成后返回。
219
+
220
+ ## 错误处理
221
+
222
+ 同步调用失败时抛出错误。错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
223
+
224
+ ### 失败示例
225
+
226
+ ```json
227
+ {
228
+ "errNo": 1600001,
229
+ "errMsg": "exceed storage item max size"
230
+ }
231
+ ```
232
+
233
+ ### 错误码
234
+
235
+ <table>
236
+ <thead>
237
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
238
+ </thead>
239
+ <tbody>
240
+ <tr><td><code>1600001</code></td><td><code>exceed storage item max size</code></td><td>Android、iOS</td><td>单个 value 序列化后超过 1MB</td><td>减小单条数据体积后重试。</td></tr>
241
+ <tr><td><code>1600002</code></td><td><code>total storage size exceeded</code></td><td>Android、iOS</td><td>写入后本地缓存总量超过 10MB</td><td>先清理无用缓存后重试。</td></tr>
242
+ <tr><td><code>1600004</code></td><td><code>key is empty</code></td><td>Android、iOS</td><td>key 为空字符串</td><td>传入非空 key。</td></tr>
243
+ <tr><td><code>1600005</code></td><td><code>key exceeds max length</code></td><td>Android、iOS</td><td>key 长度超过 1024</td><td>缩短 key 长度。</td></tr>
244
+ </tbody>
245
+ </table>
246
+
247
+ #### 通用错误码
248
+
249
+ <table>
250
+ <thead>
251
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
252
+ </thead>
253
+ <tbody>
254
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
255
+ </tbody>
256
+ </table>
257
+
258
+ <a id="getstorage"></a>
259
+ ### getStorage()
260
+
261
+ # getStorage
262
+
263
+ 从本地缓存读取数据。
264
+
265
+ ## 扫码预览
266
+ ![扫码预览 getStorage](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fset-storage%252Findex)
267
+
268
+ ## 使用限制
269
+
270
+ > [!WARNING]
271
+ > **Android、iOS**:key 不存在时 Android 返回 null、iOS 返回 nil,且均按成功返回,不抛出错误;调用方按必返字段使用会得到 undefined,且无法区分「未写入」与「写入了空值」。
272
+
273
+ ## 支持版本
274
+
275
+ 前端库版本不低于 `0.0.17`。
276
+
277
+ ## 支持平台
278
+
279
+ <table>
280
+ <thead>
281
+ <tr><th>平台</th><th>支持情况</th></tr>
282
+ </thead>
283
+ <tbody>
284
+ <tr><td>Android</td><td>支持</td></tr>
285
+ <tr><td>iOS</td><td>支持</td></tr>
286
+ <tr><td>PC</td><td>不支持</td></tr>
287
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
288
+ </tbody>
289
+ </table>
290
+
291
+ ## 支持场景
292
+
293
+ <table>
294
+ <thead>
295
+ <tr><th>场景</th><th>支持情况</th></tr>
296
+ </thead>
297
+ <tbody>
298
+ <tr><td>页面</td><td>支持</td></tr>
299
+ <tr><td>卡片</td><td>支持</td></tr>
300
+ </tbody>
301
+ </table>
302
+
303
+ ## 使用说明
304
+
305
+ - 写入时会对 data 做 JSON 序列化,读取时按 JSON 反序列化,无法解析时原样返回字符串。
306
+
307
+ ## 调用方式
308
+
309
+ ### 异步 API
310
+
311
+ ```typescript
312
+ getStorage<TData = unknown>(params: GetStorageParams): Promise<GetStorageResult<TData>>
313
+ ```
314
+
315
+ ## 入参
316
+
317
+ <table>
318
+ <thead>
319
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
320
+ </thead>
321
+ <tbody>
322
+ <tr><td><code>key</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>本地缓存键名</td></tr>
323
+ </tbody>
324
+ </table>
325
+
326
+ ## 调用示例
327
+
328
+ ```typescript
329
+ import { getStorage } from '@doubao-dev/framework/api';
330
+
331
+ const result = await getStorage<{ name: string; age: number }>({
332
+ key: 'profile',
333
+ });
334
+
335
+ console.log(result.data.name, result.data.age);
336
+ ```
337
+
338
+ ## 成功返回
339
+
340
+ <table>
341
+ <thead>
342
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
343
+ </thead>
344
+ <tbody>
345
+ <tr><td><code>data</code></td><td><code>TData</code></td><td>是</td><td>key 对应的数据。Android、iOS:key 不存在时 Android 返回 null、iOS 返回 nil,且均按成功返回,不抛出错误。</td></tr>
346
+ </tbody>
347
+ </table>
348
+
349
+ ### 返回示例
350
+
351
+ ```json
352
+ {
353
+ "data": {
354
+ "name": "Tom",
355
+ "age": 18
356
+ }
357
+ }
358
+ ```
359
+
360
+ ## 错误处理
361
+
362
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
363
+
364
+ ### 失败示例
365
+
366
+ ```json
367
+ {
368
+ "errNo": 1600004,
369
+ "errMsg": "key is empty"
370
+ }
371
+ ```
372
+
373
+ ### 错误码
374
+
375
+ <table>
376
+ <thead>
377
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
378
+ </thead>
379
+ <tbody>
380
+ <tr><td><code>1600004</code></td><td><code>key is empty</code></td><td>Android、iOS</td><td>key 为空字符串</td><td>传入非空 key。</td></tr>
381
+ <tr><td><code>1600005</code></td><td><code>key exceeds max length</code></td><td>Android、iOS</td><td>key 长度超过 1024</td><td>缩短 key 长度。</td></tr>
382
+ </tbody>
383
+ </table>
384
+
385
+ #### 通用错误码
386
+
387
+ <table>
388
+ <thead>
389
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
390
+ </thead>
391
+ <tbody>
392
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
393
+ </tbody>
394
+ </table>
395
+
396
+ <a id="getstoragesync"></a>
397
+ ### getStorageSync()
398
+
399
+ # getStorageSync
400
+
401
+ 从本地缓存同步读取数据。
402
+
403
+ ## 扫码预览
404
+ ![扫码预览 getStorageSync](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fset-storage%252Findex)
405
+
406
+ ## 使用限制
407
+
408
+ > [!WARNING]
409
+ > **Android、iOS**:key 不存在时 Android 返回 null、iOS 返回 nil,且均按成功返回,不抛出错误;调用方按必返字段使用会得到 undefined,且无法区分「未写入」与「写入了空值」。
410
+
411
+ ## 支持版本
412
+
413
+ 前端库版本不低于 `0.0.19`。
414
+
415
+ ## 支持平台
416
+
417
+ <table>
418
+ <thead>
419
+ <tr><th>平台</th><th>支持情况</th></tr>
420
+ </thead>
421
+ <tbody>
422
+ <tr><td>Android</td><td>支持</td></tr>
423
+ <tr><td>iOS</td><td>支持</td></tr>
424
+ <tr><td>PC</td><td>不支持</td></tr>
425
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
426
+ </tbody>
427
+ </table>
428
+
429
+ ## 支持场景
430
+
431
+ <table>
432
+ <thead>
433
+ <tr><th>场景</th><th>支持情况</th></tr>
434
+ </thead>
435
+ <tbody>
436
+ <tr><td>页面</td><td>支持</td></tr>
437
+ <tr><td>卡片</td><td>支持</td></tr>
438
+ </tbody>
439
+ </table>
440
+
441
+ ## 使用说明
442
+
443
+ - 写入时会对 data 做 JSON 序列化,读取时按 JSON 反序列化,无法解析时原样返回字符串。
444
+
445
+ ## 调用方式
446
+
447
+ ### 同步 API
448
+
449
+ ```typescript
450
+ getStorageSync<TData = unknown>(params: GetStorageParams): GetStorageResult<TData>
451
+ ```
452
+
453
+ ## 入参
454
+
455
+ <table>
456
+ <thead>
457
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
458
+ </thead>
459
+ <tbody>
460
+ <tr><td><code>key</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>本地缓存键名</td></tr>
461
+ </tbody>
462
+ </table>
463
+
464
+ ## 调用示例
465
+
466
+ ```typescript
467
+ import { getStorageSync } from '@doubao-dev/framework/api';
468
+
469
+ const result = getStorageSync<{ name: string; age: number }>({
470
+ key: 'profile',
471
+ });
472
+
473
+ console.log(result.data.name, result.data.age);
474
+ ```
475
+
476
+ ## 返回值
477
+
478
+ <table>
479
+ <thead>
480
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
481
+ </thead>
482
+ <tbody>
483
+ <tr><td><code>data</code></td><td><code>TData</code></td><td>是</td><td>key 对应的数据。Android、iOS:key 不存在时 Android 返回 null、iOS 返回 nil,且均按成功返回,不抛出错误。</td></tr>
484
+ </tbody>
485
+ </table>
486
+
487
+ ### 返回示例
488
+
489
+ ```json
490
+ {
491
+ "data": {
492
+ "name": "Tom",
493
+ "age": 18
494
+ }
495
+ }
496
+ ```
497
+
498
+ ## 错误处理
499
+
500
+ 同步调用失败时抛出错误。错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
501
+
502
+ ### 失败示例
503
+
504
+ ```json
505
+ {
506
+ "errNo": 1600004,
507
+ "errMsg": "key is empty"
508
+ }
509
+ ```
510
+
511
+ ### 错误码
512
+
513
+ <table>
514
+ <thead>
515
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
516
+ </thead>
517
+ <tbody>
518
+ <tr><td><code>1600004</code></td><td><code>key is empty</code></td><td>Android、iOS</td><td>key 为空字符串</td><td>传入非空 key。</td></tr>
519
+ <tr><td><code>1600005</code></td><td><code>key exceeds max length</code></td><td>Android、iOS</td><td>key 长度超过 1024</td><td>缩短 key 长度。</td></tr>
520
+ </tbody>
521
+ </table>
522
+
523
+ #### 通用错误码
524
+
525
+ <table>
526
+ <thead>
527
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
528
+ </thead>
529
+ <tbody>
530
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
531
+ </tbody>
532
+ </table>
533
+
534
+ <a id="removestorage"></a>
535
+ ### removeStorage()
536
+
537
+ # removeStorage
538
+
539
+ 删除本地缓存中指定 key 的数据。
540
+
541
+ ## 扫码预览
542
+ ![扫码预览 removeStorage](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fremove-storage%252Findex)
543
+
544
+ ## 支持版本
545
+
546
+ 前端库版本不低于 `0.0.17`。
547
+
548
+ ## 支持平台
549
+
550
+ <table>
551
+ <thead>
552
+ <tr><th>平台</th><th>支持情况</th></tr>
553
+ </thead>
554
+ <tbody>
555
+ <tr><td>Android</td><td>支持</td></tr>
556
+ <tr><td>iOS</td><td>支持</td></tr>
557
+ <tr><td>PC</td><td>不支持</td></tr>
558
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
559
+ </tbody>
560
+ </table>
561
+
562
+ ## 支持场景
563
+
564
+ <table>
565
+ <thead>
566
+ <tr><th>场景</th><th>支持情况</th></tr>
567
+ </thead>
568
+ <tbody>
569
+ <tr><td>页面</td><td>支持</td></tr>
570
+ <tr><td>卡片</td><td>支持</td></tr>
571
+ </tbody>
572
+ </table>
573
+
574
+ ## 使用说明
575
+
576
+ - key 不存在时删除操作也会成功返回。
577
+
578
+ ## 调用方式
579
+
580
+ ### 异步 API
581
+
582
+ ```typescript
583
+ removeStorage(params: RemoveStorageParams): Promise<object>
584
+ ```
585
+
586
+ ## 入参
587
+
588
+ <table>
589
+ <thead>
590
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
591
+ </thead>
592
+ <tbody>
593
+ <tr><td><code>key</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>本地缓存键名</td></tr>
594
+ </tbody>
595
+ </table>
596
+
597
+ ## 调用示例
598
+
599
+ ```typescript
600
+ import { removeStorage } from '@doubao-dev/framework/api';
601
+
602
+ await removeStorage({ key: 'profile' });
603
+ ```
604
+
605
+ ## 成功返回
606
+
607
+ 无返回字段。
608
+
609
+ ## 错误处理
610
+
611
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
612
+
613
+ ### 失败示例
614
+
615
+ ```json
616
+ {
617
+ "errNo": 1600004,
618
+ "errMsg": "key is empty"
619
+ }
620
+ ```
621
+
622
+ ### 错误码
623
+
624
+ <table>
625
+ <thead>
626
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
627
+ </thead>
628
+ <tbody>
629
+ <tr><td><code>1600004</code></td><td><code>key is empty</code></td><td>Android、iOS</td><td>key 为空字符串</td><td>传入非空 key。</td></tr>
630
+ <tr><td><code>1600005</code></td><td><code>key exceeds max length</code></td><td>Android、iOS</td><td>key 长度超过 1024</td><td>缩短 key 长度。</td></tr>
631
+ </tbody>
632
+ </table>
633
+
634
+ #### 通用错误码
635
+
636
+ <table>
637
+ <thead>
638
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
639
+ </thead>
640
+ <tbody>
641
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
642
+ </tbody>
643
+ </table>
644
+
645
+ <a id="removestoragesync"></a>
646
+ ### removeStorageSync()
647
+
648
+ # removeStorageSync
649
+
650
+ 删除本地缓存中指定 key 的数据。
651
+
652
+ ## 扫码预览
653
+ ![扫码预览 removeStorageSync](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fremove-storage%252Findex)
654
+
655
+ ## 支持版本
656
+
657
+ 前端库版本不低于 `0.0.19`。
658
+
659
+ ## 支持平台
660
+
661
+ <table>
662
+ <thead>
663
+ <tr><th>平台</th><th>支持情况</th></tr>
664
+ </thead>
665
+ <tbody>
666
+ <tr><td>Android</td><td>支持</td></tr>
667
+ <tr><td>iOS</td><td>支持</td></tr>
668
+ <tr><td>PC</td><td>不支持</td></tr>
669
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
670
+ </tbody>
671
+ </table>
672
+
673
+ ## 支持场景
674
+
675
+ <table>
676
+ <thead>
677
+ <tr><th>场景</th><th>支持情况</th></tr>
678
+ </thead>
679
+ <tbody>
680
+ <tr><td>页面</td><td>支持</td></tr>
681
+ <tr><td>卡片</td><td>支持</td></tr>
682
+ </tbody>
683
+ </table>
684
+
685
+ ## 使用说明
686
+
687
+ - key 不存在时删除操作也会成功返回。
688
+
689
+ ## 调用方式
690
+
691
+ ### 同步 API
692
+
693
+ ```typescript
694
+ removeStorageSync(params?: RemoveStorageParams): object
695
+ ```
696
+
697
+ ## 入参
698
+
699
+ <table>
700
+ <thead>
701
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
702
+ </thead>
703
+ <tbody>
704
+ <tr><td><code>key</code></td><td><code>string</code></td><td>否</td><td>-</td><td>-</td><td>本地缓存键名</td></tr>
705
+ </tbody>
706
+ </table>
707
+
708
+ ## 调用示例
709
+
710
+ ```typescript
711
+ import { removeStorageSync } from '@doubao-dev/framework/api';
712
+
713
+ removeStorageSync({ key: 'profile' });
714
+ ```
715
+
716
+ ## 返回值
717
+
718
+ 同步删除完成后返回。
719
+
720
+ ## 错误处理
721
+
722
+ 同步调用失败时抛出错误。错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
723
+
724
+ ### 失败示例
725
+
726
+ ```json
727
+ {
728
+ "errNo": 1600004,
729
+ "errMsg": "key is empty"
730
+ }
731
+ ```
732
+
733
+ ### 错误码
734
+
735
+ <table>
736
+ <thead>
737
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
738
+ </thead>
739
+ <tbody>
740
+ <tr><td><code>1600004</code></td><td><code>key is empty</code></td><td>Android、iOS</td><td>key 为空字符串</td><td>传入非空 key。</td></tr>
741
+ <tr><td><code>1600005</code></td><td><code>key exceeds max length</code></td><td>Android、iOS</td><td>key 长度超过 1024</td><td>缩短 key 长度。</td></tr>
742
+ </tbody>
743
+ </table>
744
+
745
+ #### 通用错误码
746
+
747
+ <table>
748
+ <thead>
749
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
750
+ </thead>
751
+ <tbody>
752
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
753
+ </tbody>
754
+ </table>
755
+
756
+ <a id="clearstorage"></a>
757
+ ### clearStorage()
758
+
759
+ # clearStorage
760
+
761
+ 清空本地缓存。
762
+
763
+ ## 扫码预览
764
+ ![扫码预览 clearStorage](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fclear-storage%252Findex)
765
+
766
+ ## 支持版本
767
+
768
+ 前端库版本不低于 `0.0.17`。
769
+
770
+ ## 支持平台
771
+
772
+ <table>
773
+ <thead>
774
+ <tr><th>平台</th><th>支持情况</th></tr>
775
+ </thead>
776
+ <tbody>
777
+ <tr><td>Android</td><td>支持</td></tr>
778
+ <tr><td>iOS</td><td>支持</td></tr>
779
+ <tr><td>PC</td><td>不支持</td></tr>
780
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
781
+ </tbody>
782
+ </table>
783
+
784
+ ## 支持场景
785
+
786
+ <table>
787
+ <thead>
788
+ <tr><th>场景</th><th>支持情况</th></tr>
789
+ </thead>
790
+ <tbody>
791
+ <tr><td>页面</td><td>支持</td></tr>
792
+ <tr><td>卡片</td><td>支持</td></tr>
793
+ </tbody>
794
+ </table>
795
+
796
+ ## 使用说明
797
+
798
+ - 只清空当前登录用户在当前应用插件下的缓存,不影响其他用户或其他应用插件的数据。
799
+
800
+ ## 调用方式
801
+
802
+ ### 异步 API
803
+
804
+ ```typescript
805
+ clearStorage(params?: object): Promise<object>
806
+ ```
807
+
808
+ ## 入参
809
+
810
+ 无。
811
+
812
+ ## 调用示例
813
+
814
+ ```typescript
815
+ import { clearStorage } from '@doubao-dev/framework/api';
816
+
817
+ await clearStorage();
818
+ ```
819
+
820
+ ## 成功返回
821
+
822
+ 无返回字段。
823
+
824
+ ## 错误处理
825
+
826
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
827
+
828
+ ### 错误码
829
+
830
+ #### 通用错误码
831
+
832
+ <table>
833
+ <thead>
834
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
835
+ </thead>
836
+ <tbody>
837
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
838
+ </tbody>
839
+ </table>
840
+
841
+ <a id="clearstoragesync"></a>
842
+ ### clearStorageSync()
843
+
844
+ # clearStorageSync
845
+
846
+ 清空本地缓存。
847
+
848
+ ## 扫码预览
849
+ ![扫码预览 clearStorageSync](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fclear-storage%252Findex)
850
+
851
+ ## 支持版本
852
+
853
+ 前端库版本不低于 `0.0.19`。
854
+
855
+ ## 支持平台
856
+
857
+ <table>
858
+ <thead>
859
+ <tr><th>平台</th><th>支持情况</th></tr>
860
+ </thead>
861
+ <tbody>
862
+ <tr><td>Android</td><td>支持</td></tr>
863
+ <tr><td>iOS</td><td>支持</td></tr>
864
+ <tr><td>PC</td><td>不支持</td></tr>
865
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
866
+ </tbody>
867
+ </table>
868
+
869
+ ## 支持场景
870
+
871
+ <table>
872
+ <thead>
873
+ <tr><th>场景</th><th>支持情况</th></tr>
874
+ </thead>
875
+ <tbody>
876
+ <tr><td>页面</td><td>支持</td></tr>
877
+ <tr><td>卡片</td><td>支持</td></tr>
878
+ </tbody>
879
+ </table>
880
+
881
+ ## 使用说明
882
+
883
+ - 只清空当前登录用户在当前应用插件下的缓存,不影响其他用户或其他应用插件的数据。
884
+
885
+ ## 调用方式
886
+
887
+ ### 同步 API
888
+
889
+ ```typescript
890
+ clearStorageSync(params?: object): object
891
+ ```
892
+
893
+ ## 入参
894
+
895
+ 无。
896
+
897
+ ## 调用示例
898
+
899
+ ```typescript
900
+ import { clearStorageSync } from '@doubao-dev/framework/api';
901
+
902
+ clearStorageSync();
903
+ ```
904
+
905
+ ## 返回值
906
+
907
+ 同步清空完成后返回。
908
+
909
+ ## 错误处理
910
+
911
+ 同步调用失败时抛出错误。错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
912
+
913
+ ### 错误码
914
+
915
+ #### 通用错误码
916
+
917
+ <table>
918
+ <thead>
919
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
920
+ </thead>
921
+ <tbody>
922
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
923
+ </tbody>
924
+ </table>
925
+
926
+ <a id="getstorageinfo"></a>
927
+ ### getStorageInfo()
928
+
929
+ # getStorageInfo
930
+
931
+ 获取本地缓存信息。
932
+
933
+ ## 扫码预览
934
+ ![扫码预览 getStorageInfo](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fget-storage-info%252Findex)
935
+
936
+ ## 支持版本
937
+
938
+ 前端库版本不低于 `0.0.17`。
939
+
940
+ ## 支持平台
941
+
942
+ <table>
943
+ <thead>
944
+ <tr><th>平台</th><th>支持情况</th></tr>
945
+ </thead>
946
+ <tbody>
947
+ <tr><td>Android</td><td>支持</td></tr>
948
+ <tr><td>iOS</td><td>支持</td></tr>
949
+ <tr><td>PC</td><td>不支持</td></tr>
950
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
951
+ </tbody>
952
+ </table>
953
+
954
+ ## 支持场景
955
+
956
+ <table>
957
+ <thead>
958
+ <tr><th>场景</th><th>支持情况</th></tr>
959
+ </thead>
960
+ <tbody>
961
+ <tr><td>页面</td><td>支持</td></tr>
962
+ <tr><td>卡片</td><td>支持</td></tr>
963
+ </tbody>
964
+ </table>
965
+
966
+ ## 使用说明
967
+
968
+ - currentSize 与 limitSize 均以 KB 为单位;limitSize 固定为 10240(即 10MB)。
969
+
970
+ ## 调用方式
971
+
972
+ ### 异步 API
973
+
974
+ ```typescript
975
+ getStorageInfo(params?: object): Promise<GetStorageInfoResult>
976
+ ```
977
+
978
+ ## 入参
979
+
980
+ 无。
981
+
982
+ ## 调用示例
983
+
984
+ ```typescript
985
+ import { getStorageInfo } from '@doubao-dev/framework/api';
986
+
987
+ const result = await getStorageInfo();
988
+
989
+ console.log(result.keys, result.currentSize, result.limitSize);
990
+ ```
991
+
992
+ ## 成功返回
993
+
994
+ <table>
995
+ <thead>
996
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
997
+ </thead>
998
+ <tbody>
999
+ <tr><td><code>currentSize</code></td><td><code>number</code></td><td>是</td><td>当前占用的空间大小,单位 KB</td></tr>
1000
+ <tr><td><code>keys</code></td><td><code>string[]</code></td><td>是</td><td>当前 storage 中所有的 key</td></tr>
1001
+ <tr><td><code>limitSize</code></td><td><code>number</code></td><td>是</td><td>限制的空间大小,单位 KB</td></tr>
1002
+ </tbody>
1003
+ </table>
1004
+
1005
+ ### 返回示例
1006
+
1007
+ ```json
1008
+ {
1009
+ "keys": ["profile", "settings"],
1010
+ "currentSize": 2,
1011
+ "limitSize": 10240
1012
+ }
1013
+ ```
1014
+
1015
+ ## 错误处理
1016
+
1017
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
1018
+
1019
+ ### 错误码
1020
+
1021
+ #### 通用错误码
1022
+
1023
+ <table>
1024
+ <thead>
1025
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
1026
+ </thead>
1027
+ <tbody>
1028
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
1029
+ </tbody>
1030
+ </table>
1031
+
1032
+ <a id="getstorageinfosync"></a>
1033
+ ### getStorageInfoSync()
1034
+
1035
+ # getStorageInfoSync
1036
+
1037
+ 同步获取本地缓存信息。
1038
+
1039
+ ## 扫码预览
1040
+ ![扫码预览 getStorageInfoSync](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fstorage%252Fget-storage-info%252Findex)
1041
+
1042
+ ## 支持版本
1043
+
1044
+ 前端库版本不低于 `0.0.19`。
1045
+
1046
+ ## 支持平台
1047
+
1048
+ <table>
1049
+ <thead>
1050
+ <tr><th>平台</th><th>支持情况</th></tr>
1051
+ </thead>
1052
+ <tbody>
1053
+ <tr><td>Android</td><td>支持</td></tr>
1054
+ <tr><td>iOS</td><td>支持</td></tr>
1055
+ <tr><td>PC</td><td>不支持</td></tr>
1056
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
1057
+ </tbody>
1058
+ </table>
1059
+
1060
+ ## 支持场景
1061
+
1062
+ <table>
1063
+ <thead>
1064
+ <tr><th>场景</th><th>支持情况</th></tr>
1065
+ </thead>
1066
+ <tbody>
1067
+ <tr><td>页面</td><td>支持</td></tr>
1068
+ <tr><td>卡片</td><td>支持</td></tr>
1069
+ </tbody>
1070
+ </table>
1071
+
1072
+ ## 使用说明
1073
+
1074
+ - currentSize 与 limitSize 均以 KB 为单位;limitSize 固定为 10240(即 10MB)。
1075
+
1076
+ ## 调用方式
1077
+
1078
+ ### 同步 API
1079
+
1080
+ ```typescript
1081
+ getStorageInfoSync(params?: object): GetStorageInfoResult
1082
+ ```
1083
+
1084
+ ## 入参
1085
+
1086
+ 无。
1087
+
1088
+ ## 调用示例
1089
+
1090
+ ```typescript
1091
+ import { getStorageInfoSync } from '@doubao-dev/framework/api';
1092
+
1093
+ const result = getStorageInfoSync();
1094
+
1095
+ console.log(result.keys, result.currentSize, result.limitSize);
1096
+ ```
1097
+
1098
+ ## 返回值
1099
+
1100
+ <table>
1101
+ <thead>
1102
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
1103
+ </thead>
1104
+ <tbody>
1105
+ <tr><td><code>currentSize</code></td><td><code>number</code></td><td>是</td><td>当前占用的空间大小,单位 KB</td></tr>
1106
+ <tr><td><code>keys</code></td><td><code>string[]</code></td><td>是</td><td>当前 storage 中所有的 key</td></tr>
1107
+ <tr><td><code>limitSize</code></td><td><code>number</code></td><td>是</td><td>限制的空间大小,单位 KB</td></tr>
1108
+ </tbody>
1109
+ </table>
1110
+
1111
+ ### 返回示例
1112
+
1113
+ ```json
1114
+ {
1115
+ "keys": ["profile", "settings"],
1116
+ "currentSize": 2,
1117
+ "limitSize": 10240
1118
+ }
1119
+ ```
1120
+
1121
+ ## 错误处理
1122
+
1123
+ 同步调用失败时抛出错误。错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
1124
+
1125
+ ### 错误码
1126
+
1127
+ #### 通用错误码
1128
+
1129
+ <table>
1130
+ <thead>
1131
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
1132
+ </thead>
1133
+ <tbody>
1134
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android</td></tr>
1135
+ </tbody>
1136
+ </table>
1137
+
1138
+ ## 相关类型
1139
+
1140
+ <a id="setstorageparams"></a>
1141
+ ### SetStorageParams
1142
+
1143
+ #### Properties
1144
+
1145
+ • **key**: `string` - 本地缓存键名
1146
+ • **data**: `TData` - 待存储的数据
1147
+
1148
+ <a id="getstorageparams"></a>
1149
+ ### GetStorageParams
1150
+
1151
+ #### Properties
1152
+
1153
+ • **key**: `string` - 本地缓存键名
1154
+
1155
+ <a id="getstorageresult"></a>
1156
+ ### GetStorageResult
1157
+
1158
+ #### Properties
1159
+
1160
+ • **data**: `TData` - key 对应的数据
1161
+
1162
+ <a id="removestorageparams"></a>
1163
+ ### RemoveStorageParams
1164
+
1165
+ #### Properties
1166
+
1167
+ • **key**: `string` - 本地缓存键名
1168
+
1169
+ <a id="getstorageinforesult"></a>
1170
+ ### GetStorageInfoResult
1171
+
1172
+ #### Properties
1173
+
1174
+ • **keys**: `string[]` - 当前 storage 中所有的 key
1175
+ • **currentSize**: `number` - 当前占用的空间大小,单位 KB
1176
+ • **limitSize**: `number` - 限制的空间大小,单位 KB