@heybox/hb-sdk 0.8.1 → 0.8.2-alpha.1
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 +6 -0
- package/README.md +2 -2
- package/dist/cli-chunks/{build-DPe1Ycjd.cjs → build-DFwk1Xza.cjs} +4 -4
- package/dist/cli-chunks/{context-BSUhAv3Z.cjs → context-DPwjjbIf.cjs} +2 -2
- package/dist/cli-chunks/{create-CaiKrGnb.cjs → create-Cbk708wm.cjs} +1 -1
- package/dist/cli-chunks/{dev-BG1o8Q-0.cjs → dev-B1dCAh3V.cjs} +9 -9
- package/dist/cli-chunks/{doctor-DutO2P5H.cjs → doctor-KX6cHAbM.cjs} +1 -1
- package/dist/cli-chunks/{index-CKIyipP9.cjs → index-B5GNdZS6.cjs} +15 -15
- package/dist/cli-chunks/{index-Bur0U2z1.cjs → index-D1CfvRqX.cjs} +2 -2
- package/dist/cli-chunks/{index.esm-BPlpP-O0.cjs → index.esm-BvuovqBQ.cjs} +7 -7
- package/dist/cli-chunks/{login-C1JlLEza.cjs → login-CqdIa3XD.cjs} +2 -2
- package/dist/cli-chunks/{project-vite-Bd0WzAqQ.cjs → project-vite-Bw3UJTnC.cjs} +1 -1
- package/dist/cli-chunks/{remote-DTFEf3Dj.cjs → remote-t0V-fuAW.cjs} +6 -6
- package/dist/cli-chunks/{runtime-permission-env-C2S34ldj.cjs → runtime-permission-env-BgYjqHIE.cjs} +1 -1
- package/dist/cli-chunks/{session-zXVkHuhY.cjs → session-DFY2dygN.cjs} +1 -1
- package/dist/cli-chunks/{skill-CCB3DyXk.cjs → skill-D3xHcK8w.cjs} +2 -2
- package/dist/cli-chunks/{version-0qwlEyZC.cjs → version-DkVq4CXN.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-DqPIIvha.js +101 -0
- package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-DOfl5YvO.js → desktop-app-launch-8J62MOi_.js} +1 -1
- package/dist/devtools/browser-dev-host/assets/{index-CFr28-0O.js → index-CrsPiYXy.js} +3 -3
- package/dist/devtools/browser-dev-host/index.html +2 -2
- package/dist/index.cjs.js +3 -3
- package/dist/index.esm.js +3 -3
- package/dist/protocol.cjs.js +2 -2
- package/dist/protocol.esm.js +2 -2
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.esm.js +1 -1
- package/package.json +8 -8
- package/skill/references/api-root.md +3 -3
- package/skill/references/recipes.md +5 -5
- package/skill/skill.json +5 -5
- package/dist/devtools/browser-dev-host/assets/browser-dev-host-pUcws1MK.js +0 -101
|
@@ -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-CrsPiYXy.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-8J62MOi_.js">
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/assets/index-DXd5IZBz.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
package/dist/index.cjs.js
CHANGED
|
@@ -754,8 +754,8 @@ function isRecord$2(value) {
|
|
|
754
754
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
755
755
|
}
|
|
756
756
|
|
|
757
|
-
/** 当前用户信息与登录能力支持的完整 scope
|
|
758
|
-
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
|
|
757
|
+
/** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
|
|
758
|
+
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
|
|
759
759
|
/** Companion alias 的跨构建、Runtime 与 Host 规范。 */
|
|
760
760
|
const COMPANION_ALIAS_PATTERN = /^[a-z][a-z0-9-]{0,31}$/;
|
|
761
761
|
|
|
@@ -835,7 +835,7 @@ function createMessageId() {
|
|
|
835
835
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
836
836
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
837
837
|
? undefined
|
|
838
|
-
: '0.8.1';
|
|
838
|
+
: '0.8.2-alpha.1';
|
|
839
839
|
|
|
840
840
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
841
841
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
package/dist/index.esm.js
CHANGED
|
@@ -750,8 +750,8 @@ function isRecord$2(value) {
|
|
|
750
750
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
751
751
|
}
|
|
752
752
|
|
|
753
|
-
/** 当前用户信息与登录能力支持的完整 scope
|
|
754
|
-
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
|
|
753
|
+
/** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
|
|
754
|
+
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
|
|
755
755
|
/** Companion alias 的跨构建、Runtime 与 Host 规范。 */
|
|
756
756
|
const COMPANION_ALIAS_PATTERN = /^[a-z][a-z0-9-]{0,31}$/;
|
|
757
757
|
|
|
@@ -831,7 +831,7 @@ function createMessageId() {
|
|
|
831
831
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
832
832
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
833
833
|
? undefined
|
|
834
|
-
: '0.8.1';
|
|
834
|
+
: '0.8.2-alpha.1';
|
|
835
835
|
|
|
836
836
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
837
837
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
package/dist/protocol.cjs.js
CHANGED
|
@@ -476,8 +476,8 @@ function isRecord$2(value) {
|
|
|
476
476
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
477
477
|
}
|
|
478
478
|
|
|
479
|
-
/** 当前用户信息与登录能力支持的完整 scope
|
|
480
|
-
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
|
|
479
|
+
/** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
|
|
480
|
+
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
|
|
481
481
|
|
|
482
482
|
const MINI_PROGRAM_PERMISSION_KEYS = [
|
|
483
483
|
'userInfo',
|
package/dist/protocol.esm.js
CHANGED
|
@@ -474,8 +474,8 @@ function isRecord$2(value) {
|
|
|
474
474
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
475
475
|
}
|
|
476
476
|
|
|
477
|
-
/** 当前用户信息与登录能力支持的完整 scope
|
|
478
|
-
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile'];
|
|
477
|
+
/** 当前用户信息与登录能力支持的完整 scope 目录(canonical 顺序)。 */
|
|
478
|
+
const USER_INFO_AUTHORIZATION_SCOPES = ['identity', 'profile', 'steam_account'];
|
|
479
479
|
|
|
480
480
|
const MINI_PROGRAM_PERMISSION_KEYS = [
|
|
481
481
|
'userInfo',
|
package/dist/vite.cjs.js
CHANGED
|
@@ -11,7 +11,7 @@ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentS
|
|
|
11
11
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
12
12
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
13
13
|
? undefined
|
|
14
|
-
: '0.8.1';
|
|
14
|
+
: '0.8.2-alpha.1';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* iframe 与调试台页面的开发期 console 捕获转发。
|
package/dist/vite.esm.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heybox/hb-sdk",
|
|
3
|
-
"version": "0.8.1",
|
|
3
|
+
"version": "0.8.2-alpha.1",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"./src/index.ts",
|
|
6
6
|
"./src/core/singleton.ts",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"skills": "1.5.23",
|
|
65
65
|
"undici": "^7.28.0",
|
|
66
66
|
"ws": "^8.18.0",
|
|
67
|
-
"@heybox/hb-sdk-protocol": "0.8.1"
|
|
67
|
+
"@heybox/hb-sdk-protocol": "0.8.2-alpha.1"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"vite": ">=5"
|
|
@@ -115,13 +115,13 @@
|
|
|
115
115
|
"vue-tsc": "^3.3.7",
|
|
116
116
|
"vite": "^8.0.12",
|
|
117
117
|
"vitest": "^3.2.4",
|
|
118
|
-
"@heybox
|
|
119
|
-
"@heybox/hb-sdk-runtime": "~0.8.1",
|
|
120
|
-
"@heybox/runtime-policy": "~0.2.0",
|
|
121
|
-
"@heybox/runtime": "~0.2.0",
|
|
122
|
-
"@heybox/runtime-transport-fetch": "~0.2.0",
|
|
118
|
+
"@heybox/hb-sdk-runtime": "~0.8.2-alpha.1",
|
|
123
119
|
"@heybox/hb-api": "~1.28.4",
|
|
124
|
-
"@heybox
|
|
120
|
+
"@heybox/runtime": "~0.2.0",
|
|
121
|
+
"@heybox-domain/heybox-vue3-ui": "~0.1.0",
|
|
122
|
+
"@heybox/runtime-policy": "~0.2.0",
|
|
123
|
+
"@heybox-domain/heybox-theme": "~0.1.0",
|
|
124
|
+
"@heybox/runtime-transport-fetch": "~0.2.0"
|
|
125
125
|
},
|
|
126
126
|
"publishConfig": {
|
|
127
127
|
"registry": "https://registry.npmjs.org/",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
## Package metadata
|
|
29
29
|
|
|
30
30
|
- Package: `@heybox/hb-sdk`
|
|
31
|
-
- Version at generation time: `0.8.1`
|
|
31
|
+
- Version at generation time: `0.8.2-alpha.1`
|
|
32
32
|
- Public root export: `@heybox/hb-sdk`
|
|
33
33
|
- Protocol export: `@heybox/hb-sdk/protocol`
|
|
34
34
|
- Vite plugin export: `@heybox/hb-sdk/vite`
|
|
@@ -461,11 +461,11 @@ async function getCurrentUser() {
|
|
|
461
461
|
}
|
|
462
462
|
```
|
|
463
463
|
|
|
464
|
-
`user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
|
|
464
|
+
`user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。平台为当前版本启用 Steam 账号能力且小程序未开通网络权限时,还会授予 `steam_account`,已绑定用户返回可选 `userInfo.steam_id`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
|
|
465
465
|
|
|
466
466
|
## 获取服务端授权码
|
|
467
467
|
|
|
468
|
-
声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI
|
|
468
|
+
声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI,因此应绑定到按钮点击等明确的用户操作。平台为当前版本启用 Steam 账号能力后,联网小程序可在 `scopes` 中按需加入 `steam_account`,并由开发者服务端通过 OpenAPI 读取 `steam_id`。该调用内部使用 Host 受信请求,不依赖公开 `network` 权限;示例中的 `network.request()` 另需声明并获得 `network` 平台批准。
|
|
469
469
|
|
|
470
470
|
SDK 会自动完成握手。登录按钮应按上面的持久握手状态启用;点击回调直接调用 `auth.login()`,不要先等待其他异步任务,以免首次操作丢失可信手势。
|
|
471
471
|
|
|
@@ -64,11 +64,11 @@ async function getCurrentUser() {
|
|
|
64
64
|
}
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
`user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
|
|
67
|
+
`user.getInfo()` 不展示授权弹窗,也不要求可信用户手势。未登录时返回未登录状态;已登录时隐式授予当前本地用户 scopes(`identity`、`profile`),静默返回 `userInfo.app_user_id`、`profile.nickname` 和 `profile.avatar`。平台为当前版本启用 Steam 账号能力且小程序未开通网络权限时,还会授予 `steam_account`,已绑定用户返回可选 `userInfo.steam_id`。这条路径不能获取授权码或调用 OpenAPI,也不能把身份或资料发送到外部服务。
|
|
68
68
|
|
|
69
69
|
## 获取服务端授权码
|
|
70
70
|
|
|
71
|
-
声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI
|
|
71
|
+
声明 `userInfo` 后,可通过 `auth.login()` 获取短期授权码。登录可能展示 UI,因此应绑定到按钮点击等明确的用户操作。平台为当前版本启用 Steam 账号能力后,联网小程序可在 `scopes` 中按需加入 `steam_account`,并由开发者服务端通过 OpenAPI 读取 `steam_id`。该调用内部使用 Host 受信请求,不依赖公开 `network` 权限;示例中的 `network.request()` 另需声明并获得 `network` 平台批准。
|
|
72
72
|
|
|
73
73
|
SDK 会自动完成握手。登录按钮应按上面的持久握手状态启用;点击回调直接调用 `auth.login()`,不要先等待其他异步任务,以免首次操作丢失可信手势。
|
|
74
74
|
|
|
@@ -259,9 +259,9 @@ async function loginFromUserAction() {
|
|
|
259
259
|
- `expiresIn` 是服务端返回的有效期(当前为 `300` 秒);服务端应尽快使用,失败或过期后重新获取,不要在业务代码中硬编码该值。
|
|
260
260
|
- `scopes` 是本次授权码实际包含的 scope。
|
|
261
261
|
|
|
262
|
-
`identity` 始终隐式包含,不需要也不能通过省略它来申请匿名授权。`scopes` 只填写业务确实需要的可选资料,例如 `profile`;不需要额外资料时直接调用 `auth.login()`。
|
|
262
|
+
`identity` 始终隐式包含,不需要也不能通过省略它来申请匿名授权。`scopes` 只填写业务确实需要的可选资料,例如 `profile`。平台为当前版本启用 Steam 账号能力后,需要主绑定 SteamID64 的联网小程序可申请 `steam_account`;不需要额外资料时直接调用 `auth.login()`。
|
|
263
263
|
|
|
264
|
-
小程序页面只把 `code` 发送到自己的服务端。开发者服务端再按后端 OpenAPI 文档,用服务端保存的应用凭据交换 token;页面不得自行交换,也不得持有应用私密凭据。`auth.login()` 不返回 user、profile、`app_user_id` 或 token。
|
|
264
|
+
小程序页面只把 `code` 发送到自己的服务端。开发者服务端再按后端 OpenAPI 文档,用服务端保存的应用凭据交换 token;页面不得自行交换,也不得持有应用私密凭据。`auth.login()` 不返回 user、profile、`steam_id`、`app_user_id` 或 token。
|
|
265
265
|
|
|
266
266
|
## 后端 OpenAPI
|
|
267
267
|
|
|
@@ -310,7 +310,7 @@ async function getCurrentUser() {
|
|
|
310
310
|
}
|
|
311
311
|
```
|
|
312
312
|
|
|
313
|
-
`user.getInfo()`
|
|
313
|
+
`user.getInfo()` 必须声明 `userInfo`。它延续现有交互:不展示授权弹窗,也不要求可信用户手势。未登录时返回 `isHeyboxAppLoggedIn: false`;已登录时按授权状态返回当前小程序隔离的 `app_user_id`、`profile.nickname` 和 `profile.avatar`。平台为当前版本启用 Steam 账号能力后,未开通网络权限的小程序会隐式获得 `steam_account`,当前用户有主绑定时返回可选 `steam_id`;已开通网络权限的小程序改由开发者服务端通过 OpenAPI 读取这些资料,页面调用返回 `SERVER_API_REQUIRED`。用户授权与开发者权限声明是两层独立门禁,不能用声明代替用户同意。
|
|
314
314
|
|
|
315
315
|
Steam 游戏库使用 `user.getSteamGameList(options)`,要求声明 `steamLibrary`,同样不依赖 `network`。Host current-user capabilities 的既有账号绑定和数据可用性规则保持不变。
|
|
316
316
|
|
package/skill/skill.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hb-sdk",
|
|
3
|
-
"skillVersion": "0.8.1+skill.
|
|
3
|
+
"skillVersion": "0.8.2-alpha.1+skill.0f0823cae24a",
|
|
4
4
|
"sdk": {
|
|
5
5
|
"package": "@heybox/hb-sdk",
|
|
6
|
-
"version": "0.8.1",
|
|
7
|
-
"compatibility": "0.8.1"
|
|
6
|
+
"version": "0.8.2-alpha.1",
|
|
7
|
+
"compatibility": "0.8.2-alpha.1"
|
|
8
8
|
},
|
|
9
9
|
"distribution": {
|
|
10
10
|
"type": "npm",
|
|
11
11
|
"package": "@heybox/hb-sdk",
|
|
12
|
-
"version": "0.8.1",
|
|
12
|
+
"version": "0.8.2-alpha.1",
|
|
13
13
|
"path": "skill"
|
|
14
14
|
},
|
|
15
|
-
"integrity": "sha256-
|
|
15
|
+
"integrity": "sha256-0f0823cae24a89faa255a1195befa2a49ce1a6246ebb608ae199c6de3bbda33e"
|
|
16
16
|
}
|