@heybox/hb-sdk 0.7.4-alpha.1 → 0.7.4-alpha.5

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 (34) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +17 -1
  3. package/dist/cli-chunks/{build-Cej8ObyY.cjs → build-C-ufarA6.cjs} +2 -2
  4. package/dist/cli-chunks/{context-DATgeHkI.cjs → context-C839--TH.cjs} +1 -1
  5. package/dist/cli-chunks/{create-LXHV_lW5.cjs → create-CNcII_CB.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-CDuVyGm9.cjs → dev-MpESCaMm.cjs} +5 -5
  7. package/dist/cli-chunks/{doctor-BqmQrPaV.cjs → doctor-bhfQwyYU.cjs} +1 -1
  8. package/dist/cli-chunks/{index-Ck7X1LRP.cjs → index-B_qJzSFo.cjs} +1 -1
  9. package/dist/cli-chunks/{index-BCd2vU5D.cjs → index-CT94XzyO.cjs} +14 -14
  10. package/dist/cli-chunks/{login-BLTILOf-.cjs → login-hYrDJ3dR.cjs} +2 -2
  11. package/dist/cli-chunks/{project-vite-BtIYxLkt.cjs → project-vite-zaw68V1G.cjs} +1 -1
  12. package/dist/cli-chunks/{remote-Bp9SK8C3.cjs → remote-DQZRAAHh.cjs} +4 -4
  13. package/dist/cli-chunks/{session-9ZWPGpqB.cjs → session-D692TU5N.cjs} +1 -1
  14. package/dist/cli.cjs +1 -1
  15. package/dist/devtools/browser-dev-host/main.js +1256 -46
  16. package/dist/index.cjs.js +1187 -3
  17. package/dist/index.esm.js +1187 -3
  18. package/dist/protocol.cjs.js +3 -0
  19. package/dist/protocol.esm.js +3 -1
  20. package/dist/vite.cjs.js +1 -1
  21. package/dist/vite.esm.js +1 -1
  22. package/package.json +5 -4
  23. package/skill/SKILL.md +1 -0
  24. package/skill/references/api-protocol.md +5 -2
  25. package/skill/references/api-root.md +6 -2
  26. package/skill/references/recipes.md +39 -0
  27. package/skill/skill.json +4 -4
  28. package/types/index.d.ts +1 -1
  29. package/types/modules/share/copy-link.d.ts +16 -0
  30. package/types/modules/share/extra.d.ts +3 -0
  31. package/types/modules/share/index.d.ts +8 -2
  32. package/types/modules/share/types.d.ts +11 -0
  33. package/types/protocol/capabilities.d.ts +1 -1
  34. package/types/protocol.d.ts +2 -2
@@ -4,6 +4,7 @@ const AUTH_LOGIN_METHOD = 'auth.login';
4
4
  const USER_GET_INFO_METHOD = 'user.getInfo';
5
5
  const USER_REVOKE_AUTHORIZATION_METHOD = 'user.revokeAuthorization';
6
6
  const USER_GET_STEAM_GAME_LIST_METHOD = 'user.getSteamGameList';
7
+ const SHARE_COPY_LINK_METHOD = 'share.copyLink';
7
8
  const SHARE_SHOW_SHARE_MENU_METHOD = 'share.showShareMenu';
8
9
  const SHARE_SCREENSHOT_METHOD = 'share.screenshot';
9
10
  const VIEWPORT_GET_WINDOW_INFO_METHOD = 'viewport.getWindowInfo';
@@ -41,6 +42,7 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
41
42
  permission: 'user.platformAccount.steam',
42
43
  risk: 'high',
43
44
  },
45
+ { method: SHARE_COPY_LINK_METHOD, module: 'share', capability: SHARE_COPY_LINK_METHOD, permission: 'share.copyLink', risk: 'medium' },
44
46
  { method: SHARE_SHOW_SHARE_MENU_METHOD, module: 'share', capability: SHARE_SHOW_SHARE_MENU_METHOD, permission: 'share.basic', risk: 'low' },
45
47
  { method: SHARE_SCREENSHOT_METHOD, module: 'share', capability: SHARE_SCREENSHOT_METHOD, permission: 'share.screenshot', risk: 'medium' },
