@heybox/hb-sdk 0.5.18 → 0.6.0
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/README.md +29 -25
- package/dist/cli-chunks/{create-OZOIdeBz.cjs → create-DYb53EQ-.cjs} +1 -1
- package/dist/cli-chunks/{dev-DXz8izSJ.cjs → dev-CPKTuA6q.cjs} +35 -6
- package/dist/cli-chunks/{doctor-DjMSJoQ5.cjs → doctor-TshFvqHC.cjs} +1 -1
- package/dist/cli-chunks/{index-CsOcGUzF.cjs → index-CCeHouBU.cjs} +21 -16
- package/dist/cli-chunks/{index-Cl5HFTBW.cjs → index-NOO3q8_C.cjs} +3 -3
- package/dist/cli-chunks/{login-Ct-46gLx.cjs → login-DtXHSm8R.cjs} +2 -2
- package/dist/cli-chunks/remote-BWfn7qIN.cjs +9915 -0
- package/dist/cli-chunks/{context-CKJlNcSN.cjs → sdk-version-policy-B1CFC1Dk.cjs} +122 -1
- package/dist/cli-chunks/{session-dRGPpyS1.cjs → session-DIcRjyDY.cjs} +2 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/mock-host/index.html +40 -0
- package/dist/devtools/mock-host/main.js +85 -0
- package/dist/index.cjs.js +232 -4
- package/dist/index.esm.js +233 -3
- package/dist/miniapp-publish.cjs.js +4 -0
- package/dist/miniapp-publish.esm.js +4 -1
- package/dist/protocol.cjs.js +9 -0
- package/dist/protocol.esm.js +7 -1
- package/dist/vite.cjs.js +9159 -22
- package/dist/vite.esm.js +9159 -23
- package/package.json +19 -7
- package/skill/SKILL.md +23 -23
- package/skill/references/api-protocol.md +11 -2
- package/skill/references/api-root.md +145 -19
- package/skill/references/cli.md +13 -15
- package/skill/references/recipes.md +12 -44
- package/skill/references/safety-boundaries.md +1 -2
- package/skill/scripts/sync-references.mjs +2 -2
- package/skill/skill.json +4 -4
- package/types/cli/auth/base-url.d.ts +20 -0
- package/types/cli/config.d.ts +11 -0
- package/types/core/client.d.ts +7 -0
- package/types/core/csp-violation.d.ts +5 -0
- package/types/core/history-observer.d.ts +4 -0
- package/types/core/version.d.ts +2 -0
- package/types/index.d.ts +0 -2
- package/types/miniapp-manifest/schema.d.ts +6 -1
- package/types/miniapp-manifest/sdk-version-policy.d.ts +9 -0
- package/types/miniapp-publish/index.d.ts +1 -0
- package/types/protocol/constants.d.ts +6 -0
- package/types/protocol/types.d.ts +45 -0
- package/types/protocol.d.ts +2 -2
- package/types/vite/html-policy.d.ts +4 -0
- package/types/vite/index.d.ts +23 -3
- package/types/vite/runtime-gate.d.ts +5 -0
- package/types/vite/sdk-version-gate.d.ts +8 -0
- package/dist/cli-chunks/remote-C77axNSw.cjs +0 -1604
package/dist/index.esm.js
CHANGED
|
@@ -70,6 +70,54 @@ class HbMiniProgramNetworkError extends Error {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
/** 将浏览器 CSP 事件转换为不包含原始 URL 敏感部分的 bridge 载荷。 */
|
|
74
|
+
async function createCSPViolationPayload(event, baseHref, sdkVersion, cryptoImplementation) {
|
|
75
|
+
const { pathnameForHash, ...blockedResource } = normalizeBlockedResource(event.blockedURI, baseHref);
|
|
76
|
+
return {
|
|
77
|
+
effectiveDirective: event.effectiveDirective,
|
|
78
|
+
violatedDirective: event.violatedDirective,
|
|
79
|
+
disposition: event.disposition,
|
|
80
|
+
...blockedResource,
|
|
81
|
+
sanitizedPathnameHash: pathnameForHash
|
|
82
|
+
? await hashPathname(pathnameForHash, cryptoImplementation)
|
|
83
|
+
: undefined,
|
|
84
|
+
sdkVersion,
|
|
85
|
+
timestamp: Date.now(),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function normalizeBlockedResource(blockedURI, baseHref) {
|
|
89
|
+
if (blockedURI === 'inline' || blockedURI === 'eval' || blockedURI === 'wasm-eval') {
|
|
90
|
+
return {
|
|
91
|
+
blockedResourceType: blockedURI === 'inline' ? 'inline' : 'eval',
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
if (!blockedURI) {
|
|
95
|
+
return { blockedResourceType: 'unknown' };
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
const url = new URL(blockedURI, baseHref);
|
|
99
|
+
const segmentCount = url.pathname.split('/').filter(Boolean).length;
|
|
100
|
+
return {
|
|
101
|
+
blockedResourceType: 'url',
|
|
102
|
+
blockedOrigin: url.origin === 'null' ? undefined : url.origin,
|
|
103
|
+
redactedPathname: segmentCount === 0 ? '/' : `/${Array(segmentCount).fill(':segment').join('/')}`,
|
|
104
|
+
pathnameForHash: url.pathname,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return { blockedResourceType: 'unknown' };
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async function hashPathname(pathname, cryptoImplementation) {
|
|
112
|
+
try {
|
|
113
|
+
const digest = await cryptoImplementation.subtle.digest('SHA-256', new TextEncoder().encode(pathname));
|
|
114
|
+
return Array.from(new Uint8Array(digest), value => value.toString(16).padStart(2, '0')).join('');
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
73
121
|
/** SDK 内部事件总线,负责管理沙盒生命周期与业务事件监听。 */
|
|
74
122
|
class MiniProgramEventBus {
|
|
75
123
|
eventHandlers = new Map();
|
|
@@ -103,6 +151,100 @@ class MiniProgramEventBus {
|
|
|
103
151
|
}
|
|
104
152
|
}
|
|
105
153
|
|
|
154
|
+
const historyObservers = new WeakMap();
|
|
155
|
+
/** 共享同一个 History patch,并在最后一个订阅者退出时精确恢复原属性。 */
|
|
156
|
+
function subscribeHistoryChanges(history, listener) {
|
|
157
|
+
let state = historyObservers.get(history);
|
|
158
|
+
if (!state) {
|
|
159
|
+
state = createHistoryObserver(history);
|
|
160
|
+
if (!state) {
|
|
161
|
+
return () => undefined;
|
|
162
|
+
}
|
|
163
|
+
historyObservers.set(history, state);
|
|
164
|
+
}
|
|
165
|
+
state.listeners.add(listener);
|
|
166
|
+
let active = true;
|
|
167
|
+
return () => {
|
|
168
|
+
if (!active) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
active = false;
|
|
172
|
+
state.listeners.delete(listener);
|
|
173
|
+
if (state.listeners.size === 0) {
|
|
174
|
+
restoreHistoryObserver(history, state);
|
|
175
|
+
historyObservers.delete(history);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
function createHistoryObserver(history) {
|
|
180
|
+
const listeners = new Set();
|
|
181
|
+
const originalPushState = readOriginalMethod(history, 'pushState');
|
|
182
|
+
const originalReplaceState = readOriginalMethod(history, 'replaceState');
|
|
183
|
+
const notify = () => {
|
|
184
|
+
[...listeners].forEach(currentListener => {
|
|
185
|
+
try {
|
|
186
|
+
currentListener();
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
// 单个 SDK 诊断失败不能影响 History API 或其他订阅者。
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
const patchedPushState = (...args) => {
|
|
194
|
+
originalPushState.value.apply(history, args);
|
|
195
|
+
notify();
|
|
196
|
+
};
|
|
197
|
+
const patchedReplaceState = (...args) => {
|
|
198
|
+
originalReplaceState.value.apply(history, args);
|
|
199
|
+
notify();
|
|
200
|
+
};
|
|
201
|
+
const state = {
|
|
202
|
+
listeners,
|
|
203
|
+
originalPushState,
|
|
204
|
+
originalReplaceState,
|
|
205
|
+
patchedPushState,
|
|
206
|
+
patchedReplaceState,
|
|
207
|
+
};
|
|
208
|
+
try {
|
|
209
|
+
definePatchedMethod(history, 'pushState', patchedPushState, originalPushState.descriptor);
|
|
210
|
+
definePatchedMethod(history, 'replaceState', patchedReplaceState, originalReplaceState.descriptor);
|
|
211
|
+
return state;
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
restoreHistoryObserver(history, state);
|
|
215
|
+
return undefined;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
function readOriginalMethod(history, name) {
|
|
219
|
+
return {
|
|
220
|
+
descriptor: Object.getOwnPropertyDescriptor(history, name),
|
|
221
|
+
value: history[name],
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
function definePatchedMethod(history, name, value, originalDescriptor) {
|
|
225
|
+
Object.defineProperty(history, name, {
|
|
226
|
+
configurable: true,
|
|
227
|
+
enumerable: originalDescriptor?.enumerable ?? false,
|
|
228
|
+
writable: true,
|
|
229
|
+
value,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
function restoreHistoryObserver(history, state) {
|
|
233
|
+
restoreMethod(history, 'pushState', state.patchedPushState, state.originalPushState);
|
|
234
|
+
restoreMethod(history, 'replaceState', state.patchedReplaceState, state.originalReplaceState);
|
|
235
|
+
}
|
|
236
|
+
function restoreMethod(history, name, patchedValue, original) {
|
|
237
|
+
if (history[name] !== patchedValue) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
if (original.descriptor) {
|
|
241
|
+
Object.defineProperty(history, name, original.descriptor);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
delete history[name];
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
106
248
|
/** 小程序沙盒通信命名空间,父容器与 iframe 内 SDK 必须保持一致。 */
|
|
107
249
|
const MINI_PROGRAM_MESSAGE_NAMESPACE = 'heybox:miniprogram';
|
|
108
250
|
/** 小程序沙盒通信协议版本。 */
|
|
@@ -111,6 +253,12 @@ const MINI_PROGRAM_MESSAGE_VERSION = 1;
|
|
|
111
253
|
const MINI_PROGRAM_BRIDGE_NONCE_PARAM = 'hb_mini_bridge_nonce';
|
|
112
254
|
/** SDK 初始化时发给父容器的握手方法名。 */
|
|
113
255
|
const SDK_HANDSHAKE_METHOD = 'sdk.handshake';
|
|
256
|
+
/** Runtime 主动探测 SDK 当前文档地址的内部方法名。 */
|
|
257
|
+
const RUNTIME_LOCATION_PROBE_METHOD = 'runtime.location.probe';
|
|
258
|
+
/** SDK 向 Runtime 报告当前文档地址的内部方法名。 */
|
|
259
|
+
const SDK_LOCATION_REPORT_METHOD = 'sdk.location.report';
|
|
260
|
+
/** SDK 向 Runtime 报告 CSP 违规的内部方法名。 */
|
|
261
|
+
const SDK_CSP_VIOLATION_METHOD = 'sdk.csp.violation';
|
|
114
262
|
|
|
115
263
|
/** 获取浏览器全局 window。 */
|
|
116
264
|
function getGlobalWindow() {
|
|
@@ -170,6 +318,11 @@ function createMessageId() {
|
|
|
170
318
|
return `${Date.now().toString(36)}_${Math.random().toString(36).slice(2)}`;
|
|
171
319
|
}
|
|
172
320
|
|
|
321
|
+
/** 构建时替换为当前发布包的实际版本。 */
|
|
322
|
+
const HB_SDK_VERSION = typeof undefined === 'string'
|
|
323
|
+
? undefined
|
|
324
|
+
: '0.6.0';
|
|
325
|
+
|
|
173
326
|
/**
|
|
174
327
|
* 判断未知数据是否符合小程序 bridge 消息信封。
|
|
175
328
|
*
|
|
@@ -199,6 +352,13 @@ class MiniProgramBridgeClient {
|
|
|
199
352
|
pendingRequests = new Map();
|
|
200
353
|
eventBus = new MiniProgramEventBus();
|
|
201
354
|
handleMessage;
|
|
355
|
+
handlePopState = () => this.postLocationReport('popstate');
|
|
356
|
+
handleHashChange = () => this.postLocationReport('hashchange');
|
|
357
|
+
handlePageShow = () => this.postLocationReport('pageshow');
|
|
358
|
+
handleSecurityPolicyViolation = (event) => {
|
|
359
|
+
this.postCSPViolation(event);
|
|
360
|
+
};
|
|
361
|
+
unsubscribeHistoryChanges;
|
|
202
362
|
started = false;
|
|
203
363
|
readySettled = false;
|
|
204
364
|
readyPromise;
|
|
@@ -286,6 +446,12 @@ class MiniProgramBridgeClient {
|
|
|
286
446
|
destroy() {
|
|
287
447
|
this.destroyed = true;
|
|
288
448
|
this.selfWindow?.removeEventListener('message', this.handleMessage);
|
|
449
|
+
this.selfWindow?.removeEventListener('popstate', this.handlePopState);
|
|
450
|
+
this.selfWindow?.removeEventListener('hashchange', this.handleHashChange);
|
|
451
|
+
this.selfWindow?.removeEventListener('pageshow', this.handlePageShow);
|
|
452
|
+
this.selfWindow?.removeEventListener('securitypolicyviolation', this.handleSecurityPolicyViolation);
|
|
453
|
+
this.unsubscribeHistoryChanges?.();
|
|
454
|
+
this.unsubscribeHistoryChanges = undefined;
|
|
289
455
|
const error = createSDKError('SDK_DESTROYED', '小程序 SDK 已销毁');
|
|
290
456
|
this.failReady(error);
|
|
291
457
|
this.rejectAllPending(error);
|
|
@@ -312,6 +478,13 @@ class MiniProgramBridgeClient {
|
|
|
312
478
|
return;
|
|
313
479
|
}
|
|
314
480
|
this.selfWindow.addEventListener('message', this.handleMessage);
|
|
481
|
+
this.selfWindow.addEventListener('popstate', this.handlePopState);
|
|
482
|
+
this.selfWindow.addEventListener('hashchange', this.handleHashChange);
|
|
483
|
+
this.selfWindow.addEventListener('pageshow', this.handlePageShow);
|
|
484
|
+
this.selfWindow.addEventListener('securitypolicyviolation', this.handleSecurityPolicyViolation);
|
|
485
|
+
this.unsubscribeHistoryChanges = subscribeHistoryChanges(this.selfWindow.history, () => {
|
|
486
|
+
this.postLocationReport('history');
|
|
487
|
+
});
|
|
315
488
|
this.readyTimer = setTimeout(() => {
|
|
316
489
|
this.failReady(createSDKError('READY_TIMEOUT', '小程序沙盒握手超时'));
|
|
317
490
|
}, this.timeout);
|
|
@@ -348,11 +521,12 @@ class MiniProgramBridgeClient {
|
|
|
348
521
|
payload: {
|
|
349
522
|
href: this.selfWindow.location.href,
|
|
350
523
|
userAgent: this.selfWindow.navigator.userAgent,
|
|
524
|
+
sdkVersion: HB_SDK_VERSION,
|
|
351
525
|
},
|
|
352
526
|
});
|
|
353
527
|
}
|
|
354
528
|
onMessage(event) {
|
|
355
|
-
if (event.source
|
|
529
|
+
if (event.source !== this.targetWindow) {
|
|
356
530
|
return;
|
|
357
531
|
}
|
|
358
532
|
if (!isMiniProgramBridgeMessage(event.data) || event.data.nonce !== this.nonce) {
|
|
@@ -364,6 +538,59 @@ class MiniProgramBridgeClient {
|
|
|
364
538
|
}
|
|
365
539
|
if (event.data.type === 'response') {
|
|
366
540
|
this.handleResponse(event.data);
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
if (event.data.type === 'request' && event.data.method === RUNTIME_LOCATION_PROBE_METHOD) {
|
|
544
|
+
const payload = event.data.payload;
|
|
545
|
+
if (typeof payload?.probeId === 'string') {
|
|
546
|
+
this.postLocationReport('probe', payload.probeId);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
postLocationReport(trigger, probeId) {
|
|
551
|
+
if (this.destroyed || !this.selfWindow) {
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
554
|
+
try {
|
|
555
|
+
this.postMessage({
|
|
556
|
+
namespace: MINI_PROGRAM_MESSAGE_NAMESPACE,
|
|
557
|
+
version: MINI_PROGRAM_MESSAGE_VERSION,
|
|
558
|
+
nonce: this.nonce,
|
|
559
|
+
type: 'event',
|
|
560
|
+
method: SDK_LOCATION_REPORT_METHOD,
|
|
561
|
+
payload: {
|
|
562
|
+
probeId,
|
|
563
|
+
href: this.selfWindow.location.href,
|
|
564
|
+
sdkVersion: HB_SDK_VERSION,
|
|
565
|
+
trigger,
|
|
566
|
+
timestamp: Date.now(),
|
|
567
|
+
},
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
catch {
|
|
571
|
+
// 内部诊断消息失败不能改变 Mini-program 自身的导航语义。
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
async postCSPViolation(event) {
|
|
575
|
+
if (!this.selfWindow) {
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
try {
|
|
579
|
+
const payload = await createCSPViolationPayload(event, this.selfWindow.location.href, HB_SDK_VERSION, this.selfWindow.crypto);
|
|
580
|
+
if (this.destroyed) {
|
|
581
|
+
return;
|
|
582
|
+
}
|
|
583
|
+
this.postMessage({
|
|
584
|
+
namespace: MINI_PROGRAM_MESSAGE_NAMESPACE,
|
|
585
|
+
version: MINI_PROGRAM_MESSAGE_VERSION,
|
|
586
|
+
nonce: this.nonce,
|
|
587
|
+
type: 'event',
|
|
588
|
+
method: SDK_CSP_VIOLATION_METHOD,
|
|
589
|
+
payload,
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
catch {
|
|
593
|
+
// CSP 违规已经由浏览器阻断,诊断发送失败不影响页面继续降级运行。
|
|
367
594
|
}
|
|
368
595
|
}
|
|
369
596
|
handleEvent(message) {
|
|
@@ -374,6 +601,9 @@ class MiniProgramBridgeClient {
|
|
|
374
601
|
else if (eventName === 'ready' && !this.runtimeUnavailable) {
|
|
375
602
|
this.resolveReadyOnce();
|
|
376
603
|
}
|
|
604
|
+
else if (eventName === 'show' && !this.runtimeUnavailable) {
|
|
605
|
+
this.postLocationReport('resume');
|
|
606
|
+
}
|
|
377
607
|
this.eventBus.emit(eventName, message.payload);
|
|
378
608
|
}
|
|
379
609
|
handleResponse(message) {
|
|
@@ -1116,7 +1346,7 @@ function createMiniProgramSDK(options) {
|
|
|
1116
1346
|
return new MiniProgramSDK(options);
|
|
1117
1347
|
}
|
|
1118
1348
|
|
|
1119
|
-
let defaultSDK =
|
|
1349
|
+
let defaultSDK = createMiniProgramSDK();
|
|
1120
1350
|
function getDefaultSDK() {
|
|
1121
1351
|
if (!defaultSDK) {
|
|
1122
1352
|
defaultSDK = createMiniProgramSDK();
|
|
@@ -1228,4 +1458,4 @@ const hbSDK = {
|
|
|
1228
1458
|
cloud,
|
|
1229
1459
|
};
|
|
1230
1460
|
|
|
1231
|
-
export { HbMiniProgramNetworkError, HbMiniProgramSDKError,
|
|
1461
|
+
export { HbMiniProgramNetworkError, HbMiniProgramSDKError, auth, cloud, hbSDK as default, device, navigation, network, off, on, ready, share, storage, ui, user, viewport };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const APIUserMiniprogramPublicSdkConfigPath = '/user_miniprogram/public/sdk_config';
|
|
4
|
+
|
|
3
5
|
var re = {exports: {}};
|
|
4
6
|
|
|
5
7
|
var constants;
|
|
@@ -2813,6 +2815,7 @@ const MINIAPP_UPLOAD_SCOPE = 'activity';
|
|
|
2813
2815
|
const ACTIVITY_UPLOAD_KEY_MAX_LENGTH = 64;
|
|
2814
2816
|
const MINIAPP_UPLOAD_BATCH_SIZE = 50;
|
|
2815
2817
|
const MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES = 100 * 1024 * 1024;
|
|
2818
|
+
const PUBLIC_USER_MINIPROGRAM_SDK_CONFIG_API_PATH = APIUserMiniprogramPublicSdkConfigPath;
|
|
2816
2819
|
const USER_MINIPROGRAM_ACCESS_STATUS_API_PATH = '/mall/developer/user_miniprogram/access_status';
|
|
2817
2820
|
const DEVELOPER_ENTITY_LIST_API_PATH = '/mall/developer/entity/list';
|
|
2818
2821
|
const DEVELOPER_ENTITY_SWITCH_API_PATH = '/mall/developer/entity/switch';
|
|
@@ -2918,6 +2921,7 @@ exports.MINIAPP_UPLOAD_BATCH_SIZE = MINIAPP_UPLOAD_BATCH_SIZE;
|
|
|
2918
2921
|
exports.MINIAPP_UPLOAD_SCOPE = MINIAPP_UPLOAD_SCOPE;
|
|
2919
2922
|
exports.MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES = MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES;
|
|
2920
2923
|
exports.PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH = PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH;
|
|
2924
|
+
exports.PUBLIC_USER_MINIPROGRAM_SDK_CONFIG_API_PATH = PUBLIC_USER_MINIPROGRAM_SDK_CONFIG_API_PATH;
|
|
2921
2925
|
exports.RELEASE_USER_MINIPROGRAM_VERSION_API_PATH = RELEASE_USER_MINIPROGRAM_VERSION_API_PATH;
|
|
2922
2926
|
exports.REOPEN_USER_MINIPROGRAM_API_PATH = REOPEN_USER_MINIPROGRAM_API_PATH;
|
|
2923
2927
|
exports.SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH = SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
const APIUserMiniprogramPublicSdkConfigPath = '/user_miniprogram/public/sdk_config';
|
|
2
|
+
|
|
1
3
|
var re = {exports: {}};
|
|
2
4
|
|
|
3
5
|
var constants;
|
|
@@ -2811,6 +2813,7 @@ const MINIAPP_UPLOAD_SCOPE = 'activity';
|
|
|
2811
2813
|
const ACTIVITY_UPLOAD_KEY_MAX_LENGTH = 64;
|
|
2812
2814
|
const MINIAPP_UPLOAD_BATCH_SIZE = 50;
|
|
2813
2815
|
const MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES = 100 * 1024 * 1024;
|
|
2816
|
+
const PUBLIC_USER_MINIPROGRAM_SDK_CONFIG_API_PATH = APIUserMiniprogramPublicSdkConfigPath;
|
|
2814
2817
|
const USER_MINIPROGRAM_ACCESS_STATUS_API_PATH = '/mall/developer/user_miniprogram/access_status';
|
|
2815
2818
|
const DEVELOPER_ENTITY_LIST_API_PATH = '/mall/developer/entity/list';
|
|
2816
2819
|
const DEVELOPER_ENTITY_SWITCH_API_PATH = '/mall/developer/entity/switch';
|
|
@@ -2901,4 +2904,4 @@ function shouldUploadDistFile(relativePath) {
|
|
|
2901
2904
|
return true;
|
|
2902
2905
|
}
|
|
2903
2906
|
|
|
2904
|
-
export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_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_VERSION_API_PATH, 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, 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, getMiniProgramUploadAlias, getMiniappUploadKey, isValidMiniappManifestVersion as isValidVersion, normalizeRelativePath, relativePathContainsNodeModulesSegment, shouldUploadDistFile, validateUploadPaths, validateUploadTotalSize };
|
|
2907
|
+
export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_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_VERSION_API_PATH, MINIAPP_UPLOAD_BATCH_SIZE, MINIAPP_UPLOAD_SCOPE, MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES, PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH, PUBLIC_USER_MINIPROGRAM_SDK_CONFIG_API_PATH, RELEASE_USER_MINIPROGRAM_VERSION_API_PATH, REOPEN_USER_MINIPROGRAM_API_PATH, SUBMIT_USER_MINIPROGRAM_AUDIT_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, getMiniProgramUploadAlias, getMiniappUploadKey, isValidMiniappManifestVersion as isValidVersion, normalizeRelativePath, relativePathContainsNodeModulesSegment, shouldUploadDistFile, validateUploadPaths, validateUploadTotalSize };
|
package/dist/protocol.cjs.js
CHANGED
|
@@ -8,6 +8,12 @@ const MINI_PROGRAM_MESSAGE_VERSION = 1;
|
|
|
8
8
|
const MINI_PROGRAM_BRIDGE_NONCE_PARAM = 'hb_mini_bridge_nonce';
|
|
9
9
|
/** SDK 初始化时发给父容器的握手方法名。 */
|
|
10
10
|
const SDK_HANDSHAKE_METHOD = 'sdk.handshake';
|
|
11
|
+
/** Runtime 主动探测 SDK 当前文档地址的内部方法名。 */
|
|
12
|
+
const RUNTIME_LOCATION_PROBE_METHOD = 'runtime.location.probe';
|
|
13
|
+
/** SDK 向 Runtime 报告当前文档地址的内部方法名。 */
|
|
14
|
+
const SDK_LOCATION_REPORT_METHOD = 'sdk.location.report';
|
|
15
|
+
/** SDK 向 Runtime 报告 CSP 违规的内部方法名。 */
|
|
16
|
+
const SDK_CSP_VIOLATION_METHOD = 'sdk.csp.violation';
|
|
11
17
|
|
|
12
18
|
/**
|
|
13
19
|
* 判断未知数据是否符合小程序 bridge 消息信封。
|
|
@@ -339,7 +345,10 @@ exports.NAVIGATION_CLOSE_METHOD = NAVIGATION_CLOSE_METHOD;
|
|
|
339
345
|
exports.NAVIGATION_OPEN_APP_PAGE_METHOD = NAVIGATION_OPEN_APP_PAGE_METHOD;
|
|
340
346
|
exports.NAVIGATION_RELOAD_METHOD = NAVIGATION_RELOAD_METHOD;
|
|
341
347
|
exports.NETWORK_REQUEST_METHOD = NETWORK_REQUEST_METHOD;
|
|
348
|
+
exports.RUNTIME_LOCATION_PROBE_METHOD = RUNTIME_LOCATION_PROBE_METHOD;
|
|
349
|
+
exports.SDK_CSP_VIOLATION_METHOD = SDK_CSP_VIOLATION_METHOD;
|
|
342
350
|
exports.SDK_HANDSHAKE_METHOD = SDK_HANDSHAKE_METHOD;
|
|
351
|
+
exports.SDK_LOCATION_REPORT_METHOD = SDK_LOCATION_REPORT_METHOD;
|
|
343
352
|
exports.SHARE_SCREENSHOT_METHOD = SHARE_SCREENSHOT_METHOD;
|
|
344
353
|
exports.SHARE_SHOW_SHARE_MENU_METHOD = SHARE_SHOW_SHARE_MENU_METHOD;
|
|
345
354
|
exports.STORAGE_GET_STORAGE_METHOD = STORAGE_GET_STORAGE_METHOD;
|
package/dist/protocol.esm.js
CHANGED
|
@@ -6,6 +6,12 @@ const MINI_PROGRAM_MESSAGE_VERSION = 1;
|
|
|
6
6
|
const MINI_PROGRAM_BRIDGE_NONCE_PARAM = 'hb_mini_bridge_nonce';
|
|
7
7
|
/** SDK 初始化时发给父容器的握手方法名。 */
|
|
8
8
|
const SDK_HANDSHAKE_METHOD = 'sdk.handshake';
|
|
9
|
+
/** Runtime 主动探测 SDK 当前文档地址的内部方法名。 */
|
|
10
|
+
const RUNTIME_LOCATION_PROBE_METHOD = 'runtime.location.probe';
|
|
11
|
+
/** SDK 向 Runtime 报告当前文档地址的内部方法名。 */
|
|
12
|
+
const SDK_LOCATION_REPORT_METHOD = 'sdk.location.report';
|
|
13
|
+
/** SDK 向 Runtime 报告 CSP 违规的内部方法名。 */
|
|
14
|
+
const SDK_CSP_VIOLATION_METHOD = 'sdk.csp.violation';
|
|
9
15
|
|
|
10
16
|
/**
|
|
11
17
|
* 判断未知数据是否符合小程序 bridge 消息信封。
|
|
@@ -321,4 +327,4 @@ const MINI_PROGRAM_PROTOCOL_CAPABILITIES = [
|
|
|
321
327
|
},
|
|
322
328
|
];
|
|
323
329
|
|
|
324
|
-
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, SDK_HANDSHAKE_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_CURRENT_USER_DETAIL_METHOD, USER_GET_CURRENT_USER_PROFILE_METHOD, USER_GET_INFO_METHOD, USER_GET_PLATFORM_ACCOUNT_INFO_METHOD, USER_GET_PLATFORM_ACCOUNT_OVERVIEW_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isMiniProgramBridgeMessage };
|
|
330
|
+
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_CURRENT_USER_DETAIL_METHOD, USER_GET_CURRENT_USER_PROFILE_METHOD, USER_GET_INFO_METHOD, USER_GET_PLATFORM_ACCOUNT_INFO_METHOD, USER_GET_PLATFORM_ACCOUNT_OVERVIEW_METHOD, USER_GET_STEAM_GAME_LIST_METHOD, VIEWPORT_GET_WINDOW_INFO_METHOD, VIEWPORT_SET_NAVIGATION_BAR_STYLE_METHOD, isMiniProgramBridgeMessage };
|