@heybox/hb-sdk 0.7.5-alpha.0 → 0.8.0-alpha.10
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/CHANGELOG.md +99 -352
- package/README.md +103 -26
- package/THIRD_PARTY_NOTICES.md +1755 -0
- package/dist/cli-chunks/{build-V1YBdpzY.cjs → build-aDJbiFqF.cjs} +9 -5
- package/dist/cli-chunks/{context-Ba1Je-wT.cjs → context-Dp36pZ9a.cjs} +39 -81
- package/dist/cli-chunks/{create-CKGjqo9E.cjs → create-P3g0ricz.cjs} +2 -2
- package/dist/cli-chunks/{dev-XopYKLYZ.cjs → dev-CisJkXuQ.cjs} +396 -576
- package/dist/cli-chunks/doctor-B-LF5-uj.cjs +65 -0
- package/dist/cli-chunks/{index-C9mpajVG.cjs → index-BDaeBI_B.cjs} +50 -30
- package/dist/cli-chunks/{index-DKWfX6Ut.cjs → index-CZGkk7fQ.cjs} +2 -2
- package/dist/cli-chunks/{index.esm-SXAQ3WVR.cjs → index.esm-NNLG29Tt.cjs} +8 -7
- package/dist/cli-chunks/{login-BVWicWqe.cjs → login-DTY5GolC.cjs} +2 -2
- package/dist/cli-chunks/{project-vite-CBb38HJ3.cjs → project-vite-DlCjHlu_.cjs} +1 -1
- package/dist/cli-chunks/{remote-BG1u0NKT.cjs → remote-BBMr7j8W.cjs} +61 -27
- package/dist/cli-chunks/{runtime-gate-CtV7rWyX.cjs → runtime-gate-BppCl1r3.cjs} +30 -3
- package/dist/cli-chunks/{runtime-permission-env-D-8_jPG3.cjs → runtime-permission-env-CqsTHeas.cjs} +364 -13
- package/dist/cli-chunks/{session-CJS_SEp9.cjs → session-CnGeZCRZ.cjs} +1 -1
- package/dist/cli-chunks/skill-B0yAnPOJ.cjs +83 -0
- package/dist/cli-chunks/version-DN5jrixS.cjs +8 -0
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-BhZGUyYw.js +97 -0
- package/dist/devtools/browser-dev-host/assets/heybox-logo-CogNENsk.svg +6 -0
- package/dist/devtools/browser-dev-host/assets/index-DJFB5ySU.css +1 -0
- package/dist/devtools/browser-dev-host/assets/index-Dh9H1JOm.js +567 -0
- package/dist/devtools/browser-dev-host/assets/workbench-state-wHgWRb7I.js +5 -0
- package/dist/devtools/browser-dev-host/index.html +6 -435
- package/dist/index.cjs.js +1051 -91
- package/dist/index.esm.js +1051 -92
- package/dist/miniapp-publish.cjs.js +13 -13
- package/dist/miniapp-publish.esm.js +13 -13
- package/dist/protocol.cjs.js +381 -37
- package/dist/protocol.esm.js +355 -38
- package/dist/templates/{vue3-vite-ts → vanilla-vite-js}/.gitignore.ejs +0 -1
- package/dist/templates/vanilla-vite-js/README.md.ejs +14 -0
- package/dist/templates/vanilla-vite-js/index.html.ejs +20 -0
- package/dist/templates/vanilla-vite-js/package.json.ejs +22 -0
- package/dist/templates/vanilla-vite-js/src/assets/heybox-logo.svg +8 -0
- package/dist/templates/vanilla-vite-js/src/main.js +39 -0
- package/dist/templates/vanilla-vite-js/src/styles.css +155 -0
- package/dist/templates/{vue3-vite-ts/vite.config.ts → vanilla-vite-js/vite.config.js} +1 -2
- package/dist/vite.cjs.js +256 -10
- package/dist/vite.esm.js +256 -11
- package/package.json +37 -11
- package/skill/SKILL.md +22 -20
- package/skill/references/api-protocol.md +112 -6
- package/skill/references/api-root.md +194 -30
- package/skill/references/cli.md +41 -24
- package/skill/references/examples.md +31 -2
- package/skill/references/llms-index.md +1 -1
- package/skill/references/recipes.md +139 -36
- package/skill/references/safety-boundaries.md +15 -6
- package/skill/skill.json +10 -5
- package/types/core/client.d.ts +17 -1
- package/types/core/errors.d.ts +5 -5
- package/types/core/sdk.d.ts +8 -5
- package/types/core/singleton.d.ts +59 -6
- package/types/index.d.ts +4 -2
- package/types/miniapp-manifest/index.d.ts +1 -0
- package/types/miniapp-manifest/node.d.ts +3 -0
- package/types/miniapp-manifest/permissions.d.ts +37 -0
- package/types/miniapp-manifest/schema.d.ts +10 -0
- package/types/miniapp-publish/index.d.ts +8 -8
- package/types/modules/auth/index.d.ts +15 -1
- package/types/modules/cloud/index.d.ts +75 -5
- package/types/modules/device/index.d.ts +31 -3
- package/types/modules/files/index.d.ts +5 -0
- package/types/modules/files/registry.d.ts +35 -0
- package/types/modules/files/types.d.ts +159 -0
- package/types/modules/navigation/index.d.ts +46 -4
- package/types/modules/network/index.d.ts +72 -14
- package/types/modules/share/copy-link.d.ts +3 -3
- package/types/modules/share/index.d.ts +61 -5
- package/types/modules/share/screenshot.d.ts +3 -3
- package/types/modules/share/show-share-menu.d.ts +4 -4
- package/types/modules/share/types.d.ts +2 -4
- package/types/modules/storage/index.d.ts +38 -10
- package/types/modules/ui/index.d.ts +46 -4
- package/types/modules/user/get-info.d.ts +1 -1
- package/types/modules/user/index.d.ts +46 -4
- package/types/modules/user/steam-game-list.d.ts +2 -2
- package/types/modules/viewport/index.d.ts +36 -8
- package/types/protocol/capabilities.d.ts +2 -2
- package/types/protocol/constants.d.ts +1 -1
- package/types/protocol/guards.d.ts +1 -1
- package/types/protocol/types.d.ts +1 -1
- package/types/protocol.d.ts +4 -3
- package/types/skill-metadata.d.ts +0 -4
- package/types/vite/index.d.ts +15 -7
- package/dist/cli-chunks/doctor-BHbrYQqT.cjs +0 -204
- package/dist/devtools/browser-dev-host/main.js +0 -12158
- package/dist/templates/vue3-vite-ts/README.md.ejs +0 -45
- package/dist/templates/vue3-vite-ts/index.html.ejs +0 -12
- package/dist/templates/vue3-vite-ts/package.json.ejs +0 -33
- package/dist/templates/vue3-vite-ts/src/App.vue +0 -78
- package/dist/templates/vue3-vite-ts/src/__tests__/App.spec.ts +0 -148
- package/dist/templates/vue3-vite-ts/src/auth-handoff.ts +0 -46
- package/dist/templates/vue3-vite-ts/src/main.ts +0 -5
- package/dist/templates/vue3-vite-ts/src/styles.css +0 -60
- package/dist/templates/vue3-vite-ts/src/vite-env.d.ts +0 -1
- package/dist/templates/vue3-vite-ts/tsconfig.app.json +0 -17
- package/dist/templates/vue3-vite-ts/tsconfig.json +0 -11
- package/dist/templates/vue3-vite-ts/tsconfig.node.json +0 -11
- package/dist/templates/vue3-vite-ts/vitest.config.ts +0 -10
- package/skill/scripts/check-references.mjs +0 -14
- package/skill/scripts/markdown-sections.mjs +0 -36
- package/skill/scripts/package-skill.mjs +0 -60
- package/skill/scripts/package-skill.sh +0 -6
- package/skill/scripts/skill-metadata.mjs +0 -77
- package/skill/scripts/sync-agent-skills-payload.mjs +0 -359
- package/skill/scripts/sync-references.mjs +0 -792
- package/skill/scripts/validate-skill.mjs +0 -263
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/** File/Directory 访问模式。 */
|
|
2
|
+
export type FileMode = 'read' | 'readwrite';
|
|
3
|
+
export interface PickFilesOptions {
|
|
4
|
+
mode?: FileMode;
|
|
5
|
+
accept?: string[];
|
|
6
|
+
multiple?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface PickDirectoryOptions {
|
|
9
|
+
mode?: FileMode;
|
|
10
|
+
}
|
|
11
|
+
export interface SaveFileOptions {
|
|
12
|
+
suggestedName: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateOptions {
|
|
15
|
+
recursive?: boolean;
|
|
16
|
+
exclusive?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface RemoveOptions {
|
|
19
|
+
/** 是否递归删除目录内容,默认 `false`。 */
|
|
20
|
+
recursive?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface ListOptions {
|
|
23
|
+
limit?: number;
|
|
24
|
+
}
|
|
25
|
+
/** 可同步派生 lazy File/Directory proxy 的逻辑根。 */
|
|
26
|
+
export interface PathRoot {
|
|
27
|
+
/**
|
|
28
|
+
* 按规范相对路径派生文件代理。
|
|
29
|
+
*
|
|
30
|
+
* @param relativePath - 使用 `/` 分隔的规范相对路径。
|
|
31
|
+
* @returns 延迟访问对应文件的代理。
|
|
32
|
+
* @since 0.8.0-alpha.2
|
|
33
|
+
* @hbPlatform android
|
|
34
|
+
* @hbPlatform ios
|
|
35
|
+
* @hbPlatform ohos
|
|
36
|
+
* @hbPlatform windows
|
|
37
|
+
* @hbPlatform macos
|
|
38
|
+
* @hbClient android none
|
|
39
|
+
* @hbClient ios none
|
|
40
|
+
* @hbClient ohos none
|
|
41
|
+
* @hbClient windows none
|
|
42
|
+
* @hbClient macos none
|
|
43
|
+
*/
|
|
44
|
+
file(relativePath: string): FileHandle;
|
|
45
|
+
/**
|
|
46
|
+
* 按规范相对路径派生目录代理。
|
|
47
|
+
*
|
|
48
|
+
* @param relativePath - 使用 `/` 分隔的规范相对路径。
|
|
49
|
+
* @returns 延迟访问对应目录的代理。
|
|
50
|
+
* @since 0.8.0-alpha.2
|
|
51
|
+
* @hbPlatform android
|
|
52
|
+
* @hbPlatform ios
|
|
53
|
+
* @hbPlatform ohos
|
|
54
|
+
* @hbPlatform windows
|
|
55
|
+
* @hbPlatform macos
|
|
56
|
+
* @hbClient android none
|
|
57
|
+
* @hbClient ios none
|
|
58
|
+
* @hbClient ohos none
|
|
59
|
+
* @hbClient windows none
|
|
60
|
+
* @hbClient macos none
|
|
61
|
+
*/
|
|
62
|
+
directory(relativePath: string): DirectoryHandle;
|
|
63
|
+
}
|
|
64
|
+
/** Mini-program 私有 sandbox 的逻辑根。 */
|
|
65
|
+
export interface FileSystem extends PathRoot {
|
|
66
|
+
}
|
|
67
|
+
/** 当前 SDK session 中的文件代理。 */
|
|
68
|
+
export interface FileHandle {
|
|
69
|
+
readonly kind: 'file';
|
|
70
|
+
readonly name: string;
|
|
71
|
+
readonly mode: FileMode;
|
|
72
|
+
create(options?: CreateOptions): Promise<FileHandle>;
|
|
73
|
+
/** 删除 sandbox 文件;外部授权文件不允许删除。 */
|
|
74
|
+
remove(): Promise<void>;
|
|
75
|
+
exists(): Promise<boolean>;
|
|
76
|
+
readText(): Promise<string>;
|
|
77
|
+
writeText(content: string): Promise<void>;
|
|
78
|
+
readBytes(): Promise<Uint8Array>;
|
|
79
|
+
writeBytes(content: Uint8Array): Promise<void>;
|
|
80
|
+
stat(): Promise<FileStat>;
|
|
81
|
+
}
|
|
82
|
+
/** 当前 SDK session 中的目录代理。 */
|
|
83
|
+
export interface DirectoryHandle extends PathRoot {
|
|
84
|
+
readonly kind: 'directory';
|
|
85
|
+
readonly name: string;
|
|
86
|
+
readonly mode: FileMode;
|
|
87
|
+
create(options?: CreateOptions): Promise<DirectoryHandle>;
|
|
88
|
+
/** 删除 sandbox 目录;非空目录需要显式设置 `recursive`,外部授权目录不允许删除。 */
|
|
89
|
+
remove(options?: RemoveOptions): Promise<void>;
|
|
90
|
+
exists(): Promise<boolean>;
|
|
91
|
+
list(options?: ListOptions): Promise<FileSystemEntity[]>;
|
|
92
|
+
}
|
|
93
|
+
export type FileSystemEntity = FileHandle | DirectoryHandle;
|
|
94
|
+
export interface FileStat {
|
|
95
|
+
kind: 'file';
|
|
96
|
+
size: number;
|
|
97
|
+
/** Unix epoch milliseconds。 */
|
|
98
|
+
modifiedAt?: number;
|
|
99
|
+
/** Unix epoch milliseconds。 */
|
|
100
|
+
createdAt?: number;
|
|
101
|
+
}
|
|
102
|
+
/** Mini-program 对外文件能力。 */
|
|
103
|
+
export interface FilesModule {
|
|
104
|
+
readonly sandbox: FileSystem;
|
|
105
|
+
/**
|
|
106
|
+
* 让用户选择一个或多个文件并返回当前 session 的授权代理。
|
|
107
|
+
*
|
|
108
|
+
* @param options - 访问模式、扩展名筛选与多选设置。
|
|
109
|
+
* @returns 用户选择的文件代理。
|
|
110
|
+
* @since 0.8.0-alpha.2
|
|
111
|
+
* @hbPlatform android
|
|
112
|
+
* @hbPlatform ios
|
|
113
|
+
* @hbPlatform ohos
|
|
114
|
+
* @hbPlatform windows
|
|
115
|
+
* @hbPlatform macos
|
|
116
|
+
* @hbClient android none
|
|
117
|
+
* @hbClient ios none
|
|
118
|
+
* @hbClient ohos none
|
|
119
|
+
* @hbClient windows none
|
|
120
|
+
* @hbClient macos none
|
|
121
|
+
*/
|
|
122
|
+
pickFiles(options?: PickFilesOptions): Promise<FileHandle[]>;
|
|
123
|
+
/**
|
|
124
|
+
* 让用户选择目录并返回当前 session 的授权代理。
|
|
125
|
+
*
|
|
126
|
+
* @param options - 目录访问模式。
|
|
127
|
+
* @returns 用户选择的目录代理。
|
|
128
|
+
* @since 0.8.0-alpha.2
|
|
129
|
+
* @hbPlatform android
|
|
130
|
+
* @hbPlatform ios
|
|
131
|
+
* @hbPlatform ohos
|
|
132
|
+
* @hbPlatform windows
|
|
133
|
+
* @hbPlatform macos
|
|
134
|
+
* @hbClient android none
|
|
135
|
+
* @hbClient ios none
|
|
136
|
+
* @hbClient ohos none
|
|
137
|
+
* @hbClient windows none
|
|
138
|
+
* @hbClient macos none
|
|
139
|
+
*/
|
|
140
|
+
pickDirectory(options?: PickDirectoryOptions): Promise<DirectoryHandle>;
|
|
141
|
+
/**
|
|
142
|
+
* 让用户选择一个精确的文件保存目标。
|
|
143
|
+
*
|
|
144
|
+
* @param options - 建议文件名。
|
|
145
|
+
* @returns 具备读写权限的目标文件代理。
|
|
146
|
+
* @since 0.8.0-alpha.2
|
|
147
|
+
* @hbPlatform android
|
|
148
|
+
* @hbPlatform ios
|
|
149
|
+
* @hbPlatform ohos
|
|
150
|
+
* @hbPlatform windows
|
|
151
|
+
* @hbPlatform macos
|
|
152
|
+
* @hbClient android none
|
|
153
|
+
* @hbClient ios none
|
|
154
|
+
* @hbClient ohos none
|
|
155
|
+
* @hbClient windows none
|
|
156
|
+
* @hbClient macos none
|
|
157
|
+
*/
|
|
158
|
+
saveFile(options: SaveFileOptions): Promise<FileHandle>;
|
|
159
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MiniProgramRequester } from '../../core/client';
|
|
2
2
|
import { type OpenAppPageOptions } from './app-pages';
|
|
3
|
-
export { NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD
|
|
3
|
+
export { NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD } from '../../protocol/capabilities';
|
|
4
4
|
export type { MiniProgramAppPageTarget, MiniProgramGameDetailGameType, MiniProgramGameDetailPage, OpenAppPageOptions, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPagePayload, OpenGameDetailAppPageOptions, OpenPostDetailAppPagePayload, OpenPostDetailAppPageOptions, OpenUserDetailAppPagePayload, OpenUserDetailAppPageOptions, } from './app-pages';
|
|
5
5
|
/** `navigation.close` 不需要入参。 */
|
|
6
6
|
export type ClosePayload = void;
|
|
@@ -13,11 +13,53 @@ export type ReloadResult = void;
|
|
|
13
13
|
export type { MiniProgramNavigationMethod } from '../../protocol/capabilities';
|
|
14
14
|
/** 外部小程序可调用的 navigation 模块。 */
|
|
15
15
|
export interface MiniProgramNavigationModule {
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* 请求宿主关闭当前小程序容器。
|
|
18
|
+
*
|
|
19
|
+
* @since 0.4.4
|
|
20
|
+
* @hbPlatform android
|
|
21
|
+
* @hbPlatform ios
|
|
22
|
+
* @hbPlatform ohos
|
|
23
|
+
* @hbPlatform windows
|
|
24
|
+
* @hbPlatform macos
|
|
25
|
+
* @hbClient android none
|
|
26
|
+
* @hbClient ios none
|
|
27
|
+
* @hbClient ohos none
|
|
28
|
+
* @hbClient windows none
|
|
29
|
+
* @hbClient macos none
|
|
30
|
+
*/
|
|
17
31
|
close(): Promise<void>;
|
|
18
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* 请求宿主重载当前小程序容器。
|
|
34
|
+
*
|
|
35
|
+
* @since 0.4.4
|
|
36
|
+
* @hbPlatform android
|
|
37
|
+
* @hbPlatform ios
|
|
38
|
+
* @hbPlatform ohos
|
|
39
|
+
* @hbPlatform windows
|
|
40
|
+
* @hbPlatform macos
|
|
41
|
+
* @hbClient android none
|
|
42
|
+
* @hbClient ios none
|
|
43
|
+
* @hbClient ohos none
|
|
44
|
+
* @hbClient windows none
|
|
45
|
+
* @hbClient macos none
|
|
46
|
+
*/
|
|
19
47
|
reload(): Promise<void>;
|
|
20
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* 请求宿主打开受 SDK 白名单约束的黑盒 App 页面。
|
|
50
|
+
*
|
|
51
|
+
* @since 0.5.2
|
|
52
|
+
* @hbPlatform android
|
|
53
|
+
* @hbPlatform ios
|
|
54
|
+
* @hbPlatform ohos
|
|
55
|
+
* @hbPlatform windows
|
|
56
|
+
* @hbPlatform macos
|
|
57
|
+
* @hbClient android none
|
|
58
|
+
* @hbClient ios none
|
|
59
|
+
* @hbClient ohos none
|
|
60
|
+
* @hbClient windows none
|
|
61
|
+
* @hbClient macos none
|
|
62
|
+
*/
|
|
21
63
|
openAppPage(options: OpenAppPageOptions): Promise<void>;
|
|
22
64
|
}
|
|
23
65
|
/** 请求宿主关闭当前小程序容器。 */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { MiniProgramRequester } from '../../core/client';
|
|
2
|
-
|
|
1
|
+
import type { MiniProgramOperationRequester, MiniProgramRequester } from '../../core/client';
|
|
2
|
+
import type { DirectoryHandle, FileHandle } from '../files';
|
|
3
|
+
export { NETWORK_DOWNLOAD_METHOD, NETWORK_REQUEST_METHOD } from '../../protocol/capabilities';
|
|
3
4
|
export { createNetworkRequestFailureLog, formatNetworkRequestFailureMessage, logNetworkRequestFailure, previewNetworkData, sanitizeNetworkHeaders, sanitizeNetworkRequestUrl, } from './observability';
|
|
4
5
|
export { describeHostNetworkFailure, isMultipartContentType, isUnsupportedMultipartNetworkRequest, looksLikeMultipartBody, NETWORK_REQUEST_MULTIPART_UNSUPPORTED_MESSAGE, readNetworkContentType, } from './request-shape';
|
|
5
6
|
/** `network.request` 请求头。 */
|
|
@@ -11,7 +12,7 @@ export type MiniProgramNetworkRequestMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' |
|
|
|
11
12
|
/**
|
|
12
13
|
* SDK 侧可配置的状态校验函数。
|
|
13
14
|
*
|
|
14
|
-
* @param status 标准化后的 HTTP 状态码。
|
|
15
|
+
* @param status - 标准化后的 HTTP 状态码。
|
|
15
16
|
* @returns 返回 `true` 时表示本次响应应视为成功。
|
|
16
17
|
*
|
|
17
18
|
* @remarks
|
|
@@ -42,6 +43,32 @@ export interface MiniProgramNetworkRequestConfig {
|
|
|
42
43
|
/** SDK 侧状态校验;不会跨 bridge 传输函数值。 */
|
|
43
44
|
validateStatus?: MiniProgramNetworkValidateStatus;
|
|
44
45
|
}
|
|
46
|
+
/** 流式下载的 request-scoped 进度。 */
|
|
47
|
+
export interface DownloadProgress {
|
|
48
|
+
loaded: number;
|
|
49
|
+
total?: number;
|
|
50
|
+
lengthComputable: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface DownloadBaseOptions {
|
|
53
|
+
url: string;
|
|
54
|
+
params?: MiniProgramNetworkParams;
|
|
55
|
+
headers?: MiniProgramNetworkHeaders;
|
|
56
|
+
timeout?: number;
|
|
57
|
+
withCredentials?: boolean;
|
|
58
|
+
maxBytes?: number;
|
|
59
|
+
signal?: AbortSignal;
|
|
60
|
+
onProgress?: (progress: DownloadProgress) => void;
|
|
61
|
+
}
|
|
62
|
+
/** File target 原子替换,Directory target 创建或替换子文件。 */
|
|
63
|
+
export type DownloadOptions = DownloadBaseOptions & ({
|
|
64
|
+
to: FileHandle;
|
|
65
|
+
suggestedName?: never;
|
|
66
|
+
overwrite?: never;
|
|
67
|
+
} | {
|
|
68
|
+
to: DirectoryHandle;
|
|
69
|
+
suggestedName?: string;
|
|
70
|
+
overwrite?: boolean;
|
|
71
|
+
});
|
|
45
72
|
/**
|
|
46
73
|
* bridge / runtime 可消费的网络请求 payload。
|
|
47
74
|
*
|
|
@@ -60,7 +87,7 @@ export interface NetworkRequestPayload {
|
|
|
60
87
|
/**
|
|
61
88
|
* bridge / runtime 返回的标准化 HTTP 响应。
|
|
62
89
|
*
|
|
63
|
-
* @typeParam T 标准化响应数据的类型。
|
|
90
|
+
* @typeParam T - 标准化响应数据的类型。
|
|
64
91
|
*/
|
|
65
92
|
export interface NetworkResponsePayload<T = unknown> {
|
|
66
93
|
data: T;
|
|
@@ -71,7 +98,7 @@ export interface NetworkResponsePayload<T = unknown> {
|
|
|
71
98
|
/**
|
|
72
99
|
* SDK 对外暴露的网络响应。
|
|
73
100
|
*
|
|
74
|
-
* @typeParam T 标准化响应数据的类型。
|
|
101
|
+
* @typeParam T - 标准化响应数据的类型。
|
|
75
102
|
*/
|
|
76
103
|
export interface MiniProgramNetworkResponse<T = unknown> extends NetworkResponsePayload<T> {
|
|
77
104
|
/** 发起请求时的 SDK 公共配置快照。 */
|
|
@@ -83,21 +110,50 @@ export interface MiniProgramNetworkModule {
|
|
|
83
110
|
/**
|
|
84
111
|
* 发起网络请求。
|
|
85
112
|
*
|
|
86
|
-
* @param config 面向业务层的网络请求配置。
|
|
113
|
+
* @param config - 面向业务层的网络请求配置。
|
|
87
114
|
* @returns 标准化网络响应;HTTP 2xx 默认返回 resolve。
|
|
88
|
-
* @throws
|
|
89
|
-
* @throws
|
|
115
|
+
* @throws 当请求已完成但 HTTP 状态不满足 `validateStatus` 时抛出 `HbMiniProgramNetworkError`。
|
|
116
|
+
* @throws 当 bridge、运行时或宿主能力调用失败时抛出 `HbMiniProgramSDKError`。
|
|
117
|
+
* @since 0.2.0-alpha.0
|
|
118
|
+
* @hbPlatform android
|
|
119
|
+
* @hbPlatform ios
|
|
120
|
+
* @hbPlatform ohos
|
|
121
|
+
* @hbPlatform windows
|
|
122
|
+
* @hbPlatform macos
|
|
123
|
+
* @hbClient android none
|
|
124
|
+
* @hbClient ios none
|
|
125
|
+
* @hbClient ohos none
|
|
126
|
+
* @hbClient windows none
|
|
127
|
+
* @hbClient macos none
|
|
90
128
|
*/
|
|
91
129
|
request<T = unknown>(config: MiniProgramNetworkRequestConfig): Promise<MiniProgramNetworkResponse<T>>;
|
|
130
|
+
/**
|
|
131
|
+
* 将 GET 响应流式写入受控 File/Directory target。
|
|
132
|
+
*
|
|
133
|
+
* @param options - 下载地址、写入目标、取消信号与进度回调。
|
|
134
|
+
* @returns 原子提交完成后的目标文件代理。
|
|
135
|
+
* @since 0.8.0-alpha.2
|
|
136
|
+
* @hbPlatform android
|
|
137
|
+
* @hbPlatform ios
|
|
138
|
+
* @hbPlatform ohos
|
|
139
|
+
* @hbPlatform windows
|
|
140
|
+
* @hbPlatform macos
|
|
141
|
+
* @hbClient android none
|
|
142
|
+
* @hbClient ios none
|
|
143
|
+
* @hbClient ohos none
|
|
144
|
+
* @hbClient windows none
|
|
145
|
+
* @hbClient macos none
|
|
146
|
+
*/
|
|
147
|
+
download(options: DownloadOptions): Promise<FileHandle>;
|
|
92
148
|
}
|
|
93
149
|
/**
|
|
94
150
|
* 发起网络请求并返回标准化响应。
|
|
95
151
|
*
|
|
96
|
-
* @param requester 底层 bridge 请求能力。
|
|
97
|
-
* @param config 面向业务层的网络请求配置。
|
|
152
|
+
* @param requester - 底层 bridge 请求能力。
|
|
153
|
+
* @param config - 面向业务层的网络请求配置。
|
|
98
154
|
* @returns 标准化网络响应。HTTP 2xx 默认返回 resolve。
|
|
99
|
-
* @throws {HbMiniProgramNetworkError} 当请求已完成但 HTTP 状态不满足 `validateStatus` 时抛出。
|
|
100
|
-
* @throws {HbMiniProgramSDKError} 当 bridge、运行时或宿主能力调用失败时抛出。
|
|
155
|
+
* @throws {@link HbMiniProgramNetworkError} 当请求已完成但 HTTP 状态不满足 `validateStatus` 时抛出。
|
|
156
|
+
* @throws {@link HbMiniProgramSDKError} 当 bridge、运行时或宿主能力调用失败时抛出。
|
|
101
157
|
*
|
|
102
158
|
* @remarks
|
|
103
159
|
* `validateStatus` 仅在 SDK 侧执行,不会跨 bridge 传输函数值。
|
|
@@ -112,10 +168,12 @@ export interface MiniProgramNetworkModule {
|
|
|
112
168
|
* ```
|
|
113
169
|
*/
|
|
114
170
|
export declare function request<T = unknown>(requester: MiniProgramRequester, config: MiniProgramNetworkRequestConfig): Promise<MiniProgramNetworkResponse<T>>;
|
|
171
|
+
/** 发起不使用 bridge 固定总时长 timer 的流式下载。 */
|
|
172
|
+
export declare function download(requester: MiniProgramOperationRequester, options: DownloadOptions): Promise<FileHandle>;
|
|
115
173
|
/**
|
|
116
174
|
* 创建 network 模块。
|
|
117
175
|
*
|
|
118
|
-
* @param requester 底层 bridge 请求能力。
|
|
176
|
+
* @param requester - 底层 bridge 请求能力。
|
|
119
177
|
* @returns 面向业务层的网络模块对象。
|
|
120
178
|
*/
|
|
121
|
-
export declare function createNetworkModule(requester:
|
|
179
|
+
export declare function createNetworkModule(requester: MiniProgramOperationRequester): MiniProgramNetworkModule;
|
|
@@ -8,9 +8,9 @@ export type CopyLinkResult = string;
|
|
|
8
8
|
/**
|
|
9
9
|
* 复制当前小程序的通用分享链接。
|
|
10
10
|
*
|
|
11
|
-
* @param requester 底层 bridge 请求能力。
|
|
12
|
-
* @param options 分享扩展数据;不传时复制默认首页链接。
|
|
11
|
+
* @param requester - 底层 bridge 请求能力。
|
|
12
|
+
* @param options - 分享扩展数据;不传时复制默认首页链接。
|
|
13
13
|
* @returns 已写入系统剪贴板的完整分享链接。
|
|
14
|
-
* @throws {HbMiniProgramSDKError} 当参数、bridge、父容器或剪贴板能力调用失败时抛出。
|
|
14
|
+
* @throws {@link HbMiniProgramSDKError} 当参数、bridge、父容器或剪贴板能力调用失败时抛出。
|
|
15
15
|
*/
|
|
16
16
|
export declare function copyLink(requester: MiniProgramRequester, options?: MiniProgramCopyLinkOptions): Promise<CopyLinkResult>;
|
|
@@ -10,19 +10,75 @@ export * from './types';
|
|
|
10
10
|
export type { MiniProgramShareMethod } from '../../protocol/capabilities';
|
|
11
11
|
/** 外部小程序可调用的分享模块。 */
|
|
12
12
|
export interface MiniProgramShareModule {
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* 复制当前小程序的通用分享链接,并返回该链接。
|
|
15
|
+
*
|
|
16
|
+
* @since 0.7.4-alpha.5
|
|
17
|
+
* @hbPlatform android
|
|
18
|
+
* @hbPlatform ios
|
|
19
|
+
* @hbPlatform ohos
|
|
20
|
+
* @hbPlatform windows
|
|
21
|
+
* @hbPlatform macos
|
|
22
|
+
* @hbClient android none
|
|
23
|
+
* @hbClient ios none
|
|
24
|
+
* @hbClient ohos none
|
|
25
|
+
* @hbClient windows none
|
|
26
|
+
* @hbClient macos none
|
|
27
|
+
*/
|
|
14
28
|
copyLink(options?: MiniProgramCopyLinkOptions): Promise<CopyLinkResult>;
|
|
15
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* 同步获取小程序启动时携带的分享扩展数据;没有有效数据时返回 `undefined`。
|
|
31
|
+
*
|
|
32
|
+
* @since 0.7.4-alpha.5
|
|
33
|
+
* @hbPlatform android
|
|
34
|
+
* @hbPlatform ios
|
|
35
|
+
* @hbPlatform ohos
|
|
36
|
+
* @hbPlatform windows
|
|
37
|
+
* @hbPlatform macos
|
|
38
|
+
* @hbClient android none
|
|
39
|
+
* @hbClient ios none
|
|
40
|
+
* @hbClient ohos none
|
|
41
|
+
* @hbClient windows none
|
|
42
|
+
* @hbClient macos none
|
|
43
|
+
*/
|
|
16
44
|
getExtra(): MiniProgramShareExtraValue | undefined;
|
|
17
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* 展示以当前小程序通用分享页为落地页的基础分享面板。
|
|
47
|
+
*
|
|
48
|
+
* @since 0.2.0-alpha.0
|
|
49
|
+
* @hbPlatform android
|
|
50
|
+
* @hbPlatform ios
|
|
51
|
+
* @hbPlatform ohos
|
|
52
|
+
* @hbPlatform windows
|
|
53
|
+
* @hbPlatform macos
|
|
54
|
+
* @hbClient android none
|
|
55
|
+
* @hbClient ios none
|
|
56
|
+
* @hbClient ohos none
|
|
57
|
+
* @hbClient windows none
|
|
58
|
+
* @hbClient macos none
|
|
59
|
+
*/
|
|
18
60
|
showShareMenu(options: ShowShareMenuPayload): Promise<ShowShareMenuResult>;
|
|
19
|
-
/**
|
|
61
|
+
/**
|
|
62
|
+
* 截图并唤起分享。
|
|
63
|
+
*
|
|
64
|
+
* @since 0.2.0-alpha.0
|
|
65
|
+
* @hbPlatform android
|
|
66
|
+
* @hbPlatform ios
|
|
67
|
+
* @hbPlatform ohos
|
|
68
|
+
* @hbPlatform windows
|
|
69
|
+
* @hbPlatform macos
|
|
70
|
+
* @hbClient android none
|
|
71
|
+
* @hbClient ios none
|
|
72
|
+
* @hbClient ohos none
|
|
73
|
+
* @hbClient windows none
|
|
74
|
+
* @hbClient macos none
|
|
75
|
+
*/
|
|
20
76
|
screenshot(options?: MiniProgramScreenshotOptions): Promise<ScreenshotResult>;
|
|
21
77
|
}
|
|
22
78
|
/**
|
|
23
79
|
* 创建分享模块。
|
|
24
80
|
*
|
|
25
|
-
* @param requester 底层 bridge 请求能力。
|
|
81
|
+
* @param requester - 底层 bridge 请求能力。
|
|
26
82
|
* @returns 面向业务层的分享模块对象。
|
|
27
83
|
*/
|
|
28
84
|
export declare function createShareModule(requester: MiniProgramRequester, launchHref?: string): MiniProgramShareModule;
|
|
@@ -8,9 +8,9 @@ export type ScreenshotResult = unknown;
|
|
|
8
8
|
/**
|
|
9
9
|
* 截图并唤起分享。
|
|
10
10
|
*
|
|
11
|
-
* @param requester 底层 bridge 请求能力。
|
|
12
|
-
* @param options 截图区域、延迟与保存相册等配置。
|
|
11
|
+
* @param requester - 底层 bridge 请求能力。
|
|
12
|
+
* @param options - 截图区域、延迟与保存相册等配置。
|
|
13
13
|
* @returns 由宿主客户端协议决定的结果。
|
|
14
|
-
* @throws {HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
14
|
+
* @throws {@link HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
15
15
|
*/
|
|
16
16
|
export declare function screenshot(requester: MiniProgramRequester, options?: MiniProgramScreenshotOptions): Promise<ScreenshotResult>;
|
|
@@ -6,11 +6,11 @@ export type ShowShareMenuPayload = MiniProgramShowShareMenuOptions;
|
|
|
6
6
|
/** `share.showShareMenu` 返回值由客户端协议决定。 */
|
|
7
7
|
export type ShowShareMenuResult = unknown;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* 展示以当前小程序通用分享页为落地页的基础分享面板。
|
|
10
10
|
*
|
|
11
|
-
* @param requester 底层 bridge 请求能力。
|
|
12
|
-
* @param options 基础分享参数。
|
|
11
|
+
* @param requester - 底层 bridge 请求能力。
|
|
12
|
+
* @param options - 基础分享参数。
|
|
13
13
|
* @returns 由宿主客户端协议决定的结果。
|
|
14
|
-
* @throws {HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
14
|
+
* @throws {@link HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
15
15
|
*/
|
|
16
16
|
export declare function showShareMenu(requester: MiniProgramRequester, options: ShowShareMenuPayload): Promise<ShowShareMenuResult>;
|
|
@@ -25,16 +25,14 @@ export interface MiniProgramSharePostOptions {
|
|
|
25
25
|
* 展示基础分享面板的配置。
|
|
26
26
|
*
|
|
27
27
|
* @remarks
|
|
28
|
-
*
|
|
28
|
+
* 分享落地页固定为当前小程序的通用分享页。该配置只暴露基础分享字段,不暴露宿主内部上报、回调、自定义按钮等协议参数。
|
|
29
29
|
*/
|
|
30
30
|
export interface MiniProgramShowShareMenuOptions {
|
|
31
31
|
/** 分享标题。 */
|
|
32
32
|
title: string;
|
|
33
33
|
/** 分享描述。 */
|
|
34
34
|
desc: string;
|
|
35
|
-
/**
|
|
36
|
-
url?: string;
|
|
37
|
-
/** 分享扩展数据;最多 8 层、单层最多 64 项、容量不超过 128 字节,且不能与 `url` 同时使用。 */
|
|
35
|
+
/** 分享扩展数据;最多 8 层、单层最多 64 项、容量不超过 128 字节。 */
|
|
38
36
|
extra?: MiniProgramShareExtraValue;
|
|
39
37
|
/** 分享缩略图 URL。 */
|
|
40
38
|
imageUrl?: string;
|
|
@@ -8,7 +8,7 @@ export interface GetStoragePayload {
|
|
|
8
8
|
/**
|
|
9
9
|
* `storage.getStorage` 返回值。
|
|
10
10
|
*
|
|
11
|
-
* @typeParam T 反序列化后的业务数据类型。
|
|
11
|
+
* @typeParam T - 反序列化后的业务数据类型。
|
|
12
12
|
*/
|
|
13
13
|
export interface GetStorageResult<T = unknown> {
|
|
14
14
|
/** key 对应的数据;不存在时为 undefined。 */
|
|
@@ -24,33 +24,61 @@ export interface SetStoragePayload {
|
|
|
24
24
|
export type { MiniProgramStorageMethod } from '../../protocol/capabilities';
|
|
25
25
|
/** 外部小程序可调用的 storage 模块。 */
|
|
26
26
|
export interface MiniProgramStorageModule {
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* 获取小程序隔离 storage。
|
|
29
|
+
*
|
|
30
|
+
* @since 0.2.0-alpha.0
|
|
31
|
+
* @hbPlatform android
|
|
32
|
+
* @hbPlatform ios
|
|
33
|
+
* @hbPlatform ohos
|
|
34
|
+
* @hbPlatform windows
|
|
35
|
+
* @hbPlatform macos
|
|
36
|
+
* @hbClient android none
|
|
37
|
+
* @hbClient ios none
|
|
38
|
+
* @hbClient ohos none
|
|
39
|
+
* @hbClient windows none
|
|
40
|
+
* @hbClient macos none
|
|
41
|
+
*/
|
|
28
42
|
getStorage<T = unknown>(options: GetStoragePayload): Promise<GetStorageResult<T>>;
|
|
29
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* 写入小程序隔离 storage。
|
|
45
|
+
*
|
|
46
|
+
* @since 0.2.0-alpha.0
|
|
47
|
+
* @hbPlatform android
|
|
48
|
+
* @hbPlatform ios
|
|
49
|
+
* @hbPlatform ohos
|
|
50
|
+
* @hbPlatform windows
|
|
51
|
+
* @hbPlatform macos
|
|
52
|
+
* @hbClient android none
|
|
53
|
+
* @hbClient ios none
|
|
54
|
+
* @hbClient ohos none
|
|
55
|
+
* @hbClient windows none
|
|
56
|
+
* @hbClient macos none
|
|
57
|
+
*/
|
|
30
58
|
setStorage(options: SetStoragePayload): Promise<void>;
|
|
31
59
|
}
|
|
32
60
|
/**
|
|
33
61
|
* 获取小程序隔离 storage。
|
|
34
62
|
*
|
|
35
|
-
* @param requester 底层 bridge 请求能力。
|
|
36
|
-
* @param options 读取的 storage key。
|
|
63
|
+
* @param requester - 底层 bridge 请求能力。
|
|
64
|
+
* @param options - 读取的 storage key。
|
|
37
65
|
* @returns 对应 key 的标准化读取结果。
|
|
38
|
-
* @throws {HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
66
|
+
* @throws {@link HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
39
67
|
*/
|
|
40
68
|
export declare function getStorage<T = unknown>(requester: MiniProgramRequester, options: GetStoragePayload): Promise<GetStorageResult<T>>;
|
|
41
69
|
/**
|
|
42
70
|
* 写入小程序隔离 storage。
|
|
43
71
|
*
|
|
44
|
-
* @param requester 底层 bridge 请求能力。
|
|
45
|
-
* @param options 要写入的 storage key 与数据。
|
|
72
|
+
* @param requester - 底层 bridge 请求能力。
|
|
73
|
+
* @param options - 要写入的 storage key 与数据。
|
|
46
74
|
* @returns 当写入完成后 resolve。
|
|
47
|
-
* @throws {HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
75
|
+
* @throws {@link HbMiniProgramSDKError} 当 bridge、父容器或宿主能力调用失败时抛出。
|
|
48
76
|
*/
|
|
49
77
|
export declare function setStorage(requester: MiniProgramRequester, options: SetStoragePayload): Promise<void>;
|
|
50
78
|
/**
|
|
51
79
|
* 创建 storage 模块。
|
|
52
80
|
*
|
|
53
|
-
* @param requester 底层 bridge 请求能力。
|
|
81
|
+
* @param requester - 底层 bridge 请求能力。
|
|
54
82
|
* @returns 面向业务层的 storage 模块对象。
|
|
55
83
|
*/
|
|
56
84
|
export declare function createStorageModule(requester: MiniProgramRequester): MiniProgramStorageModule;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MiniProgramRequester } from '../../core/client';
|
|
2
|
-
export { UI_HIDE_LOADING_METHOD, UI_SHOW_LOADING_METHOD, UI_SHOW_TOAST_METHOD
|
|
2
|
+
export { UI_HIDE_LOADING_METHOD, UI_SHOW_LOADING_METHOD, UI_SHOW_TOAST_METHOD } from '../../protocol/capabilities';
|
|
3
3
|
/** Toast 展示状态。 */
|
|
4
4
|
export type MiniProgramToastStatus = 'success' | 'error';
|
|
5
5
|
/** `ui.showToast` 入参。 */
|
|
@@ -25,11 +25,53 @@ export type HideLoadingResult = void;
|
|
|
25
25
|
export type { MiniProgramUiMethod } from '../../protocol/capabilities';
|
|
26
26
|
/** 外部小程序可调用的 UI 模块。 */
|
|
27
27
|
export interface MiniProgramUiModule {
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* 展示 toast。
|
|
30
|
+
*
|
|
31
|
+
* @since 0.4.4
|
|
32
|
+
* @hbPlatform android
|
|
33
|
+
* @hbPlatform ios
|
|
34
|
+
* @hbPlatform ohos
|
|
35
|
+
* @hbPlatform windows
|
|
36
|
+
* @hbPlatform macos
|
|
37
|
+
* @hbClient android none
|
|
38
|
+
* @hbClient ios none
|
|
39
|
+
* @hbClient ohos none
|
|
40
|
+
* @hbClient windows none
|
|
41
|
+
* @hbClient macos none
|
|
42
|
+
*/
|
|
29
43
|
showToast(options: ShowToastPayload): Promise<void>;
|
|
30
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* 展示全局 loading。
|
|
46
|
+
*
|
|
47
|
+
* @since 0.4.4
|
|
48
|
+
* @hbPlatform android
|
|
49
|
+
* @hbPlatform ios
|
|
50
|
+
* @hbPlatform ohos
|
|
51
|
+
* @hbPlatform windows
|
|
52
|
+
* @hbPlatform macos
|
|
53
|
+
* @hbClient android none
|
|
54
|
+
* @hbClient ios none
|
|
55
|
+
* @hbClient ohos none
|
|
56
|
+
* @hbClient windows none
|
|
57
|
+
* @hbClient macos none
|
|
58
|
+
*/
|
|
31
59
|
showLoading(options?: ShowLoadingPayload): Promise<void>;
|
|
32
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* 隐藏全局 loading。
|
|
62
|
+
*
|
|
63
|
+
* @since 0.4.4
|
|
64
|
+
* @hbPlatform android
|
|
65
|
+
* @hbPlatform ios
|
|
66
|
+
* @hbPlatform ohos
|
|
67
|
+
* @hbPlatform windows
|
|
68
|
+
* @hbPlatform macos
|
|
69
|
+
* @hbClient android none
|
|
70
|
+
* @hbClient ios none
|
|
71
|
+
* @hbClient ohos none
|
|
72
|
+
* @hbClient windows none
|
|
73
|
+
* @hbClient macos none
|
|
74
|
+
*/
|
|
33
75
|
hideLoading(): Promise<void>;
|
|
34
76
|
}
|
|
35
77
|
/** 展示 toast。 */
|
|
@@ -18,6 +18,6 @@ export type GetUserInfoResult = MiniProgramUserInfoResult;
|
|
|
18
18
|
* `app_user_id`,并隐式授予 `identity` 与 `profile` 后返回昵称与头像,不展示授权 UI。未登录时返回
|
|
19
19
|
* `{ isHeyboxAppLoggedIn: false, authorization: null, userInfo: null }`。
|
|
20
20
|
*
|
|
21
|
-
* @throws {HbMiniProgramSDKError} 当 SDK 调用失败时抛出。
|
|
21
|
+
* @throws {@link HbMiniProgramSDKError} 当 SDK 调用失败时抛出。
|
|
22
22
|
*/
|
|
23
23
|
export declare function getInfo(requester: MiniProgramRequester): Promise<GetUserInfoResult>;
|