@heybox/hb-sdk 0.9.2-alpha.8 → 0.9.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 +42 -0
- package/README.md +2 -2
- package/dist/card-controller.cjs.js +35 -3
- package/dist/card-controller.esm.js +35 -3
- package/dist/cli-chunks/{build-BinntZJf.cjs → build-Dw22VIXS.cjs} +5 -5
- package/dist/cli-chunks/{context-BI3QMxw2.cjs → context-wxnfvTjH.cjs} +2 -2
- package/dist/cli-chunks/{create-BK028Mlk.cjs → create-ecaoeTnL.cjs} +1 -1
- package/dist/cli-chunks/{deploy-lock-pKDDxTKm.cjs → deploy-lock--NJ7NdXX.cjs} +1 -1
- package/dist/cli-chunks/{dev-DeNzUY6g.cjs → dev-Brpzyt0U.cjs} +8 -8
- package/dist/cli-chunks/{doctor-BOfbKnN2.cjs → doctor-D9YqT9KQ.cjs} +1 -1
- package/dist/cli-chunks/{games-yqu20laX.cjs → games-C1ecYTTz.cjs} +2 -2
- package/dist/cli-chunks/{index-C7nrP0tt.cjs → index-B3Rry_DT.cjs} +1 -1
- package/dist/cli-chunks/{index-CY67PpQk.cjs → index-BbBDiBGu.cjs} +17 -17
- package/dist/cli-chunks/{index.esm-DQdwzMhB.cjs → index.esm-4AAnDlTK.cjs} +6 -6
- package/dist/cli-chunks/{login-PJdMmFoB.cjs → login-e8GwAqrB.cjs} +1 -1
- package/dist/cli-chunks/{project-vite-Dm128JTE.cjs → project-vite-CCK80P0l.cjs} +1 -1
- package/dist/cli-chunks/{remote-CZuy1lmn.cjs → remote-BrcgN56P.cjs} +7 -7
- package/dist/cli-chunks/{runtime-gate-g3afiufR.cjs → runtime-gate-DlljPriy.cjs} +3 -2
- package/dist/cli-chunks/{runtime-permission-env-CDx5qO-T.cjs → runtime-permission-env-BHzCLf1O.cjs} +14 -2
- package/dist/cli-chunks/{skill-Bdy5Ehue.cjs → skill-DzD5EQiw.cjs} +2 -2
- package/dist/cli-chunks/{version-D40WHkF9.cjs → version-Cg_M8yWW.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/{browser-dev-host-BW7iWnpt.js → browser-dev-host-BRNJVknP.js} +1 -1
- package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-lmlBUG16.js → desktop-app-launch-DcTaMyDt.js} +1 -1
- package/dist/devtools/browser-dev-host/assets/{index-D7F2y1lF.js → index-p1R5T0MK.js} +3 -3
- package/dist/devtools/browser-dev-host/index.html +2 -2
- package/dist/index.cjs.js +13 -5
- package/dist/index.esm.js +13 -5
- package/dist/miniapp-publish.cjs.js +13 -81
- package/dist/miniapp-publish.esm.js +14 -80
- package/dist/protocol.cjs.js +13 -0
- package/dist/protocol.esm.js +13 -0
- package/dist/vite.cjs.js +6 -1
- package/dist/vite.esm.js +6 -1
- package/package.json +6 -5
- package/skill/skill.json +4 -4
- package/types/card-controller.d.ts +35 -3
- package/types/index.d.ts +51 -51
- package/types/miniapp-publish/index.d.ts +15 -60
- package/types/protocol.d.ts +10 -10
- package/types/vite/index.d.ts +1 -0
|
@@ -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-p1R5T0MK.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-DcTaMyDt.js">
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/assets/index-7Cq8iNcD.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
package/dist/index.cjs.js
CHANGED
|
@@ -544,6 +544,7 @@ const COMPANION_SHOW_NOTIFICATION_METHOD = 'companion.showNotification';
|
|
|
544
544
|
* @see [MINI_PROGRAM_BRIDGE_NONCE_PARAM](/reference/symbols/protocol/constants/MINI_PROGRAM_BRIDGE_NONCE_PARAM) iframe URL 中的 nonce 参数名。
|
|
545
545
|
* @see [MINI_PROGRAM_PROTOCOL_CAPABILITIES](/reference/symbols/protocol/constants/MINI_PROGRAM_PROTOCOL_CAPABILITIES) 公开 method 与权限 requirement 目录。
|
|
546
546
|
* @see [parseMiniProgramRuntimePermissions](/reference/symbols/protocol/functions/parseMiniProgramRuntimePermissions) Runtime 权限快照解析器。
|
|
547
|
+
* @since 0.3.1
|
|
547
548
|
*/
|
|
548
549
|
function isMiniProgramBridgeMessage(value) {
|
|
549
550
|
if (!isRecord$3(value))
|
|
@@ -628,6 +629,7 @@ function isMiniProgramBridgeMessage(value) {
|
|
|
628
629
|
* @see [PathRoot](/reference/symbols/root/interfaces/PathRoot) 提供 `file()` / `directory()` 的 SDK 路径入口。
|
|
629
630
|
* @see [FileSystem](/reference/symbols/root/interfaces/FileSystem) `files.sandbox` 逻辑路径能力。
|
|
630
631
|
* @see [DirectoryHandle](/reference/symbols/root/interfaces/DirectoryHandle) 已授权目录下的相对路径能力。
|
|
632
|
+
* @since 0.8.0
|
|
631
633
|
*/
|
|
632
634
|
function isMiniProgramRelativePath(value) {
|
|
633
635
|
if (typeof value !== 'string' || !value || value.startsWith('/') || value.endsWith('/')) {
|
|
@@ -694,6 +696,7 @@ function isMiniProgramRelativePath(value) {
|
|
|
694
696
|
* @see [PathRoot](/reference/symbols/root/interfaces/PathRoot) SDK 公开的逻辑路径 root 能力。
|
|
695
697
|
* @see [FilesModule](/reference/symbols/root/interfaces/FilesModule) 提供 `files.sandbox` 与目录 picker 的入口。
|
|
696
698
|
* @see [DirectoryHandle](/reference/symbols/root/interfaces/DirectoryHandle) 可作为 derived path root 的目录代理。
|
|
699
|
+
* @since 0.8.0
|
|
697
700
|
*/
|
|
698
701
|
function isMiniProgramPathRootRef(value) {
|
|
699
702
|
if (!isRecord$3(value))
|
|
@@ -760,6 +763,7 @@ function isMiniProgramPathRootRef(value) {
|
|
|
760
763
|
* @see [isMiniProgramFileDescriptor](/reference/symbols/protocol/functions/isMiniProgramFileDescriptor) 包含名称和 mode 的文件 descriptor guard。
|
|
761
764
|
* @see [isMiniProgramDirectoryRef](/reference/symbols/protocol/functions/isMiniProgramDirectoryRef) 可用 `'.'` 指向 root 自身的目录引用 guard。
|
|
762
765
|
* @see [FileHandle](/reference/symbols/root/interfaces/FileHandle) 使用文件引用的公开 I/O 代理。
|
|
766
|
+
* @since 0.8.0
|
|
763
767
|
*/
|
|
764
768
|
function isMiniProgramFileRef(value) {
|
|
765
769
|
if (!isRecord$3(value) || value.kind !== 'file')
|
|
@@ -827,6 +831,7 @@ function isMiniProgramFileRef(value) {
|
|
|
827
831
|
* @see [isMiniProgramDirectoryDescriptor](/reference/symbols/protocol/functions/isMiniProgramDirectoryDescriptor) 包含名称和 mode 的目录 descriptor guard。
|
|
828
832
|
* @see [isMiniProgramFileRef](/reference/symbols/protocol/functions/isMiniProgramFileRef) 不接受 root 自身 `'.'` 的文件引用 guard。
|
|
829
833
|
* @see [DirectoryHandle](/reference/symbols/root/interfaces/DirectoryHandle) 使用目录引用的公开路径操作代理。
|
|
834
|
+
* @since 0.8.0
|
|
830
835
|
*/
|
|
831
836
|
function isMiniProgramDirectoryRef(value) {
|
|
832
837
|
if (!isRecord$3(value) || value.kind !== 'directory')
|
|
@@ -887,6 +892,7 @@ function isMiniProgramDirectoryRef(value) {
|
|
|
887
892
|
* @see [CompanionStdio](/reference/symbols/root/interfaces/CompanionStdio) Companion 原始字节 stdin/stdout/stderr。
|
|
888
893
|
* @see [isMiniProgramFileDescriptor](/reference/symbols/protocol/functions/isMiniProgramFileDescriptor) 文件 descriptor guard。
|
|
889
894
|
* @see [isMiniProgramDirectoryDescriptor](/reference/symbols/protocol/functions/isMiniProgramDirectoryDescriptor) 目录 descriptor guard。
|
|
895
|
+
* @since 0.8.0
|
|
890
896
|
*/
|
|
891
897
|
function isMiniProgramByteArray(value) {
|
|
892
898
|
return value instanceof Uint8Array && value.buffer instanceof ArrayBuffer;
|
|
@@ -946,6 +952,7 @@ function isMiniProgramByteArray(value) {
|
|
|
946
952
|
* @see [FileStatResult](/reference/symbols/protocol/types/FileStatResult) `file.stat` 的 wire 返回类型。
|
|
947
953
|
* @see [FileStat](/reference/symbols/root/interfaces/FileStat) SDK 向业务返回的元数据快照。
|
|
948
954
|
* @see [FileHandle](/reference/symbols/root/interfaces/FileHandle) 提供 `stat()` 的当前 session 文件代理。
|
|
955
|
+
* @since 0.8.0
|
|
949
956
|
*/
|
|
950
957
|
function isMiniProgramFileStat(value) {
|
|
951
958
|
return (isRecord$3(value) &&
|
|
@@ -1006,6 +1013,7 @@ function isMiniProgramFileStat(value) {
|
|
|
1006
1013
|
* @see [DownloadProgress](/reference/symbols/root/interfaces/DownloadProgress) `onProgress` 接收的公开 SDK 进度类型。
|
|
1007
1014
|
* @see [network.download](/reference/sdk/network/download) 产生并消费该进度的下载能力。
|
|
1008
1015
|
* @see [isMiniProgramBridgeMessage](/reference/symbols/protocol/functions/isMiniProgramBridgeMessage) operation progress envelope 的最低校验。
|
|
1016
|
+
* @since 0.8.0
|
|
1009
1017
|
*/
|
|
1010
1018
|
function isMiniProgramDownloadProgressPayload(value) {
|
|
1011
1019
|
if (!isRecord$3(value) ||
|
|
@@ -7291,7 +7299,7 @@ function createMessageId() {
|
|
|
7291
7299
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
7292
7300
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
7293
7301
|
? undefined
|
|
7294
|
-
: '0.9.2
|
|
7302
|
+
: '0.9.2';
|
|
7295
7303
|
|
|
7296
7304
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
7297
7305
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
|
@@ -11595,7 +11603,7 @@ function getDefaultSDK() {
|
|
|
11595
11603
|
* @see [on('ready')](/reference/sdk/lifecycle/on) 不可重放的生命周期边沿事件。
|
|
11596
11604
|
* @see [environment.getInfoSync()](/reference/sdk/environment/getInfoSync) 在 `ready` 后同步读取环境快照。
|
|
11597
11605
|
*
|
|
11598
|
-
* @since 0.7.0
|
|
11606
|
+
* @since 0.7.0
|
|
11599
11607
|
* @hbPlatform android
|
|
11600
11608
|
* @hbPlatform ios
|
|
11601
11609
|
* @hbPlatform ohos
|
|
@@ -11690,7 +11698,7 @@ function getHandshakeState() {
|
|
|
11690
11698
|
* @see [environment.getInfoSync()](/reference/sdk/environment/getInfoSync) 在 `ready` handler 中同步读取环境。
|
|
11691
11699
|
* @see [事件与生命周期](/guide/lifecycle) 握手与普通生命周期事件的使用建议。
|
|
11692
11700
|
*
|
|
11693
|
-
* @since 0.7.0
|
|
11701
|
+
* @since 0.7.0
|
|
11694
11702
|
* @hbPlatform android
|
|
11695
11703
|
* @hbPlatform ios
|
|
11696
11704
|
* @hbPlatform ohos
|
|
@@ -11785,7 +11793,7 @@ function onHandshakeStateChange(handler) {
|
|
|
11785
11793
|
* @see [onHandshakeStateChange()](/reference/sdk/lifecycle/onHandshakeStateChange) 订阅会立即回放的握手状态。
|
|
11786
11794
|
* @see [事件与生命周期](/guide/lifecycle) 生命周期时机与清理建议。
|
|
11787
11795
|
*
|
|
11788
|
-
* @since 0.
|
|
11796
|
+
* @since 0.3.1
|
|
11789
11797
|
* @hbPlatform android
|
|
11790
11798
|
* @hbPlatform ios
|
|
11791
11799
|
* @hbPlatform ohos
|
|
@@ -11854,7 +11862,7 @@ function on(eventName, handler) {
|
|
|
11854
11862
|
* @see [onHandshakeStateChange()](/reference/sdk/lifecycle/onHandshakeStateChange) 订阅会立即回放的握手状态。
|
|
11855
11863
|
* @see [事件与生命周期](/guide/lifecycle) 生命周期事件列表与清理建议。
|
|
11856
11864
|
*
|
|
11857
|
-
* @since 0.
|
|
11865
|
+
* @since 0.3.1
|
|
11858
11866
|
* @hbPlatform android
|
|
11859
11867
|
* @hbPlatform ios
|
|
11860
11868
|
* @hbPlatform ohos
|
package/dist/index.esm.js
CHANGED
|
@@ -540,6 +540,7 @@ const COMPANION_SHOW_NOTIFICATION_METHOD = 'companion.showNotification';
|
|
|
540
540
|
* @see [MINI_PROGRAM_BRIDGE_NONCE_PARAM](/reference/symbols/protocol/constants/MINI_PROGRAM_BRIDGE_NONCE_PARAM) iframe URL 中的 nonce 参数名。
|
|
541
541
|
* @see [MINI_PROGRAM_PROTOCOL_CAPABILITIES](/reference/symbols/protocol/constants/MINI_PROGRAM_PROTOCOL_CAPABILITIES) 公开 method 与权限 requirement 目录。
|
|
542
542
|
* @see [parseMiniProgramRuntimePermissions](/reference/symbols/protocol/functions/parseMiniProgramRuntimePermissions) Runtime 权限快照解析器。
|
|
543
|
+
* @since 0.3.1
|
|
543
544
|
*/
|
|
544
545
|
function isMiniProgramBridgeMessage(value) {
|
|
545
546
|
if (!isRecord$3(value))
|
|
@@ -624,6 +625,7 @@ function isMiniProgramBridgeMessage(value) {
|
|
|
624
625
|
* @see [PathRoot](/reference/symbols/root/interfaces/PathRoot) 提供 `file()` / `directory()` 的 SDK 路径入口。
|
|
625
626
|
* @see [FileSystem](/reference/symbols/root/interfaces/FileSystem) `files.sandbox` 逻辑路径能力。
|
|
626
627
|
* @see [DirectoryHandle](/reference/symbols/root/interfaces/DirectoryHandle) 已授权目录下的相对路径能力。
|
|
628
|
+
* @since 0.8.0
|
|
627
629
|
*/
|
|
628
630
|
function isMiniProgramRelativePath(value) {
|
|
629
631
|
if (typeof value !== 'string' || !value || value.startsWith('/') || value.endsWith('/')) {
|
|
@@ -690,6 +692,7 @@ function isMiniProgramRelativePath(value) {
|
|
|
690
692
|
* @see [PathRoot](/reference/symbols/root/interfaces/PathRoot) SDK 公开的逻辑路径 root 能力。
|
|
691
693
|
* @see [FilesModule](/reference/symbols/root/interfaces/FilesModule) 提供 `files.sandbox` 与目录 picker 的入口。
|
|
692
694
|
* @see [DirectoryHandle](/reference/symbols/root/interfaces/DirectoryHandle) 可作为 derived path root 的目录代理。
|
|
695
|
+
* @since 0.8.0
|
|
693
696
|
*/
|
|
694
697
|
function isMiniProgramPathRootRef(value) {
|
|
695
698
|
if (!isRecord$3(value))
|
|
@@ -756,6 +759,7 @@ function isMiniProgramPathRootRef(value) {
|
|
|
756
759
|
* @see [isMiniProgramFileDescriptor](/reference/symbols/protocol/functions/isMiniProgramFileDescriptor) 包含名称和 mode 的文件 descriptor guard。
|
|
757
760
|
* @see [isMiniProgramDirectoryRef](/reference/symbols/protocol/functions/isMiniProgramDirectoryRef) 可用 `'.'` 指向 root 自身的目录引用 guard。
|
|
758
761
|
* @see [FileHandle](/reference/symbols/root/interfaces/FileHandle) 使用文件引用的公开 I/O 代理。
|
|
762
|
+
* @since 0.8.0
|
|
759
763
|
*/
|
|
760
764
|
function isMiniProgramFileRef(value) {
|
|
761
765
|
if (!isRecord$3(value) || value.kind !== 'file')
|
|
@@ -823,6 +827,7 @@ function isMiniProgramFileRef(value) {
|
|
|
823
827
|
* @see [isMiniProgramDirectoryDescriptor](/reference/symbols/protocol/functions/isMiniProgramDirectoryDescriptor) 包含名称和 mode 的目录 descriptor guard。
|
|
824
828
|
* @see [isMiniProgramFileRef](/reference/symbols/protocol/functions/isMiniProgramFileRef) 不接受 root 自身 `'.'` 的文件引用 guard。
|
|
825
829
|
* @see [DirectoryHandle](/reference/symbols/root/interfaces/DirectoryHandle) 使用目录引用的公开路径操作代理。
|
|
830
|
+
* @since 0.8.0
|
|
826
831
|
*/
|
|
827
832
|
function isMiniProgramDirectoryRef(value) {
|
|
828
833
|
if (!isRecord$3(value) || value.kind !== 'directory')
|
|
@@ -883,6 +888,7 @@ function isMiniProgramDirectoryRef(value) {
|
|
|
883
888
|
* @see [CompanionStdio](/reference/symbols/root/interfaces/CompanionStdio) Companion 原始字节 stdin/stdout/stderr。
|
|
884
889
|
* @see [isMiniProgramFileDescriptor](/reference/symbols/protocol/functions/isMiniProgramFileDescriptor) 文件 descriptor guard。
|
|
885
890
|
* @see [isMiniProgramDirectoryDescriptor](/reference/symbols/protocol/functions/isMiniProgramDirectoryDescriptor) 目录 descriptor guard。
|
|
891
|
+
* @since 0.8.0
|
|
886
892
|
*/
|
|
887
893
|
function isMiniProgramByteArray(value) {
|
|
888
894
|
return value instanceof Uint8Array && value.buffer instanceof ArrayBuffer;
|
|
@@ -942,6 +948,7 @@ function isMiniProgramByteArray(value) {
|
|
|
942
948
|
* @see [FileStatResult](/reference/symbols/protocol/types/FileStatResult) `file.stat` 的 wire 返回类型。
|
|
943
949
|
* @see [FileStat](/reference/symbols/root/interfaces/FileStat) SDK 向业务返回的元数据快照。
|
|
944
950
|
* @see [FileHandle](/reference/symbols/root/interfaces/FileHandle) 提供 `stat()` 的当前 session 文件代理。
|
|
951
|
+
* @since 0.8.0
|
|
945
952
|
*/
|
|
946
953
|
function isMiniProgramFileStat(value) {
|
|
947
954
|
return (isRecord$3(value) &&
|
|
@@ -1002,6 +1009,7 @@ function isMiniProgramFileStat(value) {
|
|
|
1002
1009
|
* @see [DownloadProgress](/reference/symbols/root/interfaces/DownloadProgress) `onProgress` 接收的公开 SDK 进度类型。
|
|
1003
1010
|
* @see [network.download](/reference/sdk/network/download) 产生并消费该进度的下载能力。
|
|
1004
1011
|
* @see [isMiniProgramBridgeMessage](/reference/symbols/protocol/functions/isMiniProgramBridgeMessage) operation progress envelope 的最低校验。
|
|
1012
|
+
* @since 0.8.0
|
|
1005
1013
|
*/
|
|
1006
1014
|
function isMiniProgramDownloadProgressPayload(value) {
|
|
1007
1015
|
if (!isRecord$3(value) ||
|
|
@@ -7287,7 +7295,7 @@ function createMessageId() {
|
|
|
7287
7295
|
/** 构建时替换为当前发布包的实际版本。 */
|
|
7288
7296
|
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
7289
7297
|
? undefined
|
|
7290
|
-
: '0.9.2
|
|
7298
|
+
: '0.9.2';
|
|
7291
7299
|
|
|
7292
7300
|
const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
|
|
7293
7301
|
const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
|
|
@@ -11591,7 +11599,7 @@ function getDefaultSDK() {
|
|
|
11591
11599
|
* @see [on('ready')](/reference/sdk/lifecycle/on) 不可重放的生命周期边沿事件。
|
|
11592
11600
|
* @see [environment.getInfoSync()](/reference/sdk/environment/getInfoSync) 在 `ready` 后同步读取环境快照。
|
|
11593
11601
|
*
|
|
11594
|
-
* @since 0.7.0
|
|
11602
|
+
* @since 0.7.0
|
|
11595
11603
|
* @hbPlatform android
|
|
11596
11604
|
* @hbPlatform ios
|
|
11597
11605
|
* @hbPlatform ohos
|
|
@@ -11686,7 +11694,7 @@ function getHandshakeState() {
|
|
|
11686
11694
|
* @see [environment.getInfoSync()](/reference/sdk/environment/getInfoSync) 在 `ready` handler 中同步读取环境。
|
|
11687
11695
|
* @see [事件与生命周期](/guide/lifecycle) 握手与普通生命周期事件的使用建议。
|
|
11688
11696
|
*
|
|
11689
|
-
* @since 0.7.0
|
|
11697
|
+
* @since 0.7.0
|
|
11690
11698
|
* @hbPlatform android
|
|
11691
11699
|
* @hbPlatform ios
|
|
11692
11700
|
* @hbPlatform ohos
|
|
@@ -11781,7 +11789,7 @@ function onHandshakeStateChange(handler) {
|
|
|
11781
11789
|
* @see [onHandshakeStateChange()](/reference/sdk/lifecycle/onHandshakeStateChange) 订阅会立即回放的握手状态。
|
|
11782
11790
|
* @see [事件与生命周期](/guide/lifecycle) 生命周期时机与清理建议。
|
|
11783
11791
|
*
|
|
11784
|
-
* @since 0.
|
|
11792
|
+
* @since 0.3.1
|
|
11785
11793
|
* @hbPlatform android
|
|
11786
11794
|
* @hbPlatform ios
|
|
11787
11795
|
* @hbPlatform ohos
|
|
@@ -11850,7 +11858,7 @@ function on(eventName, handler) {
|
|
|
11850
11858
|
* @see [onHandshakeStateChange()](/reference/sdk/lifecycle/onHandshakeStateChange) 订阅会立即回放的握手状态。
|
|
11851
11859
|
* @see [事件与生命周期](/guide/lifecycle) 生命周期事件列表与清理建议。
|
|
11852
11860
|
*
|
|
11853
|
-
* @since 0.
|
|
11861
|
+
* @since 0.3.1
|
|
11854
11862
|
* @hbPlatform android
|
|
11855
11863
|
* @hbPlatform ios
|
|
11856
11864
|
* @hbPlatform ohos
|
|
@@ -6595,6 +6595,7 @@ function validateWorkspaceCardReceiptV2(raw, controller) {
|
|
|
6595
6595
|
* @param sourceLabel - 错误消息中的字段来源,默认 `package.json#heybox.category`。
|
|
6596
6596
|
* @returns 合法类别原值;输入 `undefined` 时返回 `undefined`,由发布流程另行检查是否必填。
|
|
6597
6597
|
* @throws `Error` 输入为其他值(包括 null 或空字符串)时抛出带字段来源的错误。
|
|
6598
|
+
* @since 0.8.3
|
|
6598
6599
|
*/
|
|
6599
6600
|
function parseMiniappCategory(value, sourceLabel = 'package.json#heybox.category') {
|
|
6600
6601
|
if (value === undefined)
|
|
@@ -9398,6 +9399,7 @@ const BASIC_INFO_MAX_PIXELS = 40_000_000;
|
|
|
9398
9399
|
* @returns NFKC 规范化、去除首尾 Unicode White_Space 后的名称;不折叠规范化后的内部空白。
|
|
9399
9400
|
* @throws `Error` 输入不是字符串,或规范化后不是 1–40 个 Unicode code point、不含文字或数字,或包含控制字符、
|
|
9400
9401
|
* 格式字符、行/段分隔符以及 HTML 特殊字符 `<`、`>`、`&`、双引号或单引号时抛出。
|
|
9402
|
+
* @since 0.8.2
|
|
9401
9403
|
*/
|
|
9402
9404
|
function normalizeBasicInfoName(raw) {
|
|
9403
9405
|
if (typeof raw !== 'string')
|
|
@@ -9429,6 +9431,7 @@ function validateBasicInfoPath(raw) {
|
|
|
9429
9431
|
* @remarks
|
|
9430
9432
|
* 图片路径必须使用 `/` 分隔的非空相对路径,扩展名为 JPEG、PNG、GIF 或 WebP;拒绝 URL、点段、
|
|
9431
9433
|
* 控制字符和构建/缓存等保留目录。此函数只校验声明,不读取文件,也不验证图片字节、尺寸或存在性。
|
|
9434
|
+
* @since 0.8.2
|
|
9432
9435
|
*/
|
|
9433
9436
|
function parseMiniappBasicInfo(value, sdkVersion = '0.8.2') {
|
|
9434
9437
|
sdkVersion = sdkVersion.trim();
|
|
@@ -9501,6 +9504,7 @@ const MINIAPP_BIND_APP_IDS_MAX_COUNT = 20;
|
|
|
9501
9504
|
* @see [miniappManifest](/reference/symbols/vite/functions/miniappManifest)
|
|
9502
9505
|
* @see [navigation.openAppPage](/reference/sdk/navigation/openAppPage)
|
|
9503
9506
|
* @see [CLI 与远端发布](/guide/cli#生产构建)
|
|
9507
|
+
* @since 0.8.1
|
|
9504
9508
|
*/
|
|
9505
9509
|
function parseMiniappBindAppIds(value, options = {}) {
|
|
9506
9510
|
const sourceLabel = options.sourceLabel ?? 'package.json#heybox.bindAppIds';
|
|
@@ -9689,6 +9693,7 @@ const MINIAPP_WINDOW_ALLOWED_FIELDS = [...MINIAPP_WINDOW_NUMBER_FIELDS, 'resizab
|
|
|
9689
9693
|
*
|
|
9690
9694
|
* @see {@link resolveMiniappManifestPlatforms}
|
|
9691
9695
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/vite/functions/miniappManifest | miniappManifest}
|
|
9696
|
+
* @since 0.3.1
|
|
9692
9697
|
*/
|
|
9693
9698
|
function isValidMiniappManifestVersion(version) {
|
|
9694
9699
|
return getMiniappManifestVersionError(version) === undefined;
|
|
@@ -9709,6 +9714,7 @@ function validateMiniappManifestVersion(version, sourceLabel = 'manifest.version
|
|
|
9709
9714
|
* @remarks
|
|
9710
9715
|
* 不修改输入对象,不执行文件 I/O;不会验证图片/归档是否存在、内容摘要是否匹配,也不查询远端发布资格。
|
|
9711
9716
|
* 成功仅表示 Manifest 字段通过校验,不能替代文件检查与服务端发布预检。
|
|
9717
|
+
* @since 0.8.2
|
|
9712
9718
|
*/
|
|
9713
9719
|
function validateMiniappManifestForDeploy(manifest) {
|
|
9714
9720
|
const version = validateMiniappManifestVersion(manifest.version, 'manifest.version');
|
|
@@ -9882,6 +9888,7 @@ const NO_MINIAPP_PLATFORMS = Object.freeze([]);
|
|
|
9882
9888
|
* @see {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES}
|
|
9883
9889
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/miniapp-publish/functions/isValidVersion | isValidVersion}
|
|
9884
9890
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/vite/functions/miniappManifest | miniappManifest}
|
|
9891
|
+
* @since 0.8.1
|
|
9885
9892
|
*/
|
|
9886
9893
|
function resolveMiniappManifestPlatforms(sdkVersion, manifest) {
|
|
9887
9894
|
if (!isRecord$1(manifest)) {
|
|
@@ -10079,6 +10086,7 @@ const BASIC_INFO_PLACEHOLDER_SHA256 = 'd14e54b30f5e6d1bcbf51267bc82b06a0af7c333f
|
|
|
10079
10086
|
* }
|
|
10080
10087
|
* }
|
|
10081
10088
|
* ```
|
|
10089
|
+
* @since 0.8.2
|
|
10082
10090
|
*/
|
|
10083
10091
|
async function previewMiniappBasicInfo(manifest, files) {
|
|
10084
10092
|
const profile = parseMiniappBasicInfo(manifest, String(manifest.sdkVersion ?? ''));
|
|
@@ -18381,6 +18389,7 @@ const RUNTIME_GATE_BOOTSTRAP_MARKER = 'data-heybox-runtime-gate-bootstrap';
|
|
|
18381
18389
|
* @param html - 待检查的完整 HTML 文本,使用 HTML parser 解析。
|
|
18382
18390
|
* @returns Gate、隐藏样式及 bootstrap 标记均出现时返回 `true`,否则返回 `false`。
|
|
18383
18391
|
* @remarks 只识别标记,不验证脚本内容、标记所在节点或宿主握手;不能据此判断页面安全或实际可运行。
|
|
18392
|
+
* @since 0.8.2
|
|
18384
18393
|
*/
|
|
18385
18394
|
function hasMiniappRuntimeGate(html) {
|
|
18386
18395
|
const document = parse(html);
|
|
@@ -18513,6 +18522,7 @@ const textEncoder = new TextEncoder();
|
|
|
18513
18522
|
* @see {@link relativePathContainsNodeModulesSegment}
|
|
18514
18523
|
* @see {@link shouldUploadDistFile}
|
|
18515
18524
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/protocol/functions/isMiniProgramRelativePath | isMiniProgramRelativePath}
|
|
18525
|
+
* @since 0.3.1
|
|
18516
18526
|
*/
|
|
18517
18527
|
function normalizeRelativePath(relativePath) {
|
|
18518
18528
|
return String(relativePath || '')
|
|
@@ -18543,6 +18553,7 @@ function normalizeRelativePath(relativePath) {
|
|
|
18543
18553
|
* @see [normalizeRelativePath](/reference/symbols/miniapp-publish/functions/normalizeRelativePath)
|
|
18544
18554
|
* @see [shouldUploadDistFile](/reference/symbols/miniapp-publish/functions/shouldUploadDistFile)
|
|
18545
18555
|
* @see [miniapp-publish](/reference/miniapp-publish/)
|
|
18556
|
+
* @since 0.3.1
|
|
18546
18557
|
*/
|
|
18547
18558
|
function relativePathContainsNodeModulesSegment(relativePath) {
|
|
18548
18559
|
return normalizeRelativePath(relativePath)
|
|
@@ -18570,85 +18581,6 @@ function getMiniProgramUploadAlias(miniProgramId) {
|
|
|
18570
18581
|
}
|
|
18571
18582
|
return hash.toString(36);
|
|
18572
18583
|
}
|
|
18573
|
-
/**
|
|
18574
|
-
* 生成旧版固定版本 CDN 上传 key。
|
|
18575
|
-
*
|
|
18576
|
-
* @param input - 小程序 ID、版本和构建产物相对路径。
|
|
18577
|
-
* @returns `/u/{alias}/{version}/{relativePath}` 形式的上传 key。
|
|
18578
|
-
* @remarks 此函数不会校验版本、路径安全性或 key 长度;批量上传前应调用 {@link validateUploadPaths}。
|
|
18579
|
-
* @example
|
|
18580
|
-
* ```ts
|
|
18581
|
-
* getMiniappUploadKey({
|
|
18582
|
-
* miniProgramId: 'mp_example',
|
|
18583
|
-
* version: '1.2.3',
|
|
18584
|
-
* relativePath: 'assets\\app.js',
|
|
18585
|
-
* }); // /u/<alias>/1.2.3/assets/app.js
|
|
18586
|
-
* ```
|
|
18587
|
-
*/
|
|
18588
|
-
function getMiniappUploadKey(input) {
|
|
18589
|
-
const alias = getMiniProgramUploadAlias(input.miniProgramId);
|
|
18590
|
-
const normalized = normalizeRelativePath(input.relativePath);
|
|
18591
|
-
return `/u/${alias}/${input.version}/${normalized}`;
|
|
18592
|
-
}
|
|
18593
|
-
/**
|
|
18594
|
-
* 校验旧版固定版本上传路径的格式、唯一性和完整 key 长度。
|
|
18595
|
-
*
|
|
18596
|
-
* @param items - 待上传条目;按数组顺序检查。
|
|
18597
|
-
* @param options - 小程序 ID、版本和可选的 key 长度上限。
|
|
18598
|
-
* @returns 第一个校验错误的中文提示;全部合法时返回 `undefined`。
|
|
18599
|
-
* @remarks
|
|
18600
|
-
* 路径会先统一分隔符,因此 `assets\\app.js` 与 `assets/app.js` 视为重复。
|
|
18601
|
-
* 长度按 JavaScript 字符串 `length` 计算;上传会话的 UTF-8 字节限制应使用 {@link validateMiniappUploadPathLengths}。
|
|
18602
|
-
* @example
|
|
18603
|
-
* ```ts
|
|
18604
|
-
* const error = validateUploadPaths(
|
|
18605
|
-
* [{ relativePath: 'index.html' }, { relativePath: 'assets/app.js' }],
|
|
18606
|
-
* { miniProgramId: 'mp_example', version: '1.2.3' },
|
|
18607
|
-
* );
|
|
18608
|
-
* if (error) throw new Error(error);
|
|
18609
|
-
* ```
|
|
18610
|
-
*/
|
|
18611
|
-
function validateUploadPaths(items, options) {
|
|
18612
|
-
const limit = options.maxLength ?? ACTIVITY_UPLOAD_KEY_MAX_LENGTH;
|
|
18613
|
-
const uploadKeys = new Set();
|
|
18614
|
-
for (const item of items) {
|
|
18615
|
-
const relativePath = String(item.relativePath ?? '');
|
|
18616
|
-
const normalizedRelativePath = normalizeRelativePath(relativePath);
|
|
18617
|
-
const invalidReason = getInvalidUploadPathReason(normalizedRelativePath);
|
|
18618
|
-
if (invalidReason) {
|
|
18619
|
-
return `构建产物文件路径不合法(${invalidReason}):${JSON.stringify(relativePath)}`;
|
|
18620
|
-
}
|
|
18621
|
-
const key = getMiniappUploadKey({
|
|
18622
|
-
miniProgramId: options.miniProgramId,
|
|
18623
|
-
version: options.version,
|
|
18624
|
-
relativePath: normalizedRelativePath,
|
|
18625
|
-
});
|
|
18626
|
-
if (uploadKeys.has(key)) {
|
|
18627
|
-
return `构建产物文件路径重复,无法上传到同一位置:${JSON.stringify(relativePath)}`;
|
|
18628
|
-
}
|
|
18629
|
-
uploadKeys.add(key);
|
|
18630
|
-
if (key.length > limit) {
|
|
18631
|
-
return `文件路径过长,请缩短构建产物文件名或目录层级:${relativePath}`;
|
|
18632
|
-
}
|
|
18633
|
-
}
|
|
18634
|
-
return undefined;
|
|
18635
|
-
}
|
|
18636
|
-
function getInvalidUploadPathReason(relativePath) {
|
|
18637
|
-
const segments = relativePath.replace(/\\/g, '/').split('/');
|
|
18638
|
-
if (segments.some((segment) => !segment)) {
|
|
18639
|
-
return '包含空路径段';
|
|
18640
|
-
}
|
|
18641
|
-
if (segments.some((segment) => segment === '.')) {
|
|
18642
|
-
return '包含当前目录';
|
|
18643
|
-
}
|
|
18644
|
-
if (segments.some((segment) => segment === '..')) {
|
|
18645
|
-
return '包含上级目录';
|
|
18646
|
-
}
|
|
18647
|
-
if (/[\u0000-\u001F\u007F]/.test(relativePath)) {
|
|
18648
|
-
return '包含控制字符';
|
|
18649
|
-
}
|
|
18650
|
-
return undefined;
|
|
18651
|
-
}
|
|
18652
18584
|
/**
|
|
18653
18585
|
* 校验一组构建产物的总大小是否超过给定上限。
|
|
18654
18586
|
*
|
|
@@ -18705,6 +18637,7 @@ function getInvalidUploadPathReason(relativePath) {
|
|
|
18705
18637
|
* @see {@link ValidateUploadTotalSizeOptions}
|
|
18706
18638
|
* @see [shouldUploadDistFile](/reference/symbols/miniapp-publish/functions/shouldUploadDistFile)
|
|
18707
18639
|
* @see [miniapp-publish](/reference/miniapp-publish/)
|
|
18640
|
+
* @since 0.4.7
|
|
18708
18641
|
*/
|
|
18709
18642
|
function validateUploadTotalSize(items, options = {}) {
|
|
18710
18643
|
const limit = options.limitBytes ?? MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES;
|
|
@@ -18797,6 +18730,7 @@ function validateMiniappUploadSizeBudgets(items, options = {}) {
|
|
|
18797
18730
|
* @see [relativePathContainsNodeModulesSegment](/reference/symbols/miniapp-publish/functions/relativePathContainsNodeModulesSegment)
|
|
18798
18731
|
* @see [validateUploadTotalSize](/reference/symbols/miniapp-publish/functions/validateUploadTotalSize)
|
|
18799
18732
|
* @see [miniapp-publish](/reference/miniapp-publish/)
|
|
18733
|
+
* @since 0.3.1
|
|
18800
18734
|
*/
|
|
18801
18735
|
function shouldUploadDistFile(relativePath) {
|
|
18802
18736
|
const normalized = normalizeRelativePath(relativePath);
|
|
@@ -19220,7 +19154,6 @@ exports.createMiniappArtifactFileHeader = createMiniappArtifactFileHeader;
|
|
|
19220
19154
|
exports.createMiniappArtifactSignatureHeader = createMiniappArtifactSignatureHeader;
|
|
19221
19155
|
exports.getMiniProgramUploadAlias = getMiniProgramUploadAlias;
|
|
19222
19156
|
exports.getMiniappMetadataWarnings = getMiniappMetadataWarnings;
|
|
19223
|
-
exports.getMiniappUploadKey = getMiniappUploadKey;
|
|
19224
19157
|
exports.hasMiniappRuntimeGate = hasMiniappRuntimeGate;
|
|
19225
19158
|
exports.isValidVersion = isValidMiniappManifestVersion;
|
|
19226
19159
|
exports.normalizeBasicInfoName = normalizeBasicInfoName;
|
|
@@ -19239,5 +19172,4 @@ exports.validateMiniappManifestForDeploy = validateMiniappManifestForDeploy;
|
|
|
19239
19172
|
exports.validateMiniappUploadPathLengths = validateMiniappUploadPathLengths;
|
|
19240
19173
|
exports.validateMiniappUploadSizeBudgets = validateMiniappUploadSizeBudgets;
|
|
19241
19174
|
exports.validateMiniappWorkspaceCardFileReceipts = validateMiniappWorkspaceCardFileReceipts;
|
|
19242
|
-
exports.validateUploadPaths = validateUploadPaths;
|
|
19243
19175
|
exports.validateUploadTotalSize = validateUploadTotalSize;
|
|
@@ -6593,6 +6593,7 @@ function validateWorkspaceCardReceiptV2(raw, controller) {
|
|
|
6593
6593
|
* @param sourceLabel - 错误消息中的字段来源,默认 `package.json#heybox.category`。
|
|
6594
6594
|
* @returns 合法类别原值;输入 `undefined` 时返回 `undefined`,由发布流程另行检查是否必填。
|
|
6595
6595
|
* @throws `Error` 输入为其他值(包括 null 或空字符串)时抛出带字段来源的错误。
|
|
6596
|
+
* @since 0.8.3
|
|
6596
6597
|
*/
|
|
6597
6598
|
function parseMiniappCategory(value, sourceLabel = 'package.json#heybox.category') {
|
|
6598
6599
|
if (value === undefined)
|
|
@@ -9396,6 +9397,7 @@ const BASIC_INFO_MAX_PIXELS = 40_000_000;
|
|
|
9396
9397
|
* @returns NFKC 规范化、去除首尾 Unicode White_Space 后的名称;不折叠规范化后的内部空白。
|
|
9397
9398
|
* @throws `Error` 输入不是字符串,或规范化后不是 1–40 个 Unicode code point、不含文字或数字,或包含控制字符、
|
|
9398
9399
|
* 格式字符、行/段分隔符以及 HTML 特殊字符 `<`、`>`、`&`、双引号或单引号时抛出。
|
|
9400
|
+
* @since 0.8.2
|
|
9399
9401
|
*/
|
|
9400
9402
|
function normalizeBasicInfoName(raw) {
|
|
9401
9403
|
if (typeof raw !== 'string')
|
|
@@ -9427,6 +9429,7 @@ function validateBasicInfoPath(raw) {
|
|
|
9427
9429
|
* @remarks
|
|
9428
9430
|
* 图片路径必须使用 `/` 分隔的非空相对路径,扩展名为 JPEG、PNG、GIF 或 WebP;拒绝 URL、点段、
|
|
9429
9431
|
* 控制字符和构建/缓存等保留目录。此函数只校验声明,不读取文件,也不验证图片字节、尺寸或存在性。
|
|
9432
|
+
* @since 0.8.2
|
|
9430
9433
|
*/
|
|
9431
9434
|
function parseMiniappBasicInfo(value, sdkVersion = '0.8.2') {
|
|
9432
9435
|
sdkVersion = sdkVersion.trim();
|
|
@@ -9499,6 +9502,7 @@ const MINIAPP_BIND_APP_IDS_MAX_COUNT = 20;
|
|
|
9499
9502
|
* @see [miniappManifest](/reference/symbols/vite/functions/miniappManifest)
|
|
9500
9503
|
* @see [navigation.openAppPage](/reference/sdk/navigation/openAppPage)
|
|
9501
9504
|
* @see [CLI 与远端发布](/guide/cli#生产构建)
|
|
9505
|
+
* @since 0.8.1
|
|
9502
9506
|
*/
|
|
9503
9507
|
function parseMiniappBindAppIds(value, options = {}) {
|
|
9504
9508
|
const sourceLabel = options.sourceLabel ?? 'package.json#heybox.bindAppIds';
|
|
@@ -9687,6 +9691,7 @@ const MINIAPP_WINDOW_ALLOWED_FIELDS = [...MINIAPP_WINDOW_NUMBER_FIELDS, 'resizab
|
|
|
9687
9691
|
*
|
|
9688
9692
|
* @see {@link resolveMiniappManifestPlatforms}
|
|
9689
9693
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/vite/functions/miniappManifest | miniappManifest}
|
|
9694
|
+
* @since 0.3.1
|
|
9690
9695
|
*/
|
|
9691
9696
|
function isValidMiniappManifestVersion(version) {
|
|
9692
9697
|
return getMiniappManifestVersionError(version) === undefined;
|
|
@@ -9707,6 +9712,7 @@ function validateMiniappManifestVersion(version, sourceLabel = 'manifest.version
|
|
|
9707
9712
|
* @remarks
|
|
9708
9713
|
* 不修改输入对象,不执行文件 I/O;不会验证图片/归档是否存在、内容摘要是否匹配,也不查询远端发布资格。
|
|
9709
9714
|
* 成功仅表示 Manifest 字段通过校验,不能替代文件检查与服务端发布预检。
|
|
9715
|
+
* @since 0.8.2
|
|
9710
9716
|
*/
|
|
9711
9717
|
function validateMiniappManifestForDeploy(manifest) {
|
|
9712
9718
|
const version = validateMiniappManifestVersion(manifest.version, 'manifest.version');
|
|
@@ -9880,6 +9886,7 @@ const NO_MINIAPP_PLATFORMS = Object.freeze([]);
|
|
|
9880
9886
|
* @see {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES}
|
|
9881
9887
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/miniapp-publish/functions/isValidVersion | isValidVersion}
|
|
9882
9888
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/vite/functions/miniappManifest | miniappManifest}
|
|
9889
|
+
* @since 0.8.1
|
|
9883
9890
|
*/
|
|
9884
9891
|
function resolveMiniappManifestPlatforms(sdkVersion, manifest) {
|
|
9885
9892
|
if (!isRecord$1(manifest)) {
|
|
@@ -10077,6 +10084,7 @@ const BASIC_INFO_PLACEHOLDER_SHA256 = 'd14e54b30f5e6d1bcbf51267bc82b06a0af7c333f
|
|
|
10077
10084
|
* }
|
|
10078
10085
|
* }
|
|
10079
10086
|
* ```
|
|
10087
|
+
* @since 0.8.2
|
|
10080
10088
|
*/
|
|
10081
10089
|
async function previewMiniappBasicInfo(manifest, files) {
|
|
10082
10090
|
const profile = parseMiniappBasicInfo(manifest, String(manifest.sdkVersion ?? ''));
|
|
@@ -18379,6 +18387,7 @@ const RUNTIME_GATE_BOOTSTRAP_MARKER = 'data-heybox-runtime-gate-bootstrap';
|
|
|
18379
18387
|
* @param html - 待检查的完整 HTML 文本,使用 HTML parser 解析。
|
|
18380
18388
|
* @returns Gate、隐藏样式及 bootstrap 标记均出现时返回 `true`,否则返回 `false`。
|
|
18381
18389
|
* @remarks 只识别标记,不验证脚本内容、标记所在节点或宿主握手;不能据此判断页面安全或实际可运行。
|
|
18390
|
+
* @since 0.8.2
|
|
18382
18391
|
*/
|
|
18383
18392
|
function hasMiniappRuntimeGate(html) {
|
|
18384
18393
|
const document = parse(html);
|
|
@@ -18511,6 +18520,7 @@ const textEncoder = new TextEncoder();
|
|
|
18511
18520
|
* @see {@link relativePathContainsNodeModulesSegment}
|
|
18512
18521
|
* @see {@link shouldUploadDistFile}
|
|
18513
18522
|
* @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/protocol/functions/isMiniProgramRelativePath | isMiniProgramRelativePath}
|
|
18523
|
+
* @since 0.3.1
|
|
18514
18524
|
*/
|
|
18515
18525
|
function normalizeRelativePath(relativePath) {
|
|
18516
18526
|
return String(relativePath || '')
|
|
@@ -18541,6 +18551,7 @@ function normalizeRelativePath(relativePath) {
|
|
|
18541
18551
|
* @see [normalizeRelativePath](/reference/symbols/miniapp-publish/functions/normalizeRelativePath)
|
|
18542
18552
|
* @see [shouldUploadDistFile](/reference/symbols/miniapp-publish/functions/shouldUploadDistFile)
|
|
18543
18553
|
* @see [miniapp-publish](/reference/miniapp-publish/)
|
|
18554
|
+
* @since 0.3.1
|
|
18544
18555
|
*/
|
|
18545
18556
|
function relativePathContainsNodeModulesSegment(relativePath) {
|
|
18546
18557
|
return normalizeRelativePath(relativePath)
|
|
@@ -18568,85 +18579,6 @@ function getMiniProgramUploadAlias(miniProgramId) {
|
|
|
18568
18579
|
}
|
|
18569
18580
|
return hash.toString(36);
|
|
18570
18581
|
}
|
|
18571
|
-
/**
|
|
18572
|
-
* 生成旧版固定版本 CDN 上传 key。
|
|
18573
|
-
*
|
|
18574
|
-
* @param input - 小程序 ID、版本和构建产物相对路径。
|
|
18575
|
-
* @returns `/u/{alias}/{version}/{relativePath}` 形式的上传 key。
|
|
18576
|
-
* @remarks 此函数不会校验版本、路径安全性或 key 长度;批量上传前应调用 {@link validateUploadPaths}。
|
|
18577
|
-
* @example
|
|
18578
|
-
* ```ts
|
|
18579
|
-
* getMiniappUploadKey({
|
|
18580
|
-
* miniProgramId: 'mp_example',
|
|
18581
|
-
* version: '1.2.3',
|
|
18582
|
-
* relativePath: 'assets\\app.js',
|
|
18583
|
-
* }); // /u/<alias>/1.2.3/assets/app.js
|
|
18584
|
-
* ```
|
|
18585
|
-
*/
|
|
18586
|
-
function getMiniappUploadKey(input) {
|
|
18587
|
-
const alias = getMiniProgramUploadAlias(input.miniProgramId);
|
|
18588
|
-
const normalized = normalizeRelativePath(input.relativePath);
|
|
18589
|
-
return `/u/${alias}/${input.version}/${normalized}`;
|
|
18590
|
-
}
|
|
18591
|
-
/**
|
|
18592
|
-
* 校验旧版固定版本上传路径的格式、唯一性和完整 key 长度。
|
|
18593
|
-
*
|
|
18594
|
-
* @param items - 待上传条目;按数组顺序检查。
|
|
18595
|
-
* @param options - 小程序 ID、版本和可选的 key 长度上限。
|
|
18596
|
-
* @returns 第一个校验错误的中文提示;全部合法时返回 `undefined`。
|
|
18597
|
-
* @remarks
|
|
18598
|
-
* 路径会先统一分隔符,因此 `assets\\app.js` 与 `assets/app.js` 视为重复。
|
|
18599
|
-
* 长度按 JavaScript 字符串 `length` 计算;上传会话的 UTF-8 字节限制应使用 {@link validateMiniappUploadPathLengths}。
|
|
18600
|
-
* @example
|
|
18601
|
-
* ```ts
|
|
18602
|
-
* const error = validateUploadPaths(
|
|
18603
|
-
* [{ relativePath: 'index.html' }, { relativePath: 'assets/app.js' }],
|
|
18604
|
-
* { miniProgramId: 'mp_example', version: '1.2.3' },
|
|
18605
|
-
* );
|
|
18606
|
-
* if (error) throw new Error(error);
|
|
18607
|
-
* ```
|
|
18608
|
-
*/
|
|
18609
|
-
function validateUploadPaths(items, options) {
|
|
18610
|
-
const limit = options.maxLength ?? ACTIVITY_UPLOAD_KEY_MAX_LENGTH;
|
|
18611
|
-
const uploadKeys = new Set();
|
|
18612
|
-
for (const item of items) {
|
|
18613
|
-
const relativePath = String(item.relativePath ?? '');
|
|
18614
|
-
const normalizedRelativePath = normalizeRelativePath(relativePath);
|
|
18615
|
-
const invalidReason = getInvalidUploadPathReason(normalizedRelativePath);
|
|
18616
|
-
if (invalidReason) {
|
|
18617
|
-
return `构建产物文件路径不合法(${invalidReason}):${JSON.stringify(relativePath)}`;
|
|
18618
|
-
}
|
|
18619
|
-
const key = getMiniappUploadKey({
|
|
18620
|
-
miniProgramId: options.miniProgramId,
|
|
18621
|
-
version: options.version,
|
|
18622
|
-
relativePath: normalizedRelativePath,
|
|
18623
|
-
});
|
|
18624
|
-
if (uploadKeys.has(key)) {
|
|
18625
|
-
return `构建产物文件路径重复,无法上传到同一位置:${JSON.stringify(relativePath)}`;
|
|
18626
|
-
}
|
|
18627
|
-
uploadKeys.add(key);
|
|
18628
|
-
if (key.length > limit) {
|
|
18629
|
-
return `文件路径过长,请缩短构建产物文件名或目录层级:${relativePath}`;
|
|
18630
|
-
}
|
|
18631
|
-
}
|
|
18632
|
-
return undefined;
|
|
18633
|
-
}
|
|
18634
|
-
function getInvalidUploadPathReason(relativePath) {
|
|
18635
|
-
const segments = relativePath.replace(/\\/g, '/').split('/');
|
|
18636
|
-
if (segments.some((segment) => !segment)) {
|
|
18637
|
-
return '包含空路径段';
|
|
18638
|
-
}
|
|
18639
|
-
if (segments.some((segment) => segment === '.')) {
|
|
18640
|
-
return '包含当前目录';
|
|
18641
|
-
}
|
|
18642
|
-
if (segments.some((segment) => segment === '..')) {
|
|
18643
|
-
return '包含上级目录';
|
|
18644
|
-
}
|
|
18645
|
-
if (/[\u0000-\u001F\u007F]/.test(relativePath)) {
|
|
18646
|
-
return '包含控制字符';
|
|
18647
|
-
}
|
|
18648
|
-
return undefined;
|
|
18649
|
-
}
|
|
18650
18582
|
/**
|
|
18651
18583
|
* 校验一组构建产物的总大小是否超过给定上限。
|
|
18652
18584
|
*
|
|
@@ -18703,6 +18635,7 @@ function getInvalidUploadPathReason(relativePath) {
|
|
|
18703
18635
|
* @see {@link ValidateUploadTotalSizeOptions}
|
|
18704
18636
|
* @see [shouldUploadDistFile](/reference/symbols/miniapp-publish/functions/shouldUploadDistFile)
|
|
18705
18637
|
* @see [miniapp-publish](/reference/miniapp-publish/)
|
|
18638
|
+
* @since 0.4.7
|
|
18706
18639
|
*/
|
|
18707
18640
|
function validateUploadTotalSize(items, options = {}) {
|
|
18708
18641
|
const limit = options.limitBytes ?? MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES;
|
|
@@ -18795,6 +18728,7 @@ function validateMiniappUploadSizeBudgets(items, options = {}) {
|
|
|
18795
18728
|
* @see [relativePathContainsNodeModulesSegment](/reference/symbols/miniapp-publish/functions/relativePathContainsNodeModulesSegment)
|
|
18796
18729
|
* @see [validateUploadTotalSize](/reference/symbols/miniapp-publish/functions/validateUploadTotalSize)
|
|
18797
18730
|
* @see [miniapp-publish](/reference/miniapp-publish/)
|
|
18731
|
+
* @since 0.3.1
|
|
18798
18732
|
*/
|
|
18799
18733
|
function shouldUploadDistFile(relativePath) {
|
|
18800
18734
|
const normalized = normalizeRelativePath(relativePath);
|
|
@@ -19182,4 +19116,4 @@ const LIST_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH = '/mall/developer/u
|
|
|
19182
19116
|
/** 提交不绑定版本的平台权限申请。 */
|
|
19183
19117
|
const SUBMIT_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH = '/mall/developer/user_miniprogram/runtime_permission/application_submit';
|
|
19184
19118
|
|
|
19185
|
-
export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, CREATE_USER_MINIPROGRAM_LOCAL_DEV_LAUNCH_TOKEN_API_PATH, DELETE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DETAIL_USER_MINIPROGRAM_API_PATH, DETAIL_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DEVELOPER_ENTITY_LIST_API_PATH, DEVELOPER_ENTITY_SWITCH_API_PATH, LIST_USER_MINIPROGRAM_API_PATH, LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH, LIST_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH, LIST_USER_MINIPROGRAM_VERSION_API_PATH, MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES, MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES, MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, MINIAPP_UPLOAD_BATCH_SIZE, MINIAPP_UPLOAD_SCOPE, MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES, PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH, RELEASE_USER_MINIPROGRAM_VERSION_API_PATH, REOPEN_USER_MINIPROGRAM_API_PATH, SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH, SUBMIT_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH, TAKE_DOWN_USER_MINIPROGRAM_API_PATH, UPDATE_SQUARE_DISPLAY_API_PATH, UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_ACCESS_STATUS_API_PATH, USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_VERSION_PREVIEW_INFO_API_PATH, WITHDRAW_USER_MINIPROGRAM_VERSION_API_PATH, createMiniappArtifactFileHeader, createMiniappArtifactSignatureHeader, getMiniProgramUploadAlias, getMiniappMetadataWarnings,
|
|
19119
|
+
export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, CREATE_USER_MINIPROGRAM_LOCAL_DEV_LAUNCH_TOKEN_API_PATH, DELETE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DETAIL_USER_MINIPROGRAM_API_PATH, DETAIL_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DEVELOPER_ENTITY_LIST_API_PATH, DEVELOPER_ENTITY_SWITCH_API_PATH, LIST_USER_MINIPROGRAM_API_PATH, LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH, LIST_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH, LIST_USER_MINIPROGRAM_VERSION_API_PATH, MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES, MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES, MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, MINIAPP_UPLOAD_BATCH_SIZE, MINIAPP_UPLOAD_SCOPE, MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES, PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH, RELEASE_USER_MINIPROGRAM_VERSION_API_PATH, REOPEN_USER_MINIPROGRAM_API_PATH, SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH, SUBMIT_USER_MINIPROGRAM_PERMISSION_APPLICATION_API_PATH, TAKE_DOWN_USER_MINIPROGRAM_API_PATH, UPDATE_SQUARE_DISPLAY_API_PATH, UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_ACCESS_STATUS_API_PATH, USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_VERSION_PREVIEW_INFO_API_PATH, WITHDRAW_USER_MINIPROGRAM_VERSION_API_PATH, createMiniappArtifactFileHeader, createMiniappArtifactSignatureHeader, getMiniProgramUploadAlias, getMiniappMetadataWarnings, hasMiniappRuntimeGate, isValidMiniappManifestVersion as isValidVersion, normalizeBasicInfoName, normalizeRelativePath, parseMiniappBasicInfo, parseMiniappBindAppIds, parseMiniappCategory, prepareMiniappArtifactFiles, previewMiniappBasicInfo, relativePathContainsNodeModulesSegment, resolveMiniappManifestPlatforms, resolveMiniappUploadSessionFiles, shouldUploadDistFile, validateMiniappCompanionFileReceipts, validateMiniappManifestForDeploy, validateMiniappUploadPathLengths, validateMiniappUploadSizeBudgets, validateMiniappWorkspaceCardFileReceipts, validateUploadTotalSize };
|