@heybox/hb-sdk 0.4.3 → 0.4.4
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.
- package/README.md +51 -4
- package/dist/cli-chunks/{create-BV4h2BTs.cjs → create-DAW1oAnH.cjs} +1 -1
- package/dist/cli-chunks/{deploy-Bz0-WpHy.cjs → deploy-BaLyuR1X.cjs} +3 -3
- package/dist/cli-chunks/{dev-DgX88vaK.cjs → dev-BA_4fnzO.cjs} +1 -1
- package/dist/cli-chunks/{doctor-BIZoQ6go.cjs → doctor-Bbv8Lzu_.cjs} +1 -1
- package/dist/cli-chunks/{index-ovy_xoLn.cjs → index-Bboot1us.cjs} +13 -13
- package/dist/cli-chunks/{index-DQAFCtK1.cjs → index-D7-awGYB.cjs} +2 -2
- package/dist/cli-chunks/{login-CoZhlwxt.cjs → login-BQo2pIkq.cjs} +2 -2
- package/dist/cli-chunks/{session-BQs0wf65.cjs → session-DiyDXvXu.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/mock-host/main.js +375 -0
- package/dist/index.cjs.js +98 -0
- package/dist/index.esm.js +96 -1
- package/dist/protocol.cjs.js +70 -0
- package/dist/protocol.esm.js +64 -1
- package/package.json +1 -1
- package/skill/references/api-protocol.md +34 -2
- package/skill/references/api-root.md +78 -3
- package/skill/references/llms-index.md +2 -2
- package/skill/references/safety-boundaries.md +1 -1
- package/skill/skill.json +4 -4
- package/types/core/sdk.d.ts +9 -0
- package/types/core/singleton.d.ts +9 -0
- package/types/index.d.ts +7 -1
- package/types/modules/device/index.d.ts +34 -0
- package/types/modules/navigation/index.d.ts +24 -0
- package/types/modules/ui/index.d.ts +42 -0
- package/types/protocol/capabilities.d.ts +81 -2
- package/types/protocol.d.ts +5 -2
package/dist/protocol.cjs.js
CHANGED
|
@@ -89,6 +89,20 @@ const STORAGE_SET_STORAGE_METHOD = 'storage.setStorage';
|
|
|
89
89
|
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
90
90
|
*/
|
|
91
91
|
const NETWORK_REQUEST_METHOD = 'network.request';
|
|
92
|
+
/** 展示 toast 能力方法名。 */
|
|
93
|
+
const UI_SHOW_TOAST_METHOD = 'ui.showToast';
|
|
94
|
+
/** 展示全局 loading 能力方法名。 */
|
|
95
|
+
const UI_SHOW_LOADING_METHOD = 'ui.showLoading';
|
|
96
|
+
/** 隐藏全局 loading 能力方法名。 */
|
|
97
|
+
const UI_HIDE_LOADING_METHOD = 'ui.hideLoading';
|
|
98
|
+
/** 震动反馈能力方法名。 */
|
|
99
|
+
const DEVICE_VIBRATE_METHOD = 'device.vibrate';
|
|
100
|
+
/** 写入文本剪贴板能力方法名。 */
|
|
101
|
+
const DEVICE_SET_CLIPBOARD_METHOD = 'device.setClipboard';
|
|
102
|
+
/** 关闭当前小程序容器能力方法名。 */
|
|
103
|
+
const NAVIGATION_CLOSE_METHOD = 'navigation.close';
|
|
104
|
+
/** 重载当前小程序容器能力方法名。 */
|
|
105
|
+
const NAVIGATION_RELOAD_METHOD = 'navigation.reload';
|
|
92
106
|
/**
|
|
93
107
|
* 小程序开放能力目录。
|
|
94
108
|
*
|
|
@@ -159,19 +173,75 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
|
|
|
159
173
|
permission: 'network.request',
|
|
160
174
|
risk: 'high',
|
|
161
175
|
},
|
|
176
|
+
{
|
|
177
|
+
method: UI_SHOW_TOAST_METHOD,
|
|
178
|
+
module: 'ui',
|
|
179
|
+
capability: UI_SHOW_TOAST_METHOD,
|
|
180
|
+
permission: 'ui.toast',
|
|
181
|
+
risk: 'low',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
method: UI_SHOW_LOADING_METHOD,
|
|
185
|
+
module: 'ui',
|
|
186
|
+
capability: UI_SHOW_LOADING_METHOD,
|
|
187
|
+
permission: 'ui.loading',
|
|
188
|
+
risk: 'low',
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
method: UI_HIDE_LOADING_METHOD,
|
|
192
|
+
module: 'ui',
|
|
193
|
+
capability: UI_HIDE_LOADING_METHOD,
|
|
194
|
+
permission: 'ui.loading',
|
|
195
|
+
risk: 'low',
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
method: DEVICE_VIBRATE_METHOD,
|
|
199
|
+
module: 'device',
|
|
200
|
+
capability: DEVICE_VIBRATE_METHOD,
|
|
201
|
+
permission: 'device.vibrate',
|
|
202
|
+
risk: 'low',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
method: DEVICE_SET_CLIPBOARD_METHOD,
|
|
206
|
+
module: 'device',
|
|
207
|
+
capability: DEVICE_SET_CLIPBOARD_METHOD,
|
|
208
|
+
permission: 'device.clipboard.write',
|
|
209
|
+
risk: 'medium',
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
method: NAVIGATION_CLOSE_METHOD,
|
|
213
|
+
module: 'navigation',
|
|
214
|
+
capability: NAVIGATION_CLOSE_METHOD,
|
|
215
|
+
permission: 'navigation.close',
|
|
216
|
+
risk: 'medium',
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
method: NAVIGATION_RELOAD_METHOD,
|
|
220
|
+
module: 'navigation',
|
|
221
|
+
capability: NAVIGATION_RELOAD_METHOD,
|
|
222
|
+
permission: 'navigation.reload',
|
|
223
|
+
risk: 'medium',
|
|
224
|
+
},
|
|
162
225
|
];
|
|
163
226
|
|
|
164
227
|
exports.AUTH_LOGIN_METHOD = AUTH_LOGIN_METHOD;
|
|
228
|
+
exports.DEVICE_SET_CLIPBOARD_METHOD = DEVICE_SET_CLIPBOARD_METHOD;
|
|
229
|
+
exports.DEVICE_VIBRATE_METHOD = DEVICE_VIBRATE_METHOD;
|
|
165
230
|
exports.MINI_PROGRAM_BRIDGE_NONCE_PARAM = MINI_PROGRAM_BRIDGE_NONCE_PARAM;
|
|
166
231
|
exports.MINI_PROGRAM_MESSAGE_NAMESPACE = MINI_PROGRAM_MESSAGE_NAMESPACE;
|
|
167
232
|
exports.MINI_PROGRAM_MESSAGE_VERSION = MINI_PROGRAM_MESSAGE_VERSION;
|
|
168
233
|
exports.MINI_PROGRAM_PROTOCOL_CAPABILITIES = MINI_PROGRAM_PROTOCOL_CAPABILITIES;
|
|
234
|
+
exports.NAVIGATION_CLOSE_METHOD = NAVIGATION_CLOSE_METHOD;
|
|
235
|
+
exports.NAVIGATION_RELOAD_METHOD = NAVIGATION_RELOAD_METHOD;
|
|
169
236
|
exports.NETWORK_REQUEST_METHOD = NETWORK_REQUEST_METHOD;
|
|
170
237
|
exports.SDK_HANDSHAKE_METHOD = SDK_HANDSHAKE_METHOD;
|
|
171
238
|
exports.SHARE_SCREENSHOT_METHOD = SHARE_SCREENSHOT_METHOD;
|
|
172
239
|
exports.SHARE_SHOW_SHARE_MENU_METHOD = SHARE_SHOW_SHARE_MENU_METHOD;
|
|
173
240
|
exports.STORAGE_GET_STORAGE_METHOD = STORAGE_GET_STORAGE_METHOD;
|
|
174
241
|
exports.STORAGE_SET_STORAGE_METHOD = STORAGE_SET_STORAGE_METHOD;
|
|
242
|
+
exports.UI_HIDE_LOADING_METHOD = UI_HIDE_LOADING_METHOD;
|
|
243
|
+
exports.UI_SHOW_LOADING_METHOD = UI_SHOW_LOADING_METHOD;
|
|
244
|
+
exports.UI_SHOW_TOAST_METHOD = UI_SHOW_TOAST_METHOD;
|
|
175
245
|
exports.USER_GET_INFO_METHOD = USER_GET_INFO_METHOD;
|
|
176
246
|
exports.VIEWPORT_GET_WINDOW_INFO_METHOD = VIEWPORT_GET_WINDOW_INFO_METHOD;
|
|
177
247
|
exports.VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD = VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD;
|
package/dist/protocol.esm.js
CHANGED
|
@@ -87,6 +87,20 @@ const STORAGE_SET_STORAGE_METHOD = 'storage.setStorage';
|
|
|
87
87
|
* 供 SDK 与父容器 runtime 共享同一 bridge method 标识。
|
|
88
88
|
*/
|
|
89
89
|
const NETWORK_REQUEST_METHOD = 'network.request';
|
|
90
|
+
/** 展示 toast 能力方法名。 */
|
|
91
|
+
const UI_SHOW_TOAST_METHOD = 'ui.showToast';
|
|
92
|
+
/** 展示全局 loading 能力方法名。 */
|
|
93
|
+
const UI_SHOW_LOADING_METHOD = 'ui.showLoading';
|
|
94
|
+
/** 隐藏全局 loading 能力方法名。 */
|
|
95
|
+
const UI_HIDE_LOADING_METHOD = 'ui.hideLoading';
|
|
96
|
+
/** 震动反馈能力方法名。 */
|
|
97
|
+
const DEVICE_VIBRATE_METHOD = 'device.vibrate';
|
|
98
|
+
/** 写入文本剪贴板能力方法名。 */
|
|
99
|
+
const DEVICE_SET_CLIPBOARD_METHOD = 'device.setClipboard';
|
|
100
|
+
/** 关闭当前小程序容器能力方法名。 */
|
|
101
|
+
const NAVIGATION_CLOSE_METHOD = 'navigation.close';
|
|
102
|
+
/** 重载当前小程序容器能力方法名。 */
|
|
103
|
+
const NAVIGATION_RELOAD_METHOD = 'navigation.reload';
|
|
90
104
|
/**
|
|
91
105
|
* 小程序开放能力目录。
|
|
92
106
|
*
|
|
@@ -157,6 +171,55 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
|
|
|
157
171
|
permission: 'network.request',
|
|
158
172
|
risk: 'high',
|
|
159
173
|
},
|
|
174
|
+
{
|
|
175
|
+
method: UI_SHOW_TOAST_METHOD,
|
|
176
|
+
module: 'ui',
|
|
177
|
+
capability: UI_SHOW_TOAST_METHOD,
|
|
178
|
+
permission: 'ui.toast',
|
|
179
|
+
risk: 'low',
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
method: UI_SHOW_LOADING_METHOD,
|
|
183
|
+
module: 'ui',
|
|
184
|
+
capability: UI_SHOW_LOADING_METHOD,
|
|
185
|
+
permission: 'ui.loading',
|
|
186
|
+
risk: 'low',
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
method: UI_HIDE_LOADING_METHOD,
|
|
190
|
+
module: 'ui',
|
|
191
|
+
capability: UI_HIDE_LOADING_METHOD,
|
|
192
|
+
permission: 'ui.loading',
|
|
193
|
+
risk: 'low',
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
method: DEVICE_VIBRATE_METHOD,
|
|
197
|
+
module: 'device',
|
|
198
|
+
capability: DEVICE_VIBRATE_METHOD,
|
|
199
|
+
permission: 'device.vibrate',
|
|
200
|
+
risk: 'low',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
method: DEVICE_SET_CLIPBOARD_METHOD,
|
|
204
|
+
module: 'device',
|
|
205
|
+
capability: DEVICE_SET_CLIPBOARD_METHOD,
|
|
206
|
+
permission: 'device.clipboard.write',
|
|
207
|
+
risk: 'medium',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
method: NAVIGATION_CLOSE_METHOD,
|
|
211
|
+
module: 'navigation',
|
|
212
|
+
capability: NAVIGATION_CLOSE_METHOD,
|
|
213
|
+
permission: 'navigation.close',
|
|
214
|
+
risk: 'medium',
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
method: NAVIGATION_RELOAD_METHOD,
|
|
218
|
+
module: 'navigation',
|
|
219
|
+
capability: NAVIGATION_RELOAD_METHOD,
|
|
220
|
+
permission: 'navigation.reload',
|
|
221
|
+
risk: 'medium',
|
|
222
|
+
},
|
|
160
223
|
];
|
|
161
224
|
|
|
162
|
-
export { AUTH_LOGIN_METHOD, MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_PROTOCOL_CAPABILITIES, NETWORK_REQUEST_METHOD, SDK_HANDSHAKE_METHOD, SHARE_SCREENSHOT_METHOD, SHARE_SHOW_SHARE_MENU_METHOD, STORAGE_GET_STORAGE_METHOD, STORAGE_SET_STORAGE_METHOD, USER_GET_INFO_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isMiniProgramBridgeMessage };
|
|
225
|
+
export { AUTH_LOGIN_METHOD, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, MINI_PROGRAM_BRIDGE_NONCE_PARAM, MINI_PROGRAM_MESSAGE_NAMESPACE, MINI_PROGRAM_MESSAGE_VERSION, MINI_PROGRAM_PROTOCOL_CAPABILITIES, NAVIGATION_CLOSE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, SDK_HANDSHAKE_METHOD, SHARE_SCREENSHOT_METHOD, SHARE_SHOW_SHARE_MENU_METHOD, STORAGE_GET_STORAGE_METHOD, STORAGE_SET_STORAGE_METHOD, UI_HIDE_LOADING_METHOD, UI_SHOW_LOADING_METHOD, UI_SHOW_TOAST_METHOD, USER_GET_INFO_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isMiniProgramBridgeMessage };
|
package/package.json
CHANGED
|
@@ -38,17 +38,25 @@ export type {
|
|
|
38
38
|
} from './protocol/types';
|
|
39
39
|
export {
|
|
40
40
|
AUTH_LOGIN_METHOD,
|
|
41
|
+
DEVICE_SET_CLIPBOARD_METHOD,
|
|
42
|
+
DEVICE_VIBRATE_METHOD,
|
|
41
43
|
MINI_PROGRAM_PROTOCOL_CAPABILITIES,
|
|
44
|
+
NAVIGATION_CLOSE_METHOD,
|
|
45
|
+
NAVIGATION_RELOAD_METHOD,
|
|
42
46
|
NETWORK_REQUEST_METHOD,
|
|
43
47
|
SHARE_SCREENSHOT_METHOD,
|
|
44
48
|
SHARE_SHOW_SHARE_MENU_METHOD,
|
|
45
49
|
STORAGE_GET_STORAGE_METHOD,
|
|
46
50
|
STORAGE_SET_STORAGE_METHOD,
|
|
51
|
+
UI_HIDE_LOADING_METHOD,
|
|
52
|
+
UI_SHOW_LOADING_METHOD,
|
|
53
|
+
UI_SHOW_TOAST_METHOD,
|
|
47
54
|
USER_GET_INFO_METHOD,
|
|
48
55
|
VIEWPORT_GET_WINDOW_INFO_METHOD,
|
|
49
56
|
VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD,
|
|
50
57
|
} from './protocol/capabilities';
|
|
51
58
|
export type {
|
|
59
|
+
MiniProgramDeviceMethod,
|
|
52
60
|
MiniProgramAuthMethod,
|
|
53
61
|
MiniProgramBridgeMethod,
|
|
54
62
|
MiniProgramCapabilityDefinition,
|
|
@@ -58,9 +66,11 @@ export type {
|
|
|
58
66
|
MiniProgramCapabilityResult,
|
|
59
67
|
MiniProgramCapabilityResultMap,
|
|
60
68
|
MiniProgramCapabilityRisk,
|
|
69
|
+
MiniProgramNavigationMethod,
|
|
61
70
|
MiniProgramNetworkMethod,
|
|
62
71
|
MiniProgramShareMethod,
|
|
63
72
|
MiniProgramStorageMethod,
|
|
73
|
+
MiniProgramUiMethod,
|
|
64
74
|
MiniProgramUserMethod,
|
|
65
75
|
MiniProgramViewportMethod,
|
|
66
76
|
} from './protocol/capabilities';
|
|
@@ -104,6 +114,28 @@ export type {
|
|
|
104
114
|
NetworkRequestPayload,
|
|
105
115
|
NetworkResponsePayload,
|
|
106
116
|
} from './modules/network';
|
|
117
|
+
export type {
|
|
118
|
+
HideLoadingPayload,
|
|
119
|
+
HideLoadingResult,
|
|
120
|
+
MiniProgramToastStatus,
|
|
121
|
+
ShowLoadingPayload,
|
|
122
|
+
ShowLoadingResult,
|
|
123
|
+
ShowToastPayload,
|
|
124
|
+
ShowToastResult,
|
|
125
|
+
} from './modules/ui';
|
|
126
|
+
export type {
|
|
127
|
+
MiniProgramVibrateIntensity,
|
|
128
|
+
SetClipboardPayload,
|
|
129
|
+
SetClipboardResult,
|
|
130
|
+
VibratePayload,
|
|
131
|
+
VibrateResult,
|
|
132
|
+
} from './modules/device';
|
|
133
|
+
export type {
|
|
134
|
+
ClosePayload,
|
|
135
|
+
CloseResult,
|
|
136
|
+
ReloadPayload,
|
|
137
|
+
ReloadResult,
|
|
138
|
+
} from './modules/navigation';
|
|
107
139
|
```
|
|
108
140
|
|
|
109
141
|
## Protocol context
|
|
@@ -136,5 +168,5 @@ Reference 由 `packages/hb-sdk` 的公开导出与源码注释自动生成,不
|
|
|
136
168
|
|
|
137
169
|
| 导出面 | Classes | Functions | Interfaces | Types | Constants |
|
|
138
170
|
| --- | ---: | ---: | ---: | ---: | ---: |
|
|
139
|
-
| Root API | 3 | 4 |
|
|
140
|
-
| Protocol API | 0 | 1 |
|
|
171
|
+
| Root API | 3 | 4 | 30 | 32 | 3 |
|
|
172
|
+
| Protocol API | 0 | 1 | 25 | 47 | 21 |
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
## Package metadata
|
|
20
20
|
|
|
21
21
|
- Package: `@heybox/hb-sdk`
|
|
22
|
-
- Version at generation time: `0.4.
|
|
22
|
+
- Version at generation time: `0.4.4`
|
|
23
23
|
- Public root export: `@heybox/hb-sdk`
|
|
24
24
|
- Protocol export: `@heybox/hb-sdk/protocol`
|
|
25
25
|
- Vite plugin export: `@heybox/hb-sdk/vite`
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
export { createMiniProgramSDK, MiniProgramSDK } from './core/sdk';
|
|
31
31
|
export { HbMiniProgramSDKError, HbMiniProgramNetworkError } from './core/errors';
|
|
32
32
|
export type { MiniProgramSDKOptions } from './core/client';
|
|
33
|
-
export { ready, on, off, auth, user, share, viewport, storage, network } from './core/singleton';
|
|
33
|
+
export { ready, on, off, auth, user, share, viewport, storage, network, ui, device, navigation } from './core/singleton';
|
|
34
34
|
export type {
|
|
35
35
|
MiniProgramEventHandler,
|
|
36
36
|
MiniProgramEventName,
|
|
@@ -83,8 +83,33 @@ export type {
|
|
|
83
83
|
NetworkRequestPayload,
|
|
84
84
|
NetworkResponsePayload,
|
|
85
85
|
} from './modules/network';
|
|
86
|
+
export type {
|
|
87
|
+
HideLoadingPayload,
|
|
88
|
+
HideLoadingResult,
|
|
89
|
+
MiniProgramToastStatus,
|
|
90
|
+
MiniProgramUiModule,
|
|
91
|
+
ShowLoadingPayload,
|
|
92
|
+
ShowLoadingResult,
|
|
93
|
+
ShowToastPayload,
|
|
94
|
+
ShowToastResult,
|
|
95
|
+
} from './modules/ui';
|
|
96
|
+
export type {
|
|
97
|
+
MiniProgramDeviceModule,
|
|
98
|
+
MiniProgramVibrateIntensity,
|
|
99
|
+
SetClipboardPayload,
|
|
100
|
+
SetClipboardResult,
|
|
101
|
+
VibratePayload,
|
|
102
|
+
VibrateResult,
|
|
103
|
+
} from './modules/device';
|
|
104
|
+
export type {
|
|
105
|
+
ClosePayload,
|
|
106
|
+
CloseResult,
|
|
107
|
+
MiniProgramNavigationModule,
|
|
108
|
+
ReloadPayload,
|
|
109
|
+
ReloadResult,
|
|
110
|
+
} from './modules/navigation';
|
|
86
111
|
|
|
87
|
-
import { auth, network, off, on, ready, share, storage, viewport, user } from './core/singleton';
|
|
112
|
+
import { auth, device, navigation, network, off, on, ready, share, storage, ui, viewport, user } from './core/singleton';
|
|
88
113
|
|
|
89
114
|
const hbSDK = {
|
|
90
115
|
ready,
|
|
@@ -96,6 +121,9 @@ const hbSDK = {
|
|
|
96
121
|
viewport,
|
|
97
122
|
storage,
|
|
98
123
|
network,
|
|
124
|
+
ui,
|
|
125
|
+
device,
|
|
126
|
+
navigation,
|
|
99
127
|
};
|
|
100
128
|
|
|
101
129
|
export default hbSDK;
|
|
@@ -327,6 +355,53 @@ await share.screenshot({
|
|
|
327
355
|
});
|
|
328
356
|
```
|
|
329
357
|
|
|
358
|
+
### 基础 UI
|
|
359
|
+
|
|
360
|
+
```ts
|
|
361
|
+
import { ui } from '@heybox/hb-sdk';
|
|
362
|
+
|
|
363
|
+
await ui.showToast({
|
|
364
|
+
message: '保存成功',
|
|
365
|
+
status: 'success',
|
|
366
|
+
});
|
|
367
|
+
|
|
368
|
+
await ui.showLoading({
|
|
369
|
+
dismissible: true,
|
|
370
|
+
});
|
|
371
|
+
|
|
372
|
+
await ui.hideLoading();
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
`showToast()` 的 `message` 会 trim 后发送给宿主,不能为空,最长 120 个字符;`status` 只支持 `success` 和 `error`,不传时展示普通文本 toast。loading 是全局单例,多次 `showLoading()` 会覆盖当前配置,`hideLoading()` 在未展示时也会成功。
|
|
376
|
+
|
|
377
|
+
### 设备能力
|
|
378
|
+
|
|
379
|
+
```ts
|
|
380
|
+
import { device } from '@heybox/hb-sdk';
|
|
381
|
+
|
|
382
|
+
await device.vibrate({
|
|
383
|
+
intensity: 'light',
|
|
384
|
+
delay: 0,
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
await device.setClipboard({
|
|
388
|
+
text: 'hello',
|
|
389
|
+
});
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
`vibrate()` 的 `intensity` 默认为 `light`,还支持 `medium` 和 `heavy`;`delay` 默认为 `0`,必须是 `0..5000` 的整数毫秒。`setClipboard()` 第一版只支持文本写入,`text` 必须是非空字符串,最长 10000 个字符,不会自动 trim 写入内容,也不提供读取或清空剪贴板能力。
|
|
393
|
+
|
|
394
|
+
### 导航控制
|
|
395
|
+
|
|
396
|
+
```ts
|
|
397
|
+
import { navigation } from '@heybox/hb-sdk';
|
|
398
|
+
|
|
399
|
+
await navigation.reload();
|
|
400
|
+
await navigation.close();
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
`navigation.close()` 请求宿主关闭当前小程序容器,`navigation.reload()` 请求宿主重载当前小程序页面/容器。调用后 JS 上下文可能被宿主销毁,不保证后续代码继续执行;这两个能力不接受 `reason`、`force`、`confirm` 或 `fallbackUrl` 等扩展参数。
|
|
404
|
+
|
|
330
405
|
### 窗口信息
|
|
331
406
|
|
|
332
407
|
```ts
|
|
@@ -26,8 +26,8 @@ This site documents the iframe-side SDK for external mini programs. For AI retri
|
|
|
26
26
|
- [Root functions](./llms/reference/root/functions/README.md)
|
|
27
27
|
- [Root interfaces](./llms/reference/root/interfaces/README.md): `on/off` 会基于该映射推导 handler 参数类型。 |
|
|
28
28
|
- [Protocol interfaces](./llms/reference/protocol/interfaces/README.md): 所有请求失败都会被规范化成该结构,SDK 侧再包装为 `HbMiniProgramSDKError`。 |
|
|
29
|
-
- [Root types](./llms/reference/root/types/README.md): `
|
|
30
|
-
- [Protocol types](./llms/reference/protocol/types/README.md): `
|
|
29
|
+
- [Root types](./llms/reference/root/types/README.md): `navigation.close` 不需要入参。
|
|
30
|
+
- [Protocol types](./llms/reference/protocol/types/README.md): `navigation.close` 不需要入参。
|
|
31
31
|
## Guides
|
|
32
32
|
- [Agent Skill 安装](./llms/guide/agent-skill.md): `hb-sdk` Agent Skill 用来让 AI / Agent 按本仓库约定使用 `@heybox/hb-sdk` 和配套 `hb-sdk` CLI,包括 iframe 小程序接入、`ready`、用户信息、登录、事件、CLI 创建模板、`hb-sdk dev` 本地调试、CLI 登录态、协议边界和常见错误处理。
|
|
33
33
|
- [用户与登录](./llms/guide/auth.md): 用户与授权模块当前分工:
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
- 调用模块能力前会自动等待 `ready()`,但业务仍建议在页面启动阶段显式 `await ready()`,便于集中处理握手失败。
|
|
14
14
|
- `user.getInfo()` 不会触发登录;登录必须由业务在用户操作后调用 `auth.login()`。
|
|
15
|
-
- 分享、截图、storage 和网络请求只开放稳定窄接口,不透传黑盒客户端内部协议参数。
|
|
15
|
+
- 分享、截图、UI、设备、导航、storage 和网络请求只开放稳定窄接口,不透传黑盒客户端内部协议参数。
|
|
16
16
|
- `network.request()` 的 `validateStatus` 只在 SDK 本地执行,不会被序列化给父容器。
|
|
17
17
|
- `on()` 返回取消监听函数;组件卸载或页面销毁时应主动取消监听。
|
|
18
18
|
- 使用 `createMiniProgramSDK()` 创建独立实例后,不再需要时应调用 `destroy()`。
|
package/skill/skill.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hb-sdk",
|
|
3
|
-
"skillVersion": "0.4.
|
|
3
|
+
"skillVersion": "0.4.4+skill.77f95b6757e8",
|
|
4
4
|
"sdk": {
|
|
5
5
|
"package": "@heybox/hb-sdk",
|
|
6
|
-
"version": "0.4.
|
|
7
|
-
"compatibility": "0.4.
|
|
6
|
+
"version": "0.4.4",
|
|
7
|
+
"compatibility": "0.4.4"
|
|
8
8
|
},
|
|
9
9
|
"source": "https://open.xiaoheihe.cn/agent-skills/hb-sdk",
|
|
10
|
-
"integrity": "sha256-
|
|
10
|
+
"integrity": "sha256-77f95b6757e86f4fd6ec2bc865bab4a3781403d5e1db9b3e729407a7fbd7f01a"
|
|
11
11
|
}
|
package/types/core/sdk.d.ts
CHANGED
|
@@ -5,6 +5,9 @@ import { type MiniProgramStorageModule } from '../modules/storage';
|
|
|
5
5
|
import { type MiniProgramNetworkModule } from '../modules/network';
|
|
6
6
|
import { type MiniProgramViewportModule } from '../modules/viewport';
|
|
7
7
|
import { type MiniProgramUserModule } from '../modules/user';
|
|
8
|
+
import { type MiniProgramUiModule } from '../modules/ui';
|
|
9
|
+
import { type MiniProgramDeviceModule } from '../modules/device';
|
|
10
|
+
import { type MiniProgramNavigationModule } from '../modules/navigation';
|
|
8
11
|
import type { MiniProgramEventHandler, MiniProgramEventName } from '../protocol/types';
|
|
9
12
|
/**
|
|
10
13
|
* 外部小程序 SDK 实例。
|
|
@@ -41,6 +44,12 @@ export declare class MiniProgramSDK {
|
|
|
41
44
|
readonly storage: MiniProgramStorageModule;
|
|
42
45
|
/** 网络请求相关开放能力。 */
|
|
43
46
|
readonly network: MiniProgramNetworkModule;
|
|
47
|
+
/** UI 交互相关开放能力。 */
|
|
48
|
+
readonly ui: MiniProgramUiModule;
|
|
49
|
+
/** 设备相关开放能力。 */
|
|
50
|
+
readonly device: MiniProgramDeviceModule;
|
|
51
|
+
/** 导航与容器控制相关开放能力。 */
|
|
52
|
+
readonly navigation: MiniProgramNavigationModule;
|
|
44
53
|
constructor(options?: MiniProgramSDKOptions);
|
|
45
54
|
/**
|
|
46
55
|
* 等待 SDK 与父容器完成握手。
|
|
@@ -4,6 +4,9 @@ import type { MiniProgramStorageModule } from '../modules/storage';
|
|
|
4
4
|
import type { MiniProgramNetworkModule } from '../modules/network';
|
|
5
5
|
import type { MiniProgramViewportModule } from '../modules/viewport';
|
|
6
6
|
import type { MiniProgramUserModule } from '../modules/user';
|
|
7
|
+
import type { MiniProgramUiModule } from '../modules/ui';
|
|
8
|
+
import type { MiniProgramDeviceModule } from '../modules/device';
|
|
9
|
+
import type { MiniProgramNavigationModule } from '../modules/navigation';
|
|
7
10
|
import type { MiniProgramEventHandler, MiniProgramEventName } from '../protocol/types';
|
|
8
11
|
/**
|
|
9
12
|
* 等待默认 SDK 实例与父容器完成握手。
|
|
@@ -40,5 +43,11 @@ export declare const viewport: MiniProgramViewportModule;
|
|
|
40
43
|
export declare const storage: MiniProgramStorageModule;
|
|
41
44
|
/** 默认 SDK 实例的 network 模块。 */
|
|
42
45
|
export declare const network: MiniProgramNetworkModule;
|
|
46
|
+
/** 默认 SDK 实例的 UI 模块。 */
|
|
47
|
+
export declare const ui: MiniProgramUiModule;
|
|
48
|
+
/** 默认 SDK 实例的 device 模块。 */
|
|
49
|
+
export declare const device: MiniProgramDeviceModule;
|
|
50
|
+
/** 默认 SDK 实例的 navigation 模块。 */
|
|
51
|
+
export declare const navigation: MiniProgramNavigationModule;
|
|
43
52
|
/** 重置默认 SDK 实例,仅用于测试。 */
|
|
44
53
|
export declare function resetDefaultSDKForTest(): void;
|
package/types/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { createMiniProgramSDK, MiniProgramSDK } from './core/sdk';
|
|
2
2
|
export { HbMiniProgramSDKError, HbMiniProgramNetworkError } from './core/errors';
|
|
3
3
|
export type { MiniProgramSDKOptions } from './core/client';
|
|
4
|
-
export { ready, on, off, auth, user, share, viewport, storage, network } from './core/singleton';
|
|
4
|
+
export { ready, on, off, auth, user, share, viewport, storage, network, ui, device, navigation } from './core/singleton';
|
|
5
5
|
export type { MiniProgramEventHandler, MiniProgramEventName, MiniProgramEventPayloadMap, } from './protocol/types';
|
|
6
6
|
export type { LoginPayload, LoginResult, MiniProgramAuthModule } from './modules/auth';
|
|
7
7
|
export type { GetUserInfoPayload, GetUserInfoResult, MiniProgramUserInfo, MiniProgramUserInfoResult, MiniProgramUserModule, } from './modules/user';
|
|
@@ -9,6 +9,9 @@ export type { MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgr
|
|
|
9
9
|
export type { GetWindowInfoPayload, GetWindowInfoResult, MiniProgramNavigationBarForegroundStyle, MiniProgramSafeArea, MiniProgramSetNavigationBarStyleOptions, MiniProgramViewportModule, MiniProgramWindowInfoResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, } from './modules/viewport';
|
|
10
10
|
export type { GetStoragePayload, GetStorageResult, MiniProgramStorageModule, SetStoragePayload, } from './modules/storage';
|
|
11
11
|
export type { MiniProgramNetworkHeaders, MiniProgramNetworkModule, MiniProgramNetworkParams, MiniProgramNetworkRequestConfig, MiniProgramNetworkRequestMethod, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, NetworkRequestPayload, NetworkResponsePayload, } from './modules/network';
|
|
12
|
+
export type { HideLoadingPayload, HideLoadingResult, MiniProgramToastStatus, MiniProgramUiModule, ShowLoadingPayload, ShowLoadingResult, ShowToastPayload, ShowToastResult, } from './modules/ui';
|
|
13
|
+
export type { MiniProgramDeviceModule, MiniProgramVibrateIntensity, SetClipboardPayload, SetClipboardResult, VibratePayload, VibrateResult, } from './modules/device';
|
|
14
|
+
export type { ClosePayload, CloseResult, MiniProgramNavigationModule, ReloadPayload, ReloadResult, } from './modules/navigation';
|
|
12
15
|
import { off, on, ready } from './core/singleton';
|
|
13
16
|
declare const hbSDK: {
|
|
14
17
|
ready: typeof ready;
|
|
@@ -20,5 +23,8 @@ declare const hbSDK: {
|
|
|
20
23
|
viewport: import(".").MiniProgramViewportModule;
|
|
21
24
|
storage: import(".").MiniProgramStorageModule;
|
|
22
25
|
network: import(".").MiniProgramNetworkModule;
|
|
26
|
+
ui: import(".").MiniProgramUiModule;
|
|
27
|
+
device: import(".").MiniProgramDeviceModule;
|
|
28
|
+
navigation: import(".").MiniProgramNavigationModule;
|
|
23
29
|
};
|
|
24
30
|
export default hbSDK;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { MiniProgramRequester } from '../../core/client';
|
|
2
|
+
export { DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, } from '../../protocol/capabilities';
|
|
3
|
+
/** 震动强度。 */
|
|
4
|
+
export type MiniProgramVibrateIntensity = 'light' | 'medium' | 'heavy';
|
|
5
|
+
/** `device.vibrate` 入参。 */
|
|
6
|
+
export interface VibratePayload {
|
|
7
|
+
/** 震动强度,默认 light。 */
|
|
8
|
+
intensity?: MiniProgramVibrateIntensity;
|
|
9
|
+
/** 延迟触发毫秒数,默认 0。 */
|
|
10
|
+
delay?: number;
|
|
11
|
+
}
|
|
12
|
+
/** `device.vibrate` 无稳定返回值。 */
|
|
13
|
+
export type VibrateResult = void;
|
|
14
|
+
/** `device.setClipboard` 入参。 */
|
|
15
|
+
export interface SetClipboardPayload {
|
|
16
|
+
/** 要写入系统剪贴板的文本。 */
|
|
17
|
+
text: string;
|
|
18
|
+
}
|
|
19
|
+
/** `device.setClipboard` 无稳定返回值。 */
|
|
20
|
+
export type SetClipboardResult = void;
|
|
21
|
+
export type { MiniProgramDeviceMethod } from '../../protocol/capabilities';
|
|
22
|
+
/** 外部小程序可调用的 device 模块。 */
|
|
23
|
+
export interface MiniProgramDeviceModule {
|
|
24
|
+
/** 触发宿主震动反馈。 */
|
|
25
|
+
vibrate(options?: VibratePayload): Promise<void>;
|
|
26
|
+
/** 写入系统文本剪贴板。 */
|
|
27
|
+
setClipboard(options: SetClipboardPayload): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/** 触发宿主震动反馈。 */
|
|
30
|
+
export declare function vibrate(requester: MiniProgramRequester, options?: VibratePayload): Promise<void>;
|
|
31
|
+
/** 写入系统文本剪贴板。 */
|
|
32
|
+
export declare function setClipboard(requester: MiniProgramRequester, options: SetClipboardPayload): Promise<void>;
|
|
33
|
+
/** 创建设备能力模块。 */
|
|
34
|
+
export declare function createDeviceModule(requester: MiniProgramRequester): MiniProgramDeviceModule;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { MiniProgramRequester } from '../../core/client';
|
|
2
|
+
export { NAVIGATION_CLOSE_METHOD, NAVIGATION_RELOAD_METHOD, } from '../../protocol/capabilities';
|
|
3
|
+
/** `navigation.close` 不需要入参。 */
|
|
4
|
+
export type ClosePayload = void;
|
|
5
|
+
/** `navigation.close` 无稳定返回值。 */
|
|
6
|
+
export type CloseResult = void;
|
|
7
|
+
/** `navigation.reload` 不需要入参。 */
|
|
8
|
+
export type ReloadPayload = void;
|
|
9
|
+
/** `navigation.reload` 无稳定返回值。 */
|
|
10
|
+
export type ReloadResult = void;
|
|
11
|
+
export type { MiniProgramNavigationMethod } from '../../protocol/capabilities';
|
|
12
|
+
/** 外部小程序可调用的 navigation 模块。 */
|
|
13
|
+
export interface MiniProgramNavigationModule {
|
|
14
|
+
/** 请求宿主关闭当前小程序容器。 */
|
|
15
|
+
close(): Promise<void>;
|
|
16
|
+
/** 请求宿主重载当前小程序容器。 */
|
|
17
|
+
reload(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
/** 请求宿主关闭当前小程序容器。 */
|
|
20
|
+
export declare function close(requester: MiniProgramRequester): Promise<void>;
|
|
21
|
+
/** 请求宿主重载当前小程序容器。 */
|
|
22
|
+
export declare function reload(requester: MiniProgramRequester): Promise<void>;
|
|
23
|
+
/** 创建导航能力模块。 */
|
|
24
|
+
export declare function createNavigationModule(requester: MiniProgramRequester): MiniProgramNavigationModule;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { MiniProgramRequester } from '../../core/client';
|
|
2
|
+
export { UI_HIDE_LOADING_METHOD, UI_SHOW_LOADING_METHOD, UI_SHOW_TOAST_METHOD, } from '../../protocol/capabilities';
|
|
3
|
+
/** Toast 展示状态。 */
|
|
4
|
+
export type MiniProgramToastStatus = 'success' | 'error';
|
|
5
|
+
/** `ui.showToast` 入参。 */
|
|
6
|
+
export interface ShowToastPayload {
|
|
7
|
+
/** Toast 文案。 */
|
|
8
|
+
message: string;
|
|
9
|
+
/** Toast 状态;不传时展示普通文本 toast。 */
|
|
10
|
+
status?: MiniProgramToastStatus;
|
|
11
|
+
}
|
|
12
|
+
/** `ui.showToast` 无稳定返回值。 */
|
|
13
|
+
export type ShowToastResult = void;
|
|
14
|
+
/** `ui.showLoading` 入参。 */
|
|
15
|
+
export interface ShowLoadingPayload {
|
|
16
|
+
/** 是否允许用户手动关闭 loading。 */
|
|
17
|
+
dismissible?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/** `ui.showLoading` 无稳定返回值。 */
|
|
20
|
+
export type ShowLoadingResult = void;
|
|
21
|
+
/** `ui.hideLoading` 不需要入参。 */
|
|
22
|
+
export type HideLoadingPayload = void;
|
|
23
|
+
/** `ui.hideLoading` 无稳定返回值。 */
|
|
24
|
+
export type HideLoadingResult = void;
|
|
25
|
+
export type { MiniProgramUiMethod } from '../../protocol/capabilities';
|
|
26
|
+
/** 外部小程序可调用的 UI 模块。 */
|
|
27
|
+
export interface MiniProgramUiModule {
|
|
28
|
+
/** 展示 toast。 */
|
|
29
|
+
showToast(options: ShowToastPayload): Promise<void>;
|
|
30
|
+
/** 展示全局 loading。 */
|
|
31
|
+
showLoading(options?: ShowLoadingPayload): Promise<void>;
|
|
32
|
+
/** 隐藏全局 loading。 */
|
|
33
|
+
hideLoading(): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
/** 展示 toast。 */
|
|
36
|
+
export declare function showToast(requester: MiniProgramRequester, options: ShowToastPayload): Promise<void>;
|
|
37
|
+
/** 展示全局 loading。 */
|
|
38
|
+
export declare function showLoading(requester: MiniProgramRequester, options?: ShowLoadingPayload): Promise<void>;
|
|
39
|
+
/** 隐藏全局 loading。 */
|
|
40
|
+
export declare function hideLoading(requester: MiniProgramRequester): Promise<void>;
|
|
41
|
+
/** 创建 UI 模块。 */
|
|
42
|
+
export declare function createUiModule(requester: MiniProgramRequester): MiniProgramUiModule;
|