@heybox/hb-sdk 0.9.6-alpha.0 → 0.9.6-alpha.2
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 +18 -0
- package/README.md +7 -3
- package/dist/cli-chunks/{artifact-Cmg87Tf5.cjs → artifact-D86asFjh.cjs} +3 -3
- package/dist/cli-chunks/{build-C3etivt0.cjs → build-C1LPbI94.cjs} +5 -5
- package/dist/cli-chunks/{create-Blk6X1Yg.cjs → create-Byf1oQzQ.cjs} +1 -1
- package/dist/cli-chunks/{dev-Bz2su6LB.cjs → dev-CbcdKYGb.cjs} +8 -8
- package/dist/cli-chunks/{dev-context-CEkb1z-v.cjs → dev-context-Dmlt0lOG.cjs} +2 -2
- package/dist/cli-chunks/{doctor-DRod5jqN.cjs → doctor-CSqUoHmq.cjs} +1 -1
- package/dist/cli-chunks/{games-C__m_OWO.cjs → games-BgMB9Sp_.cjs} +1 -1
- package/dist/cli-chunks/{index-Bkp6luz7.cjs → index-C48LyQmX.cjs} +1 -1
- package/dist/cli-chunks/{index-Ce_VEy0u.cjs → index-Dx--h963.cjs} +17 -17
- package/dist/cli-chunks/{index.esm-KLaZWTou.cjs → index.esm-C5dcsrVZ.cjs} +6 -6
- package/dist/cli-chunks/{login-1OQQ9hax.cjs → login-rffql4fh.cjs} +1 -1
- package/dist/cli-chunks/{project-vite-DpG6qqyH.cjs → project-vite-C7Nc00mY.cjs} +1 -1
- package/dist/cli-chunks/{remote-DDCv6nEF.cjs → remote-Bl1ve6w9.cjs} +6 -6
- package/dist/cli-chunks/{runtime-permission-env-CSex_ggc.cjs → runtime-permission-env-CxG2c1dS.cjs} +2 -2
- package/dist/cli-chunks/{skill-BRQotwcs.cjs → skill-DGINpnjS.cjs} +2 -2
- package/dist/cli-chunks/{version-Dl4XqQrU.cjs → version-D0gJvLhX.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-DA94kRxx.js +103 -0
- package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-JFfHePS2.js → desktop-app-launch-DwX62DHx.js} +1 -1
- package/dist/devtools/browser-dev-host/assets/{index-MBLQu8hw.js → index--xK6G3mS.js} +3 -3
- package/dist/devtools/browser-dev-host/index.html +2 -2
- package/dist/index.cjs.js +11 -3
- package/dist/index.esm.js +11 -3
- package/dist/protocol.cjs.js +2 -0
- package/dist/protocol.esm.js +2 -0
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.esm.js +1 -1
- package/docs/appreciation-code.md +67 -0
- package/package.json +8 -7
- package/skill/skill.json +4 -4
- package/types/index.d.ts +26 -1
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-HqISBdtQ.js +0 -103
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<meta name="theme-color" content="#f4f5f7" />
|
|
7
7
|
<title>小程序工坊调试台</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index--xK6G3mS.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-DwX62DHx.js">
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/assets/index-DSTlrpnQ.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
package/dist/index.cjs.js
CHANGED
|
@@ -424,6 +424,7 @@ const GAME_SAVES_READ_PARSED_DATA_METHOD = 'gameSaves.readParsedData';
|
|
|
424
424
|
const USER_GET_INFO_METHOD = 'user.getInfo';
|
|
425
425
|
const USER_REVOKE_AUTHORIZATION_METHOD = 'user.revokeAuthorization';
|
|
426
426
|
const USER_GET_STEAM_GAME_LIST_METHOD = 'user.getSteamGameList';
|
|
427
|
+
const USER_SHOW_APPRECIATION_METHOD = 'user.showAppreciation';
|
|
427
428
|
const SHARE_COPY_LINK_METHOD = 'share.copyLink';
|
|
428
429
|
const SHARE_SHOW_SHARE_MENU_METHOD = 'share.showShareMenu';
|
|
429
430
|
const SHARE_SCREENSHOT_METHOD = 'share.screenshot';
|
|
@@ -7508,7 +7509,7 @@ function createMessageId() {
|
|
|
7508
7509
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
7509
7510
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
7510
7511
|
? undefined
|
|
7511
|
-
: '0.9.6-alpha.
|
|
7512
|
+
: '0.9.6-alpha.2';
|
|
7512
7513
|
|
|
7513
7514
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
7514
7515
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
|
@@ -11388,13 +11389,18 @@ function getFollowStatus(requester) {
|
|
|
11388
11389
|
*
|
|
11389
11390
|
* @throws {@link HbMiniProgramSDKError} `userInfo` 未声明或不可用、握手失败、Host 不支持该能力、
|
|
11390
11391
|
* 当前小程序身份缺失、账号/隔离身份读取失败、返回结构不合法、Runtime 终止,或请求期间
|
|
11391
|
-
*
|
|
11392
|
+
* 账号与授权上下文变化时抛出。第三方联网小程序的身份读取返回 `SERVER_API_REQUIRED`。
|
|
11392
11393
|
*
|
|
11393
11394
|
* @remarks
|
|
11395
|
+
* **网络权限决定用户信息的读取入口:`local` 模式使用本方法;联网的 `server` 模式
|
|
11396
|
+
* 使用 `auth.login()` 与服务端换票,调用本方法读取身份会返回 `SERVER_API_REQUIRED`。**
|
|
11397
|
+
*
|
|
11394
11398
|
* 当前账号未登录属于正常返回分支,不抛错。账号已登录时,该能力不展示授权 UI,也不要求
|
|
11395
11399
|
* 可信用户手势;Runtime 会静默建立或读取当前小程序的隔离 `app_user_id`,并授予
|
|
11396
11400
|
* `identity` 与 `profile`。它只要求 Manifest 中声明 `userInfo`,不要求公开 `network`
|
|
11397
|
-
*
|
|
11401
|
+
* 权限,也不返回可供服务端换票的授权码。第三方小程序在启用网络权限的 `server` 模式下
|
|
11402
|
+
* 会以 `SERVER_API_REQUIRED` 拒绝身份读取,应改用 `auth.login()` 并由开发者服务端换票;
|
|
11403
|
+
* `local` 与兼容 `legacy` 模式保留直接读取能力。
|
|
11398
11404
|
*
|
|
11399
11405
|
* @example
|
|
11400
11406
|
* ```ts
|
|
@@ -11446,6 +11452,7 @@ function createUserModule(requester) {
|
|
|
11446
11452
|
return {
|
|
11447
11453
|
requestFollowAuthor: () => requestFollowAuthor(requester),
|
|
11448
11454
|
getFollowStatus: () => getFollowStatus(requester),
|
|
11455
|
+
showAppreciation: () => requester.request(USER_SHOW_APPRECIATION_METHOD),
|
|
11449
11456
|
getInfo: () => getInfo(requester),
|
|
11450
11457
|
revokeAuthorization: () => revokeAuthorization(requester),
|
|
11451
11458
|
getSteamGameList: (options) => getSteamGameList(requester, options),
|
|
@@ -12258,6 +12265,7 @@ const auth = {
|
|
|
12258
12265
|
const user = {
|
|
12259
12266
|
requestFollowAuthor: () => getDefaultSDK().user.requestFollowAuthor(),
|
|
12260
12267
|
getFollowStatus: () => getDefaultSDK().user.getFollowStatus(),
|
|
12268
|
+
showAppreciation: () => getDefaultSDK().user.showAppreciation(),
|
|
12261
12269
|
getInfo: () => getDefaultSDK().user.getInfo(),
|
|
12262
12270
|
revokeAuthorization: () => getDefaultSDK().user.revokeAuthorization(),
|
|
12263
12271
|
getSteamGameList: (options) => getDefaultSDK().user.getSteamGameList(options),
|
package/dist/index.esm.js
CHANGED
|
@@ -420,6 +420,7 @@ const GAME_SAVES_READ_PARSED_DATA_METHOD = 'gameSaves.readParsedData';
|
|
|
420
420
|
const USER_GET_INFO_METHOD = 'user.getInfo';
|
|
421
421
|
const USER_REVOKE_AUTHORIZATION_METHOD = 'user.revokeAuthorization';
|
|
422
422
|
const USER_GET_STEAM_GAME_LIST_METHOD = 'user.getSteamGameList';
|
|
423
|
+
const USER_SHOW_APPRECIATION_METHOD = 'user.showAppreciation';
|
|
423
424
|
const SHARE_COPY_LINK_METHOD = 'share.copyLink';
|
|
424
425
|
const SHARE_SHOW_SHARE_MENU_METHOD = 'share.showShareMenu';
|
|
425
426
|
const SHARE_SCREENSHOT_METHOD = 'share.screenshot';
|
|
@@ -7504,7 +7505,7 @@ function createMessageId() {
|
|
|
7504
7505
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
7505
7506
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
7506
7507
|
? undefined
|
|
7507
|
-
: '0.9.6-alpha.
|
|
7508
|
+
: '0.9.6-alpha.2';
|
|
7508
7509
|
|
|
7509
7510
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
7510
7511
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
|
@@ -11384,13 +11385,18 @@ function getFollowStatus(requester) {
|
|
|
11384
11385
|
*
|
|
11385
11386
|
* @throws {@link HbMiniProgramSDKError} `userInfo` 未声明或不可用、握手失败、Host 不支持该能力、
|
|
11386
11387
|
* 当前小程序身份缺失、账号/隔离身份读取失败、返回结构不合法、Runtime 终止,或请求期间
|
|
11387
|
-
*
|
|
11388
|
+
* 账号与授权上下文变化时抛出。第三方联网小程序的身份读取返回 `SERVER_API_REQUIRED`。
|
|
11388
11389
|
*
|
|
11389
11390
|
* @remarks
|
|
11391
|
+
* **网络权限决定用户信息的读取入口:`local` 模式使用本方法;联网的 `server` 模式
|
|
11392
|
+
* 使用 `auth.login()` 与服务端换票,调用本方法读取身份会返回 `SERVER_API_REQUIRED`。**
|
|
11393
|
+
*
|
|
11390
11394
|
* 当前账号未登录属于正常返回分支,不抛错。账号已登录时,该能力不展示授权 UI,也不要求
|
|
11391
11395
|
* 可信用户手势;Runtime 会静默建立或读取当前小程序的隔离 `app_user_id`,并授予
|
|
11392
11396
|
* `identity` 与 `profile`。它只要求 Manifest 中声明 `userInfo`,不要求公开 `network`
|
|
11393
|
-
*
|
|
11397
|
+
* 权限,也不返回可供服务端换票的授权码。第三方小程序在启用网络权限的 `server` 模式下
|
|
11398
|
+
* 会以 `SERVER_API_REQUIRED` 拒绝身份读取,应改用 `auth.login()` 并由开发者服务端换票;
|
|
11399
|
+
* `local` 与兼容 `legacy` 模式保留直接读取能力。
|
|
11394
11400
|
*
|
|
11395
11401
|
* @example
|
|
11396
11402
|
* ```ts
|
|
@@ -11442,6 +11448,7 @@ function createUserModule(requester) {
|
|
|
11442
11448
|
return {
|
|
11443
11449
|
requestFollowAuthor: () => requestFollowAuthor(requester),
|
|
11444
11450
|
getFollowStatus: () => getFollowStatus(requester),
|
|
11451
|
+
showAppreciation: () => requester.request(USER_SHOW_APPRECIATION_METHOD),
|
|
11445
11452
|
getInfo: () => getInfo(requester),
|
|
11446
11453
|
revokeAuthorization: () => revokeAuthorization(requester),
|
|
11447
11454
|
getSteamGameList: (options) => getSteamGameList(requester, options),
|
|
@@ -12254,6 +12261,7 @@ const auth = {
|
|
|
12254
12261
|
const user = {
|
|
12255
12262
|
requestFollowAuthor: () => getDefaultSDK().user.requestFollowAuthor(),
|
|
12256
12263
|
getFollowStatus: () => getDefaultSDK().user.getFollowStatus(),
|
|
12264
|
+
showAppreciation: () => getDefaultSDK().user.showAppreciation(),
|
|
12257
12265
|
getInfo: () => getDefaultSDK().user.getInfo(),
|
|
12258
12266
|
revokeAuthorization: () => getDefaultSDK().user.revokeAuthorization(),
|
|
12259
12267
|
getSteamGameList: (options) => getDefaultSDK().user.getSteamGameList(options),
|
package/dist/protocol.cjs.js
CHANGED
|
@@ -43,6 +43,7 @@ const GAME_SAVES_READ_PARSED_DATA_METHOD = 'gameSaves.readParsedData';
|
|
|
43
43
|
const USER_GET_INFO_METHOD = 'user.getInfo';
|
|
44
44
|
const USER_REVOKE_AUTHORIZATION_METHOD = 'user.revokeAuthorization';
|
|
45
45
|
const USER_GET_STEAM_GAME_LIST_METHOD = 'user.getSteamGameList';
|
|
46
|
+
const USER_SHOW_APPRECIATION_METHOD = 'user.showAppreciation';
|
|
46
47
|
const SHARE_COPY_LINK_METHOD = 'share.copyLink';
|
|
47
48
|
const SHARE_SHOW_SHARE_MENU_METHOD = 'share.showShareMenu';
|
|
48
49
|
const SHARE_SCREENSHOT_METHOD = 'share.screenshot';
|
|
@@ -177,6 +178,7 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
|
|
|
177
178
|
requirement: { kind: 'all', permissions: ['steamLibrary'] },
|
|
178
179
|
risk: 'high',
|
|
179
180
|
},
|
|
181
|
+
{ method: USER_SHOW_APPRECIATION_METHOD, module: 'user', capability: USER_SHOW_APPRECIATION_METHOD, requirement: { kind: 'none' }, risk: 'medium' },
|
|
180
182
|
{
|
|
181
183
|
method: SHARE_COPY_LINK_METHOD,
|
|
182
184
|
module: 'share',
|
package/dist/protocol.esm.js
CHANGED
|
@@ -41,6 +41,7 @@ const GAME_SAVES_READ_PARSED_DATA_METHOD = 'gameSaves.readParsedData';
|
|
|
41
41
|
const USER_GET_INFO_METHOD = 'user.getInfo';
|
|
42
42
|
const USER_REVOKE_AUTHORIZATION_METHOD = 'user.revokeAuthorization';
|
|
43
43
|
const USER_GET_STEAM_GAME_LIST_METHOD = 'user.getSteamGameList';
|
|
44
|
+
const USER_SHOW_APPRECIATION_METHOD = 'user.showAppreciation';
|
|
44
45
|
const SHARE_COPY_LINK_METHOD = 'share.copyLink';
|
|
45
46
|
const SHARE_SHOW_SHARE_MENU_METHOD = 'share.showShareMenu';
|
|
46
47
|
const SHARE_SCREENSHOT_METHOD = 'share.screenshot';
|
|
@@ -175,6 +176,7 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
|
|
|
175
176
|
requirement: { kind: 'all', permissions: ['steamLibrary'] },
|
|
176
177
|
risk: 'high',
|
|
177
178
|
},
|
|
179
|
+
{ method: USER_SHOW_APPRECIATION_METHOD, module: 'user', capability: USER_SHOW_APPRECIATION_METHOD, requirement: { kind: 'none' }, risk: 'medium' },
|
|
178
180
|
{
|
|
179
181
|
method: SHARE_COPY_LINK_METHOD,
|
|
180
182
|
module: 'share',
|
package/dist/vite.cjs.js
CHANGED
|
@@ -10329,7 +10329,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
|
|
|
10329
10329
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
10330
10330
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
10331
10331
|
? undefined
|
|
10332
|
-
: '0.9.6-alpha.
|
|
10332
|
+
: '0.9.6-alpha.2';
|
|
10333
10333
|
|
|
10334
10334
|
/**
|
|
10335
10335
|
* iframe 与调试台页面的开发期 console 捕获转发。
|
package/dist/vite.esm.js
CHANGED
|
@@ -10326,7 +10326,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
|
|
|
10326
10326
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
10327
10327
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
10328
10328
|
? undefined
|
|
10329
|
-
: '0.9.6-alpha.
|
|
10329
|
+
: '0.9.6-alpha.2';
|
|
10330
10330
|
|
|
10331
10331
|
/**
|
|
10332
10332
|
* iframe 与调试台页面的开发期 console 捕获转发。
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# 赞赏(实验性)
|
|
2
|
+
|
|
3
|
+
`hbSDK.user.showAppreciation(): Promise<void>` 是**不稳定的实验性 API**,平台可随时调整、停用或下架,不承诺长期兼容。调用方必须捕获 SDK 错误,并在能力不可用时隐藏或降级赞赏入口。此标记不表示 API 已废弃。
|
|
4
|
+
|
|
5
|
+
## 配置
|
|
6
|
+
|
|
7
|
+
在开放平台“小程序管理 → 基础信息 → 微信赞赏码”中上传开发者微信导出的 JPG/PNG 原图(最大 2 MB,边长不超过 4096 像素),并打开“开启打赏”。图片复用现有上传服务,存放于当前小程序资源目录 `/u/<上传别名>/appreciation/<内容SHA256>.<jpg|png>`,上传成功后立即保存到平台。
|
|
8
|
+
|
|
9
|
+
- 图片与开关分别保存:关闭开关不会删除图片,重新开启无需再次上传;开启且已上传图片时才对用户生效。
|
|
10
|
+
- 图片上传和保存都成功才提示保存成功;保存失败可直接重试,不需要重新上传。
|
|
11
|
+
- 更换图片时,原图在新图片保存成功前继续生效。
|
|
12
|
+
- 刷新后台会读取已保存的图片和开关状态;读取失败时禁用编辑,点击“重新加载”后再操作。
|
|
13
|
+
|
|
14
|
+
配置保存在平台的小程序资料中,**不写入 Manifest,不需要重新构建或发布小程序**,保存后对后续调用立即生效。沿用现有小程序管理权限,无需在 `permissions` 中声明,也不进入权限申请或审批。
|
|
15
|
+
|
|
16
|
+
平台可停止展示赞赏码;停止期间开发者配置保留,恢复后无需重新上传。
|
|
17
|
+
|
|
18
|
+
## 调用
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import hbSDK, { HbMiniProgramSDKError } from '@heybox/hb-sdk'
|
|
22
|
+
|
|
23
|
+
async function onSupportClick() {
|
|
24
|
+
try {
|
|
25
|
+
await hbSDK.user.showAppreciation()
|
|
26
|
+
} catch (error) {
|
|
27
|
+
if (error instanceof HbMiniProgramSDKError &&
|
|
28
|
+
['REQUEST_UNSUPPORTED', 'METHOD_NOT_FOUND'].includes(error.code)) {
|
|
29
|
+
hideSupportEntry()
|
|
30
|
+
return
|
|
31
|
+
}
|
|
32
|
+
// 请求失败时提示稍后重试;由用户再次点击,不自动循环重试。
|
|
33
|
+
showSupportError()
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
方法不接收参数,不允许调用方指定图片 URL、收款人或金额。无需登录或 userInfo 权限,但必须由用户点击触发。宿主每次打开前都向平台重新查询赞赏码,不使用启动时的缓存;不支持、未配置、平台停用、请求失败或打开失败时抛 SDK 错误。
|
|
39
|
+
|
|
40
|
+
**没有业务返回值。** Promise resolve 仅表示半弹窗已打开,不表示图片已保存,更不表示用户已付款。关闭弹窗不产生付款或取消付款结果。
|
|
41
|
+
|
|
42
|
+
## 展示与保存
|
|
43
|
+
|
|
44
|
+
标题为 `打赏「小程序名·开发者」`,名称取自平台已加载的小程序详情。说明为“金额随心,感谢你对开发者的支持”。半弹窗等比展示完整原图,主按钮为“查看并保存赞赏码”,引导用户打开客户端图片预览后长按保存,再前往微信识别。
|
|
45
|
+
|
|
46
|
+
不改 Android/iOS,不新增原生保存、相册权限或设置接口,不自动拉起微信。宿主在打开前校验图片地址;Web 处理图片加载失败、打开预览失败、重复点击和关闭后的迟到结果,不伪造“保存成功”。未接入该半弹窗的宿主报能力不可用。
|
|
47
|
+
|
|
48
|
+
## 埋点
|
|
49
|
+
|
|
50
|
+
复用宿主 telemetry:`open`、`image_error`、`preview_click`、`preview_opened`、`preview_error`、`close`。只上报当前小程序 ID 和必要错误码,不上报赞赏码地址、图片内容或支付信息。这些事件均不能作为保存成功、支付成功或收入数据。
|
|
51
|
+
|
|
52
|
+
本能力只提供赞赏码配置和展示,不涉及支付订单、钱包、结算、退款或到账通知。
|
|
53
|
+
|
|
54
|
+
## 错误处理
|
|
55
|
+
|
|
56
|
+
失败时 Promise reject `HbMiniProgramSDKError`,通过 `code` 分支处理,不依赖提示文案。底层请求失败也通过此类返回,不使用 `HbMiniProgramNetworkError`。
|
|
57
|
+
|
|
58
|
+
| code | 含义与处理 |
|
|
59
|
+
| --- | --- |
|
|
60
|
+
| `REQUEST_UNSUPPORTED` | 宿主不支持、未开启、未配置图片或平台停用;隐藏或降级入口。 |
|
|
61
|
+
| `METHOD_NOT_FOUND` | 旧 Runtime 尚未接入;隐藏或降级入口。 |
|
|
62
|
+
| `REQUEST_FAILED` | 获取赞赏码失败;提示稍后重试,不永久隐藏入口。 |
|
|
63
|
+
| `INVALID_STATE` | 缺少平台加载的小程序身份、名称或开发者信息;检查宿主接入。 |
|
|
64
|
+
| `USER_GESTURE_REQUIRED` | 必须从真实点击事件直接调用。 |
|
|
65
|
+
| `INVALID_PARAMS` | 此方法不接受任何参数。 |
|
|
66
|
+
|
|
67
|
+
取消、上下文变化、宿主销毁与限流保留原错误码。弹窗打开后发生的图片加载或预览失败由弹窗反馈,并记录相应埋点,不会改变已经 resolve 的调用结果。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heybox/hb-sdk",
|
|
3
|
-
"version": "0.9.6-alpha.
|
|
3
|
+
"version": "0.9.6-alpha.2",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"./src/index.ts",
|
|
6
6
|
"./src/core/singleton.ts",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"README.md",
|
|
53
53
|
"CHANGELOG.md",
|
|
54
54
|
"THIRD_PARTY_NOTICES.md",
|
|
55
|
+
"docs/appreciation-code.md",
|
|
55
56
|
"docs/device-logs.md",
|
|
56
57
|
"docs/runtime-host-migration.md",
|
|
57
58
|
"bin",
|
|
@@ -76,7 +77,7 @@
|
|
|
76
77
|
"undici": "^7.28.0",
|
|
77
78
|
"ws": "^8.18.0",
|
|
78
79
|
"sharp": "^0.34.5",
|
|
79
|
-
"@heybox/hb-sdk-protocol": "0.9.6-alpha.
|
|
80
|
+
"@heybox/hb-sdk-protocol": "0.9.6-alpha.2"
|
|
80
81
|
},
|
|
81
82
|
"peerDependencies": {
|
|
82
83
|
"vite": ">=5"
|
|
@@ -128,13 +129,13 @@
|
|
|
128
129
|
"vitest": "^3.2.4",
|
|
129
130
|
"@ai-desktop/view-contract": "file:../hb-sdk-protocol/vendor/view-contract-2.2.2-6ac49bbf6410.tgz",
|
|
130
131
|
"rollup-plugin-dts": "6.4.0",
|
|
131
|
-
"@heybox
|
|
132
|
-
"@heybox/hb-sdk-runtime": "~0.9.6-alpha.0",
|
|
132
|
+
"@heybox/hb-api": "~1.28.20",
|
|
133
133
|
"@heybox-domain/heybox-vue3-ui": "~0.1.0",
|
|
134
|
-
"@heybox/hb-
|
|
134
|
+
"@heybox/hb-sdk-runtime": "~0.9.6-alpha.2",
|
|
135
|
+
"@heybox-domain/heybox-theme": "~0.1.0",
|
|
135
136
|
"@heybox/runtime-policy": "~0.2.1",
|
|
136
|
-
"@heybox/runtime": "~0.2.1",
|
|
137
|
-
"@heybox/runtime
|
|
137
|
+
"@heybox/runtime-transport-fetch": "~0.2.1",
|
|
138
|
+
"@heybox/runtime": "~0.2.1"
|
|
138
139
|
},
|
|
139
140
|
"publishConfig": {
|
|
140
141
|
"registry": "https://registry.npmjs.org/",
|
package/skill/skill.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hb-sdk",
|
|
3
|
-
"skillVersion": "0.9.6-alpha.
|
|
3
|
+
"skillVersion": "0.9.6-alpha.2+skill.fe3b525ecac8",
|
|
4
4
|
"sdk": {
|
|
5
5
|
"package": "@heybox/hb-sdk",
|
|
6
|
-
"version": "0.9.6-alpha.
|
|
7
|
-
"compatibility": "0.9.6-alpha.
|
|
6
|
+
"version": "0.9.6-alpha.2",
|
|
7
|
+
"compatibility": "0.9.6-alpha.2"
|
|
8
8
|
},
|
|
9
9
|
"distribution": {
|
|
10
10
|
"type": "npm",
|
|
11
11
|
"package": "@heybox/hb-sdk",
|
|
12
|
-
"version": "0.9.6-alpha.
|
|
12
|
+
"version": "0.9.6-alpha.2",
|
|
13
13
|
"path": "skill"
|
|
14
14
|
},
|
|
15
15
|
"integrity": "sha256-fe3b525ecac8431e1774ee453864cf9ba58ff6897272e2356ceb17b621c8c427"
|
package/types/index.d.ts
CHANGED
|
@@ -2844,6 +2844,24 @@ interface MiniProgramUserModule {
|
|
|
2844
2844
|
* @hbPlatform macos
|
|
2845
2845
|
*/
|
|
2846
2846
|
getFollowStatus(): Promise<GetFollowStatusResult>;
|
|
2847
|
+
/**
|
|
2848
|
+
* 赞赏:打开当前小程序配置的开发者赞赏码半弹窗。
|
|
2849
|
+
* @returns 弹窗打开后以 void resolve,不提供图片保存或付款结果。
|
|
2850
|
+
* @throws {@link HbMiniProgramSDKError} `REQUEST_UNSUPPORTED` 表示宿主不支持、未配置或平台停用;
|
|
2851
|
+
* `REQUEST_FAILED` 表示获取赞赏码失败;`INVALID_STATE` 表示缺少宿主小程序信息;
|
|
2852
|
+
* `USER_GESTURE_REQUIRED` 表示缺少用户点击;`INVALID_PARAMS` 表示传入了参数。
|
|
2853
|
+
* 旧 Runtime 可能返回 `METHOD_NOT_FOUND`;取消、上下文变化、销毁和限流保留对应错误码。
|
|
2854
|
+
* @remarks 需要用户点击;无需 userInfo 权限和登录,不接受图片 URL、收款人或金额参数。
|
|
2855
|
+
* 用户通过现有客户端图片预览长按保存,不自动打开微信。
|
|
2856
|
+
* 此 API 不稳定,不承诺长期兼容;平台可随时调整、停用或下架。调用方必须捕获错误,并隐藏或降级赞赏入口。
|
|
2857
|
+
* @since 0.9.6
|
|
2858
|
+
* @experimental
|
|
2859
|
+
* @hbPlatform android
|
|
2860
|
+
* @hbPlatform ios
|
|
2861
|
+
* @hbClient android none
|
|
2862
|
+
* @hbClient ios none
|
|
2863
|
+
*/
|
|
2864
|
+
showAppreciation(): Promise<void>;
|
|
2847
2865
|
/**
|
|
2848
2866
|
* 获取当前黑盒 APP 登录态、授权状态和已获准披露的资料。
|
|
2849
2867
|
*
|
|
@@ -2857,6 +2875,8 @@ interface MiniProgramUserModule {
|
|
|
2857
2875
|
*
|
|
2858
2876
|
* @throws {@link HbMiniProgramSDKError} `PERMISSION_NOT_IN_SNAPSHOT` / `PERMISSION_DENIED` 表示
|
|
2859
2877
|
* 当前运行快照缺少或未启用 `userInfo` 权限;`INVALID_STATE` 表示缺少 canonical 小程序身份;
|
|
2878
|
+
* `SERVER_API_REQUIRED` 表示第三方小程序处于联网的 `server` 模式,应使用 `auth.login()`
|
|
2879
|
+
* 并由开发者服务端换票读取身份;
|
|
2860
2880
|
* `REQUEST_FAILED` / `REQUEST_UNSUPPORTED` / `INVALID_RESPONSE` 表示 Host 或资料读取失败;
|
|
2861
2881
|
* `HEYBOX_APP_LOGIN_REQUIRED` 表示初次登录态检查后,Host 会话在隔离身份读取期间失效;
|
|
2862
2882
|
* `AUTHORIZATION_CONTEXT_CHANGED` 表示请求期间发生账号切换或授权撤销;
|
|
@@ -2869,9 +2889,14 @@ interface MiniProgramUserModule {
|
|
|
2869
2889
|
* 两种情况调用方都应停止立即重试,避免把用户 IP 打成被封。
|
|
2870
2890
|
*
|
|
2871
2891
|
* @remarks
|
|
2892
|
+
* **无网络的 `local` 模式使用本方法;有网络的 `server` 模式使用
|
|
2893
|
+
* `auth.login()` 与服务端换票,调用本方法读取身份会返回 `SERVER_API_REQUIRED`。**
|
|
2894
|
+
* 本地扫码调试的临时网络批准同样会影响身份模式。
|
|
2895
|
+
*
|
|
2872
2896
|
* 该读取不展示授权 UI,也不要求可信用户手势。Manifest 中必须声明 `userInfo`,但不需要
|
|
2873
2897
|
* 公开 `network` 权限;Manifest 权限与 `authorization.identity/profile` 表示的用户授权是
|
|
2874
|
-
*
|
|
2898
|
+
* 两层独立门禁。第三方小程序进入联网的 `server` 模式后不能调用本方法获取身份;
|
|
2899
|
+
* 应使用 `auth.login()` 并由开发者服务端换票。`local` 与兼容 `legacy` 模式保留直接读取能力。
|
|
2875
2900
|
*
|
|
2876
2901
|
* 当前账号未登录是正常返回分支,不是 `HEYBOX_APP_LOGIN_REQUIRED` 错误。已登录时 Runtime
|
|
2877
2902
|
* 会静默建立或读取本小程序隔离身份,并授予 `identity` 与 `profile`。`app_user_id` 只在
|