46
48
  {
@@ -197,6 +199,7 @@ exports.RUNTIME_LOCATION_PROBE_METHOD = RUNTIME_LOCATION_PROBE_METHOD;
197
199
  exports.SDK_CSP_VIOLATION_METHOD = SDK_CSP_VIOLATION_METHOD;
198
200
  exports.SDK_HANDSHAKE_METHOD = SDK_HANDSHAKE_METHOD;
199
201
  exports.SDK_LOCATION_REPORT_METHOD = SDK_LOCATION_REPORT_METHOD;
202
+ exports.SHARE_COPY_LINK_METHOD = SHARE_COPY_LINK_METHOD;
200
203
  exports.SHARE_SCREENSHOT_METHOD = SHARE_SCREENSHOT_METHOD;
201
204
  exports.SHARE_SHOW_SHARE_MENU_METHOD = SHARE_SHOW_SHARE_MENU_METHOD;
202
205
  exports.STORAGE_GET_STORAGE_METHOD = STORAGE_GET_STORAGE_METHOD;
@@ -2,6 +2,7 @@ const AUTH_LOGIN_METHOD = 'auth.login';
2
2
  const USER_GET_INFO_METHOD = 'user.getInfo';
3
3
  const USER_REVOKE_AUTHORIZATION_METHOD = 'user.revokeAuthorization';
4
4
  const USER_GET_STEAM_GAME_LIST_METHOD = 'user.getSteamGameList';
5
+ const SHARE_COPY_LINK_METHOD = 'share.copyLink';
5
6
  const SHARE_SHOW_SHARE_MENU_METHOD = 'share.showShareMenu';
6
7
  const SHARE_SCREENSHOT_METHOD = 'share.screenshot';
7
8
  const VIEWPORT_GET_WINDOW_INFO_METHOD = 'viewport.getWindowInfo';
@@ -39,6 +40,7 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
39
40
  permission: 'user.platformAccount.steam',
40
41
  risk: 'high',
41
42
  },
43
+ { method: SHARE_COPY_LINK_METHOD, module: 'share', capability: SHARE_COPY_LINK_METHOD, permission: 'share.copyLink', risk: 'medium' },
42
44
  { method: SHARE_SHOW_SHARE_MENU_METHOD, module: 'share', capability: SHARE_SHOW_SHARE_MENU_METHOD, permission: 'share.basic', risk: 'low' },
43
45
  { method: SHARE_SCREENSHOT_METHOD, module: 'share', capability: SHARE_SCREENSHOT_METHOD, permission: 'share.screenshot', risk: 'medium' },
44
46
  {
@@ -175,4 +177,4 @@ function isRecord(value) {
175
177
  return typeof value === 'object' && value !== null && !Array.isArray(value);
176
178
  }
177
179
 
178
- export { AUTH_LOGIN_METHOD, CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_INFO_METHOD, CLOUD_LEADERBOARD_GET_LIST_METHOD, CLOUD_LEADERBOARD_SUBMIT_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_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, RUNTIME_LOCATION_PROBE_METHOD, SDK_CSP_VIOLATION_METHOD, SDK_HANDSHAKE_METHOD, SDK_LOCATION_REPORT_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, USER_GET_STEAM_GAME_LIST_METHOD, USER_INFO_AUTHORIZATION_SCOPES, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, parseMiniProgramRuntimePermissions };
180
+ export { AUTH_LOGIN_METHOD, CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_INFO_METHOD, CLOUD_LEADERBOARD_GET_LIST_METHOD, CLOUD_LEADERBOARD_SUBMIT_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_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, RUNTIME_LOCATION_PROBE_METHOD, SDK_CSP_VIOLATION_METHOD, SDK_HANDSHAKE_METHOD, SDK_LOCATION_REPORT_METHOD, SHARE_COPY_LINK_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, USER_GET_STEAM_GAME_LIST_METHOD, USER_INFO_AUTHORIZATION_SCOPES, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, parseMiniProgramRuntimePermissions };
package/dist/vite.cjs.js CHANGED
@@ -8,7 +8,7 @@ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentS
8
8
  /** 构建时替换为当前发布包的实际版本。 */
9
9
  const HB_SDK_VERSION = typeof undefined === 'string'
10
10
  ? undefined
11
- : '0.7.4-alpha.1';
11
+ : '0.7.4-alpha.5';
12
12
 
13
13
  var re = {exports: {}};
14
14
 
package/dist/vite.esm.js CHANGED
@@ -5,7 +5,7 @@ import { AsyncLocalStorage } from 'node:async_hooks';
5
5
  /** 构建时替换为当前发布包的实际版本。 */
6
6
  const HB_SDK_VERSION = typeof undefined === 'string'
7
7
  ? undefined
8
- : '0.7.4-alpha.1';
8
+ : '0.7.4-alpha.5';
9
9
 
10
10
  var re = {exports: {}};
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heybox/hb-sdk",
3
- "version": "0.7.4-alpha.1",
3
+ "version": "0.7.4-alpha.5",
4
4
  "sideEffects": [
5
5
  "./src/index.ts",
6
6
  "./src/core/singleton.ts",
@@ -53,9 +53,10 @@
53
53
  "author": "",
54
54
  "license": "ISC",
55
55
  "dependencies": {
56
+ "@msgpack/msgpack": "^3.1.3",
56
57
  "parse5": "^7.3.0",
57
58
  "undici": "^7.28.0",
58
- "@heybox/hb-sdk-protocol": "0.7.4-alpha.1"
59
+ "@heybox/hb-sdk-protocol": "0.7.4-alpha.5"
59
60
  },
60
61
  "peerDependencies": {
61
62
  "vite": ">=5"
@@ -96,8 +97,8 @@
96
97
  "vue": "^2.7.16",
97
98
  "vite": "^8.0.12",
98
99
  "vitest": "^3.2.4",
99
- "@heybox/hb-sdk-runtime": "~0.7.4-alpha.1",
100
- "@heybox/hb-api": "~1.25.20"
100
+ "@heybox/hb-api": "~1.25.20",
101
+ "@heybox/hb-sdk-runtime": "~0.7.4-alpha.5"
101
102
  },
102
103
  "publishConfig": {
103
104
  "registry": "https://registry.npmjs.org/",
package/skill/SKILL.md CHANGED
@@ -50,6 +50,7 @@ Apply these instructions when writing, reviewing, or debugging code that consume
50
50
  10. When authorization UI is required, call `auth.login()` from a trusted user action. Missing gesture returns `USER_GESTURE_REQUIRED`; cancelling, rejecting, or closing returns `AUTHORIZATION_CANCELLED` and does not confirm or change authorization. An already-authorized `auth.login()` request may return a new code silently.
51
51
  11. `user.getSteamGameList()` is available only to network-disabled mini-programs. In a network-enabled mini-program it returns `SERVER_API_REQUIRED`, and there is no Steam library authorization scope or OpenAPI resource. Treat `user.getInfo()` returning `SERVER_API_REQUIRED` as a server-boundary signal, not as logged-out state.
52
52
  12. Use `share.showShareMenu({ post })` or `share.screenshot({ post })` to preset editable community destinations and topics. Pass partition IDs through `topicIds` and topic text without surrounding `#` through `topics`; do not construct the underlying client post protocol.
53
+ 13. Use `share.showShareMenu({ extra })` to open the share menu or `share.copyLink({ extra })` to copy and return the default mini-program share link. Read the JSON-compatible page state synchronously with `share.getExtra()` after launch, validate the developer-defined fields, and fall back to the default page when it returns `undefined`.
53
54
 
54
55
  ## Step 5: Use CLI workflows
55
56
 
@@ -37,6 +37,7 @@ export {
37
37
  NAVIGATION_RELOAD_METHOD,
38
38
  NETWORK_REQUEST_METHOD,
39
39
  SDK_HANDSHAKE_METHOD,
40
+ SHARE_COPY_LINK_METHOD,
40
41
  SHARE_SCREENSHOT_METHOD,
41
42
  SHARE_SHOW_SHARE_MENU_METHOD,
42
43
  STORAGE_GET_STORAGE_METHOD,
@@ -59,6 +60,8 @@ export type {
59
60
  AuthorizedUserInfo,
60
61
  ClosePayload,
61
62
  CloseResult,
63
+ CopyLinkPayload,
64
+ CopyLinkResult,
62
65
  DeleteCurrentUserLeaderboardEntryPayload,
63
66
  DeleteCurrentUserLeaderboardEntryResult,
64
67
  GetCurrentUserLeaderboardEntryPayload,
@@ -198,7 +201,7 @@ Reference 由 `@heybox/hb-sdk` 的公开导出与源码注释自动生成,不
198
201
 
199
202
  | 导出面 | Classes | Functions | Interfaces | Types | Constants |
200
203
  | --- | ---: | ---: | ---: | ---: | ---: |
201
- | Root API | 2 | 4 | 50 | 54 | 1 |
202
- | Protocol API | 0 | 3 | 44 | 66 | 30 |
204
+ | Root API | 2 | 4 | 51 | 57 | 1 |
205
+ | Protocol API | 0 | 3 | 44 | 68 | 31 |
203
206
  | Miniapp Publish API | 0 | 5 | 2 | 0 | 0 |
204
207
  | Vite API | 0 | 1 | 0 | 0 | 0 |
@@ -24,7 +24,7 @@
24
24
  ## Package metadata
25
25
 
26
26
  - Package: `@heybox/hb-sdk`
27
- - Version at generation time: `0.7.4-alpha.1`
27
+ - Version at generation time: `0.7.4-alpha.5`
28
28
  - Public root export: `@heybox/hb-sdk`
29
29
  - Protocol export: `@heybox/hb-sdk/protocol`
30
30
  - Vite plugin export: `@heybox/hb-sdk/vite`
@@ -89,9 +89,13 @@ export type {
89
89
  export { USER_INFO_AUTHORIZATION_SCOPES } from './modules/user';
90
90
  export type { UserInfoAuthorizationScope } from './modules/user';
91
91
  export type {
92
+ CopyLinkPayload,
93
+ CopyLinkResult,
94
+ MiniProgramCopyLinkOptions,
92
95
  MiniProgramScreenshotOptions,
93
96
  MiniProgramScreenshotRect,
94
97
  MiniProgramShareChannel,
98
+ MiniProgramShareExtraValue,
95
99
  MiniProgramShareModule,
96
100
  MiniProgramSharePostOptions,
97
101
  MiniProgramShowShareMenuOptions,
@@ -556,7 +560,7 @@ SDK 还提供 `getHandshakeState()` / `onHandshakeStateChange()` 管理持久握
556
560
  | ------------ | ------------------------------------------------------------ |
557
561
  | `auth` | 获取交给开发者服务端交换的短期授权码 |
558
562
  | `user` | 读取 Host 当前用户资料、隔离身份或撤销授权 |
559
- | `share` | 打开分享或截图分享流程 |
563
+ | `share` | 打开分享、复制链接或截图分享流程 |
560
564
  | `ui` | 展示 Toast 和 Loading |
561
565
  | `device` | 调用振动和剪贴板能力 |
562
566
  | `navigation` | 关闭、刷新页面或打开小黑盒页面 |
@@ -163,6 +163,8 @@ async function loginFromUserAction() {
163
163
 
164
164
  需要展示登录或授权 UI 时,调用必须来自按钮点击等可信用户手势,否则返回 `USER_GESTURE_REQUIRED`。用户取消、拒绝或关闭授权页面时返回 `AUTHORIZATION_CANCELLED`,业务应停留在当前页面并允许稍后重试。
165
165
 
166
+ 首次授权时,Host 授权页会展示当前小程序的名称和图标;申请 `profile` scope 时,还会预览当前小黑盒账号的昵称和头像,帮助用户确认资料披露对象。Runtime 优先复用 Host 启动阶段已经解析的资料,读取补充资料失败或超时时使用中性占位,不影响用户继续授权。账号切换、授权撤销或 Runtime 终止会关闭当前确认界面;这些 Host 展示字段不会加入 `auth.login()` 返回值。
167
+
166
168
  用户已授权所需 scope 时,`auth.login()` 可以不展示 UI,静默返回新的短期授权码。业务仍应把可能出现的授权 UI 设计在明确的用户操作之后,不要在页面初始化阶段自动调用。
167
169
 
168
170
  ## 撤销当前小程序授权
@@ -447,6 +449,43 @@ await share.screenshot({
447
449
  })
448
450
  ```
449
451
 
452
+ ## 恢复分享页面状态
453
+
454
+ 使用默认通用分享链接时,可以通过 `extra` 携带由小程序自行定义的页面状态。分享方只负责写入状态,接收方负责决定如何使用:
455
+
456
+ ```ts
457
+ await share.showShareMenu({
458
+ title: '排行榜',
459
+ desc: '查看当前排名',
460
+ extra: { page: 'ranking', options: [1, 2, 3] },
461
+ })
462
+ ```
463
+
464
+ 需要由业务按钮复制链接时,传入同样的状态即可:
465
+
466
+ ```ts
467
+ const shareUrl = await share.copyLink({
468
+ extra: { page: 'ranking', options: [1, 2, 3] },
469
+ })
470
+ ```
471
+
472
+ `copyLink()` 完成时链接已写入系统剪贴板,并返回同一个完整链接。它不会自动弹出提示,建议在用户点击后调用并自行展示成功反馈。
473
+
474
+ 小程序被分享链接打开后,用同步的 `getExtra()` 读取状态,再交给自己的路由:
475
+
476
+ ```ts
477
+ const sharedState = share.getExtra()
478
+ const routeMap = { ranking: '#/ranking', profile: '#/profile' } as const
479
+
480
+ if (sharedState && typeof sharedState === 'object' && !Array.isArray(sharedState)) {
481
+ const page = sharedState.page
482
+ const target = typeof page === 'string' ? routeMap[page as keyof typeof routeMap] : undefined
483
+ if (target) window.location.hash = target
484
+ }
485
+ ```
486
+
487
+ `getExtra()` 不依赖异步请求;没有有效数据时返回 `undefined`,业务应回退到默认首页。`extra` 只支持 JSON-compatible 数据,最多 8 层,单个数组或对象最多 64 项,内容不超过 128 字节;不能与自定义 `url` 同时使用,也不要存放 token、个人信息等敏感数据。`copyLink()` 不会继承当前启动链接中的 `extra`,只携带本次显式传入的数据。
488
+
450
489
  ## 参数边界
451
490
 
452
491
  - `topicIds` 接受正整数或非空字符串,按首次出现顺序去重。
package/skill/skill.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "hb-sdk",
3
- "skillVersion": "0.7.4-alpha.1+skill.012bc6457d0f",
3
+ "skillVersion": "0.7.4-alpha.5+skill.6ae0dd3c4740",
4
4
  "sdk": {
5
5
  "package": "@heybox/hb-sdk",
6
- "version": "0.7.4-alpha.1",
7
- "compatibility": "0.7.4-alpha.1"
6
+ "version": "0.7.4-alpha.5",
7
+ "compatibility": "0.7.4-alpha.5"
8
8
  },
9
9
  "source": "https://open.xiaoheihe.cn/agent-skills/hb-sdk",
10
- "integrity": "sha256-012bc6457d0f8f3c30feb117ba0cbcde986dcbb4587587aade7a5a09b1bc3261"
10
+ "integrity": "sha256-6ae0dd3c47408c7102d70dd1e6dfecf78e8466055dec3ab259fc800fb3ec9b59"
11
11
  }
package/types/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export type { DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderb
7
7
  export type { AuthorizedUserInfo, GetUserInfoPayload, GetUserInfoResult, RevokeAuthorizationPayload, RevokeAuthorizationResult, GetSteamGameListOptions, GetSteamGameListPayload, GetSteamGameListResult, MiniProgramUserInfoResult, MiniProgramUserModule, UserInfoAuthorization, UserInfoAuthorizationStatus, SteamGameListData, SteamGameListItem, SteamGamePrice, SteamGameListSort, } from './modules/user';
8
8
  export { USER_INFO_AUTHORIZATION_SCOPES } from './modules/user';
9
9
  export type { UserInfoAuthorizationScope } from './modules/user';
10
- export type { MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareModule, MiniProgramSharePostOptions, MiniProgramShowShareMenuOptions, ScreenshotPayload, ScreenshotResult, ShowShareMenuPayload, ShowShareMenuResult, } from './modules/share';
10
+ export type { CopyLinkPayload, CopyLinkResult, MiniProgramCopyLinkOptions, MiniProgramScreenshotOptions, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareExtraValue, MiniProgramShareModule, MiniProgramSharePostOptions, MiniProgramShowShareMenuOptions, ScreenshotPayload, ScreenshotResult, ShowShareMenuPayload, ShowShareMenuResult, } from './modules/share';
11
11
  export type { GetWindowInfoPayload, GetWindowInfoResult, MiniProgramNavigationBarForegroundStyle, MiniProgramSafeArea, MiniProgramSetNavigationBarStyleOptions, MiniProgramViewportModule, MiniProgramWindowInfoResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, } from './modules/viewport';
12
12
  export type { GetStoragePayload, GetStorageResult, MiniProgramStorageModule, SetStoragePayload } from './modules/storage';
13
13
  export type { MiniProgramNetworkHeaders, MiniProgramNetworkModule, MiniProgramNetworkParams, MiniProgramNetworkRequestConfig, MiniProgramNetworkRequestMethod, MiniProgramNetworkResponse, MiniProgramNetworkValidateStatus, NetworkRequestPayload, NetworkResponsePayload, } from './modules/network';
@@ -0,0 +1,16 @@
1
+ import type { MiniProgramRequester } from '../../core/client';
2
+ import type { MiniProgramCopyLinkOptions } from './types';
3
+ export { SHARE_COPY_LINK_METHOD } from '../../protocol/capabilities';
4
+ /** `share.copyLink` 入参。 */
5
+ export type CopyLinkPayload = MiniProgramCopyLinkOptions | undefined;
6
+ /** `share.copyLink` 返回已复制的完整分享链接。 */
7
+ export type CopyLinkResult = string;
8
+ /**
9
+ * 复制当前小程序的通用分享链接。
10
+ *
11
+ * @param requester 底层 bridge 请求能力。
12
+ * @param options 分享扩展数据;不传时复制默认首页链接。
13
+ * @returns 已写入系统剪贴板的完整分享链接。
14
+ * @throws {HbMiniProgramSDKError} 当参数、bridge、父容器或剪贴板能力调用失败时抛出。
15
+ */
16
+ export declare function copyLink(requester: MiniProgramRequester, options?: MiniProgramCopyLinkOptions): Promise<CopyLinkResult>;
@@ -0,0 +1,3 @@
1
+ import type { MiniProgramShareExtraValue } from './types';
2
+ /** 读取小程序启动时携带的分享数据。 */
3
+ export declare function readMiniProgramShareExtra(launchHref?: string): MiniProgramShareExtraValue | undefined;
@@ -1,13 +1,19 @@
1
1
  import type { MiniProgramRequester } from '../../core/client';
2
+ import { type CopyLinkResult } from './copy-link';
2
3
  import { type ScreenshotResult } from './screenshot';
3
4
  import { type ShowShareMenuPayload, type ShowShareMenuResult } from './show-share-menu';
4
- import type { MiniProgramScreenshotOptions } from './types';
5
+ import type { MiniProgramCopyLinkOptions, MiniProgramScreenshotOptions, MiniProgramShareExtraValue } from './types';
6
+ export * from './copy-link';
5
7
  export * from './screenshot';
6
8
  export * from './show-share-menu';
7
9
  export * from './types';
8
10
  export type { MiniProgramShareMethod } from '../../protocol/capabilities';
9
11
  /** 外部小程序可调用的分享模块。 */
10
12
  export interface MiniProgramShareModule {
13
+ /** 复制当前小程序的通用分享链接,并返回该链接。 */
14
+ copyLink(options?: MiniProgramCopyLinkOptions): Promise<CopyLinkResult>;
15
+ /** 同步获取小程序启动时携带的分享扩展数据;没有有效数据时返回 `undefined`。 */
16
+ getExtra(): MiniProgramShareExtraValue | undefined;
11
17
  /** 展示基础分享面板。 */
12
18
  showShareMenu(options: ShowShareMenuPayload): Promise<ShowShareMenuResult>;
13
19
  /** 截图并唤起分享。 */
@@ -19,4 +25,4 @@ export interface MiniProgramShareModule {
19
25
  * @param requester 底层 bridge 请求能力。
20
26
  * @returns 面向业务层的分享模块对象。
21
27
  */
22
- export declare function createShareModule(requester: MiniProgramRequester): MiniProgramShareModule;
28
+ export declare function createShareModule(requester: MiniProgramRequester, launchHref?: string): MiniProgramShareModule;
@@ -5,6 +5,15 @@
5
5
  * 不同宿主环境可支持的渠道集合可能不同;未传 `channel` 时由客户端自行展示默认分享面板。
6
6
  */
7
7
  export type MiniProgramShareChannel = 'wechatSession' | 'wechatTimeline' | 'qqFriend' | 'qzone' | 'weibo';
8
+ /** 分享扩展数据支持的 JSON-compatible 类型。 */
9
+ export type MiniProgramShareExtraValue = null | boolean | number | string | readonly MiniProgramShareExtraValue[] | {
10
+ readonly [key: string]: MiniProgramShareExtraValue;
11
+ };
12
+ /** 复制当前小程序分享链接的配置。 */
13
+ export interface MiniProgramCopyLinkOptions {
14
+ /** 分享扩展数据;最多 8 层、单层最多 64 项、容量不超过 128 字节。 */
15
+ extra?: MiniProgramShareExtraValue;
16
+ }
8
17
  /** 社区发帖预置配置。 */
9
18
  export interface MiniProgramSharePostOptions {
10
19
  /** 默认发布分区 ID;普通分享只使用第一项,截图分享支持多项。 */
@@ -25,6 +34,8 @@ export interface MiniProgramShowShareMenuOptions {
25
34
  desc: string;
26
35
  /** 分享落地页 URL;不传时由宿主 runtime 生成当前小程序的通用分享页。 */
27
36
  url?: string;
37
+ /** 分享扩展数据;最多 8 层、单层最多 64 项、容量不超过 128 字节,且不能与 `url` 同时使用。 */
38
+ extra?: MiniProgramShareExtraValue;
28
39
  /** 分享缩略图 URL。 */
29
40
  imageUrl?: string;
30
41
  /** 指定分享渠道;不传则由客户端展示默认分享面板。 */
@@ -1,2 +1,2 @@
1
- export { AUTH_LOGIN_METHOD, CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_INFO_METHOD, CLOUD_LEADERBOARD_GET_LIST_METHOD, CLOUD_LEADERBOARD_SUBMIT_METHOD, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, MINI_PROGRAM_PROTOCOL_CAPABILITIES, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_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, USER_GET_STEAM_GAME_LIST_METHOD, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, } from '@heybox/hb-sdk-protocol';
1
+ export { AUTH_LOGIN_METHOD, CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_INFO_METHOD, CLOUD_LEADERBOARD_GET_LIST_METHOD, CLOUD_LEADERBOARD_SUBMIT_METHOD, DEVICE_SET_CLIPBOARD_METHOD, DEVICE_VIBRATE_METHOD, MINI_PROGRAM_PROTOCOL_CAPABILITIES, NAVIGATION_CLOSE_METHOD, NAVIGATION_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, SHARE_COPY_LINK_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, USER_GET_STEAM_GAME_LIST_METHOD, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, } from '@heybox/hb-sdk-protocol';
2
2
  export type { MiniProgramAuthMethod, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramNavigationMethod, MiniProgramNetworkMethod, MiniProgramShareMethod, MiniProgramStorageMethod, MiniProgramUiMethod, MiniProgramUserMethod, MiniProgramViewportMethod, } from '@heybox/hb-sdk-protocol';
@@ -1,5 +1,5 @@
1
- export { AUTH_LOGIN_METHOD, CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_INFO_METHOD, CLOUD_LEADERBOARD_GET_LIST_METHOD, CLOUD_LEADERBOARD_SUBMIT_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_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, RUNTIME_LOCATION_PROBE_METHOD, SDK_CSP_VIOLATION_METHOD, SDK_HANDSHAKE_METHOD, SDK_LOCATION_REPORT_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_INFO_AUTHORIZATION_SCOPES, USER_GET_INFO_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, parseMiniProgramRuntimePermissions, } from '@heybox/hb-sdk-protocol';
2
- export type { AuthorizedUserInfo, ClosePayload, CloseResult, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, HideLoadingPayload, HideLoadingResult, LeaderboardEntry, LeaderboardOrder, LoginPayload, LoginResult, LoginScope, MiniProgramAuthMethod, MiniProgramBridgeError, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramEventName, MiniProgramEventPayloadMap, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationMethod, MiniProgramNetworkHeaders, MiniProgramNetworkMethod, MiniProgramNetworkParams, MiniProgramNetworkRequestMethod, MiniProgramRuntimePermissionEntry, MiniProgramRuntimePermissionsSnapshot, MiniProgramRuntimePermissionStatus, MiniProgramSafeArea, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareMethod, MiniProgramSharePostOptions, MiniProgramStorageMethod, MiniProgramToastStatus, MiniProgramUiMethod, MiniProgramUserInfoResult, MiniProgramUserMethod, MiniProgramVibrateIntensity, MiniProgramViewportMethod, MiniProgramWindowInfoResult, NetworkRequestPayload, NetworkResponsePayload, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPagePayload, OpenPostDetailAppPagePayload, OpenUserDetailAppPagePayload, ParsedMiniProgramRuntimePermissions, ReloadPayload, ReloadResult, RevokeAuthorizationPayload, RevokeAuthorizationResult, RuntimeLocationProbePayload, ScreenshotPayload, ScreenshotResult, SDKCSPBlockedResourceType, SDKCSPViolationPayload, SDKHandshakePayload, SDKLocationReportPayload, SDKLocationReportTrigger, SetClipboardPayload, SetClipboardResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SteamGamePrice, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UserInfoAuthorization, UserInfoAuthorizationScope, UserInfoAuthorizationStatus, VibratePayload, VibrateResult, } from '@heybox/hb-sdk-protocol';
1
+ export { AUTH_LOGIN_METHOD, CLOUD_LEADERBOARD_DELETE_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_CURRENT_USER_ENTRY_METHOD, CLOUD_LEADERBOARD_GET_INFO_METHOD, CLOUD_LEADERBOARD_GET_LIST_METHOD, CLOUD_LEADERBOARD_SUBMIT_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_OPEN_APP_PAGE_METHOD, NAVIGATION_RELOAD_METHOD, NETWORK_REQUEST_METHOD, RUNTIME_LOCATION_PROBE_METHOD, SDK_CSP_VIOLATION_METHOD, SDK_HANDSHAKE_METHOD, SDK_LOCATION_REPORT_METHOD, SHARE_COPY_LINK_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_INFO_AUTHORIZATION_SCOPES, USER_GET_INFO_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, USER_REVOKE_AUTHORIZATION_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isManagedMiniProgramRuntimePermissionKey, isMiniProgramBridgeMessage, parseMiniProgramRuntimePermissions, } from '@heybox/hb-sdk-protocol';
2
+ export type { AuthorizedUserInfo, ClosePayload, CloseResult, CopyLinkPayload, CopyLinkResult, DeleteCurrentUserLeaderboardEntryPayload, DeleteCurrentUserLeaderboardEntryResult, GetCurrentUserLeaderboardEntryPayload, GetCurrentUserLeaderboardEntryResult, GetLeaderboardInfoPayload, GetLeaderboardInfoResult, GetLeaderboardListPayload, GetLeaderboardListResult, GetSteamGameListPayload, GetSteamGameListResult, GetStoragePayload, GetStorageResult, GetUserInfoPayload, GetUserInfoResult, GetWindowInfoPayload, GetWindowInfoResult, HideLoadingPayload, HideLoadingResult, LeaderboardEntry, LeaderboardOrder, LoginPayload, LoginResult, LoginScope, MiniProgramAuthMethod, MiniProgramBridgeError, MiniProgramBridgeMessage, MiniProgramBridgeMessageType, MiniProgramBridgeMethod, MiniProgramCapabilityDefinition, MiniProgramCapabilityModule, MiniProgramCapabilityPayload, MiniProgramCapabilityPayloadMap, MiniProgramCapabilityResult, MiniProgramCapabilityResultMap, MiniProgramCapabilityRisk, MiniProgramCloudMethod, MiniProgramDeviceMethod, MiniProgramEventName, MiniProgramEventPayloadMap, MiniProgramNavigationBarForegroundStyle, MiniProgramNavigationMethod, MiniProgramNetworkHeaders, MiniProgramNetworkMethod, MiniProgramNetworkParams, MiniProgramNetworkRequestMethod, MiniProgramRuntimePermissionEntry, MiniProgramRuntimePermissionsSnapshot, MiniProgramRuntimePermissionStatus, MiniProgramSafeArea, MiniProgramScreenshotRect, MiniProgramShareChannel, MiniProgramShareMethod, MiniProgramSharePostOptions, MiniProgramStorageMethod, MiniProgramToastStatus, MiniProgramUiMethod, MiniProgramUserInfoResult, MiniProgramUserMethod, MiniProgramVibrateIntensity, MiniProgramViewportMethod, MiniProgramWindowInfoResult, NetworkRequestPayload, NetworkResponsePayload, OpenAppPagePayload, OpenAppPageResult, OpenGameDetailAppPagePayload, OpenPostDetailAppPagePayload, OpenUserDetailAppPagePayload, ParsedMiniProgramRuntimePermissions, ReloadPayload, ReloadResult, RevokeAuthorizationPayload, RevokeAuthorizationResult, RuntimeLocationProbePayload, ScreenshotPayload, ScreenshotResult, SDKCSPBlockedResourceType, SDKCSPViolationPayload, SDKHandshakePayload, SDKLocationReportPayload, SDKLocationReportTrigger, SetClipboardPayload, SetClipboardResult, SetNavigationBarStylePayload, SetNavigationBarStyleResult, SetStoragePayload, ShowLoadingPayload, ShowLoadingResult, ShowShareMenuPayload, ShowShareMenuResult, ShowToastPayload, ShowToastResult, SteamGameListData, SteamGameListItem, SteamGameListSort, SteamGamePrice, SubmitLeaderboardEntryPayload, SubmitLeaderboardEntryResult, UserInfoAuthorization, UserInfoAuthorizationScope, UserInfoAuthorizationStatus, VibratePayload, VibrateResult, } from '@heybox/hb-sdk-protocol';
3
3
  export type { LoginOptions } from './modules/auth';
4
4
  export type { GetSteamGameListOptions } from './modules/user';
5
5
  export type { MiniProgramEventHandler } from './protocol/types';