@wevu/api 0.1.1 → 0.2.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/dist/index.mjs CHANGED
@@ -71,7 +71,6 @@ function detectGlobalAdapter() {
71
71
  }
72
72
  return {};
73
73
  }
74
-
75
74
  //#endregion
76
75
  //#region src/core/utils.ts
77
76
  function isPlainObject(value) {
@@ -88,18 +87,1231 @@ function isEventMethod(name) {
88
87
  return /^on[A-Z]/.test(name) || /^off[A-Z]/.test(name);
89
88
  }
90
89
  function shouldSkipPromise(name) {
91
- return isSyncMethod(name) || isEventMethod(name);
90
+ return isSyncMethod(name) || isEventMethod(name) || name === "createInterstitialAd" || name === "createRewardedVideoAd" || name === "createVKSession" || name === "createCameraContext" || name === "cancelIdleCallback" || name === "nextTick" || name === "getLogManager" || name === "reportAnalytics";
92
91
  }
93
92
  function createNotSupportedError(methodName, platform) {
94
93
  return { errMsg: `${platform ? `${platform}.${methodName}` : methodName}:fail method not supported` };
95
94
  }
96
-
97
95
  //#endregion
98
- //#region src/core/methodMapping.ts
96
+ //#region src/core/callBridge.ts
97
+ function resolveOptionsArg$1(args) {
98
+ const nextArgs = args.slice();
99
+ const lastArg = nextArgs.length > 0 ? nextArgs[nextArgs.length - 1] : void 0;
100
+ if (isPlainObject(lastArg)) {
101
+ const options = { ...lastArg };
102
+ nextArgs[nextArgs.length - 1] = options;
103
+ return {
104
+ args: nextArgs,
105
+ options
106
+ };
107
+ }
108
+ const options = {};
109
+ nextArgs.push(options);
110
+ return {
111
+ args: nextArgs,
112
+ options
113
+ };
114
+ }
115
+ /**
116
+ * @description 将错误按小程序回调风格分发;若无回调则返回 reject Promise。
117
+ */
118
+ function callWithError(error, args) {
119
+ const lastArg = args.length > 0 ? args[args.length - 1] : void 0;
120
+ if (hasCallbacks(lastArg)) {
121
+ lastArg.fail?.(error);
122
+ lastArg.complete?.(error);
123
+ return;
124
+ }
125
+ return Promise.reject(error);
126
+ }
127
+ /**
128
+ * @description 统一 Promise 调用桥接,支持在 options/runtime result 阶段注入 hook。
129
+ */
130
+ function callWithPromise(context, method, args, mapResult, hooks) {
131
+ return new Promise((resolve, reject) => {
132
+ const { args: nextArgs, options } = resolveOptionsArg$1(args);
133
+ let settled = false;
134
+ options.success = (res) => {
135
+ settled = true;
136
+ resolve(mapResult ? mapResult(res, args) : res);
137
+ };
138
+ options.fail = (err) => {
139
+ settled = true;
140
+ reject(err);
141
+ };
142
+ options.complete = (res) => {
143
+ if (!settled) resolve(mapResult ? mapResult(res, args) : res);
144
+ };
145
+ try {
146
+ hooks?.onOptions?.(options, nextArgs);
147
+ const invoke = () => {
148
+ try {
149
+ const invokeResult = method.apply(context, nextArgs);
150
+ hooks?.onInvokeResult?.(invokeResult);
151
+ return invokeResult;
152
+ } catch (err) {
153
+ hooks?.onInvokeError?.(err);
154
+ reject(err);
155
+ return;
156
+ }
157
+ };
158
+ if (hooks?.invoke) hooks.invoke(invoke);
159
+ else invoke();
160
+ } catch (err) {
161
+ hooks?.onInvokeError?.(err);
162
+ reject(err);
163
+ }
164
+ });
165
+ }
166
+ /**
167
+ * @description 处理方法缺失时的回调/Promise 行为。
168
+ */
169
+ function callMissingApi(methodName, platform, args) {
170
+ return callWithError(createNotSupportedError(methodName, platform), args);
171
+ }
172
+ //#endregion
173
+ //#region src/core/apiCatalog/myMethodsAddPhoneContactToOnGyroscopeChange.ts
174
+ /**
175
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
176
+ * @generated by scripts/sync-api-catalog.mjs
177
+ */
178
+ const WEAPI_MY_METHODS_ADD_PHONE_CONTACT_TO_ON_GYROSCOPE_CHANGE = [
179
+ "addPhoneContact",
180
+ "alert",
181
+ "arrayBufferToBase64",
182
+ "base64ToArrayBuffer",
183
+ "calculateRoute",
184
+ "call",
185
+ "cancelBluetoothPair",
186
+ "canIUse",
187
+ "canvasToTempFilePath",
188
+ "checkBeforeAddOrder",
189
+ "checkIsIfaaEnrolledInDevice",
190
+ "checkIsSupportIfaaAuthentication",
191
+ "chooseAlipayContact",
192
+ "chooseCity",
193
+ "chooseContact",
194
+ "chooseDistrict",
195
+ "chooseImage",
196
+ "chooseLocation",
197
+ "choosePhoneContact",
198
+ "chooseVideo",
199
+ "clearStorage",
200
+ "clearStorageSync",
201
+ "closeBluetoothAdapter",
202
+ "closeSocket",
203
+ "compressImage",
204
+ "confirm",
205
+ "connectBLEDevice",
206
+ "connectSocket",
207
+ "connectWifi",
208
+ "createAnimation",
209
+ "createCanvasContext",
210
+ "createInnerAudioContext",
211
+ "createIntersectionObserver",
212
+ "createLottieContext",
213
+ "createMapContext",
214
+ "createOffscreenCanvas",
215
+ "createRewardedAd",
216
+ "createSelectorQuery",
217
+ "createVideoContext",
218
+ "createWebViewContext",
219
+ "createWorker",
220
+ "datePicker",
221
+ "detectFileType",
222
+ "disableAlertBeforeUnload",
223
+ "disconnectBLEDevice",
224
+ "downloadFile",
225
+ "enableAlertBeforeUnload",
226
+ "exitMiniProgram",
227
+ "generateImageFromCode",
228
+ "getAccessibilityManager",
229
+ "getAccountInfoSync",
230
+ "getAddress",
231
+ "getAppAuthorizeSetting",
232
+ "getAppBaseInfo",
233
+ "getAppIdSync",
234
+ "getAuthCode",
235
+ "getAvailableAudioSources",
236
+ "getBackgroundAudioManager",
237
+ "getBackgroundFetchData",
238
+ "getBatteryInfo",
239
+ "getBatteryInfoSync",
240
+ "getBeacons",
241
+ "getBLEDeviceCharacteristics",
242
+ "getBLEDeviceRSSI",
243
+ "getBLEDeviceServices",
244
+ "getBLEDeviceStatus",
245
+ "getBLEMTU",
246
+ "getBluetoothAdapterState",
247
+ "getBluetoothDevices",
248
+ "getBluetoothPairs",
249
+ "getClipboard",
250
+ "getConnectedBluetoothDevices",
251
+ "getConnectedWifi",
252
+ "getEnterOptionsSync",
253
+ "getExtConfig",
254
+ "getExtConfigSync",
255
+ "getFileInfo",
256
+ "getFileSystemManager",
257
+ "getGeocoder",
258
+ "getImageInfo",
259
+ "getLaunchOptionsSync",
260
+ "getLeftButtonsBoundingClientRect",
261
+ "getLocalIPAddress",
262
+ "getLocation",
263
+ "getMapInfo",
264
+ "getMenuButtonBoundingClientRect",
265
+ "getNetworkType",
266
+ "getOpenUserInfo",
267
+ "getParentAppId",
268
+ "getParentAppIdSync",
269
+ "getPhoneNumber",
270
+ "getPluginIdSync",
271
+ "getRecorderManager",
272
+ "getRunData",
273
+ "getRunScene",
274
+ "getSavedFileInfo",
275
+ "getSavedFileList",
276
+ "getScreenBrightness",
277
+ "getServerTime",
278
+ "getSetting",
279
+ "getStorage",
280
+ "getStorageInfo",
281
+ "getStorageInfoSync",
282
+ "getStorageSync",
283
+ "getSystemInfo",
284
+ "getSystemInfoSync",
285
+ "getSystemSetting",
286
+ "getTitleColor",
287
+ "getUpdateManager",
288
+ "getVideoInfo",
289
+ "getWifiList",
290
+ "getWindowInfo",
291
+ "hideAddToDesktopMenu",
292
+ "hideAllAddToDesktopMenu",
293
+ "hideBackHome",
294
+ "hideKeyboard",
295
+ "hideLoading",
296
+ "hideNavigationBarLoading",
297
+ "hideShareMenu",
298
+ "hideTabBar",
299
+ "hideTabBarRedDot",
300
+ "hideToast",
301
+ "isScreenReaderEnabled",
302
+ "loadFontFace",
303
+ "loadPlugin",
304
+ "makeBluetoothPair",
305
+ "makePhoneCall",
306
+ "multiLevelSelect",
307
+ "navigateBack",
308
+ "navigateBackMiniProgram",
309
+ "navigateTo",
310
+ "navigateToMiniProgram",
311
+ "notifyBLECharacteristicValueChange",
312
+ "off",
313
+ "offAccelerometerChange",
314
+ "offAppHide",
315
+ "offAppShow",
316
+ "offAudioInterruptionBegin",
317
+ "offAudioInterruptionEnd",
318
+ "offBeaconServiceChange",
319
+ "offBeaconUpdate",
320
+ "offBLECharacteristicValueChange",
321
+ "offBLEConnectionStateChanged",
322
+ "offBluetoothAdapterStateChange",
323
+ "offBluetoothDeviceFound",
324
+ "offCompassChange",
325
+ "offComponentError",
326
+ "offDeviceMotionChange",
327
+ "offError",
328
+ "offGetWifiList",
329
+ "offGyroscopeChange",
330
+ "offLocatedComplete",
331
+ "offMemoryWarning",
332
+ "offNetworkStatusChange",
333
+ "offPageNotFound",
334
+ "offSocketClose",
335
+ "offSocketError",
336
+ "offSocketMessage",
337
+ "offSocketOpen",
338
+ "offUnhandledRejection",
339
+ "offUserCaptureScreen",
340
+ "offWifiConnected",
341
+ "on",
342
+ "onAccelerometerChange",
343
+ "onAppHide",
344
+ "onAppShow",
345
+ "onAudioInterruptionBegin",
346
+ "onAudioInterruptionEnd",
347
+ "onBeaconServiceChange",
348
+ "onBeaconUpdate",
349
+ "onBLECharacteristicValueChange",
350
+ "onBLEConnectionStateChanged",
351
+ "onBluetoothAdapterStateChange",
352
+ "onBluetoothDeviceFound",
353
+ "onCompassChange",
354
+ "onComponentError",
355
+ "onDeviceMotionChange",
356
+ "onError",
357
+ "onGetWifiList",
358
+ "onGyroscopeChange"
359
+ ];
360
+ //#endregion
361
+ //#region src/core/apiCatalog/myMethodsOnLocatedCompleteToWriteBLECharacteristicValue.ts
362
+ /**
363
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
364
+ * @generated by scripts/sync-api-catalog.mjs
365
+ */
366
+ const WEAPI_MY_METHODS_ON_LOCATED_COMPLETE_TO_WRITE_BLECHARACTERISTIC_VALUE = [
367
+ "onLocatedComplete",
368
+ "onMemoryWarning",
369
+ "onNetworkStatusChange",
370
+ "onPageNotFound",
371
+ "onSocketClose",
372
+ "onSocketError",
373
+ "onSocketMessage",
374
+ "onSocketOpen",
375
+ "onUnhandledRejection",
376
+ "onUserCaptureScreen",
377
+ "onWifiConnected",
378
+ "openBluetoothAdapter",
379
+ "openDocument",
380
+ "openKBVoucherDetail",
381
+ "openLocation",
382
+ "openMerchantTicketList",
383
+ "openMerchantVoucherList",
384
+ "openOtherApp",
385
+ "openSetting",
386
+ "openTicketDetail",
387
+ "openTicketList",
388
+ "openVoucherDetail",
389
+ "openVoucherList",
390
+ "optionsSelect",
391
+ "pageScrollTo",
392
+ "paySignCenter",
393
+ "previewImage",
394
+ "prompt",
395
+ "readBLECharacteristicValue",
396
+ "redirectTo",
397
+ "regionPicker",
398
+ "registerSSID",
399
+ "reLaunch",
400
+ "removeSavedFile",
401
+ "removeStorage",
402
+ "removeStorageSync",
403
+ "removeTabBarBadge",
404
+ "request",
405
+ "requestSubscribeMessage",
406
+ "rsa",
407
+ "saveFile",
408
+ "saveFileToDisk",
409
+ "saveImage",
410
+ "saveImageToPhotosAlbum",
411
+ "saveVideoToPhotosAlbum",
412
+ "scan",
413
+ "sendSocketMessage",
414
+ "setBackgroundColor",
415
+ "setBackgroundTextStyle",
416
+ "setBLEMTU",
417
+ "setCanPullDown",
418
+ "setClipboard",
419
+ "setKeepScreenOn",
420
+ "setLocatedCity",
421
+ "setNavigationBar",
422
+ "setNavigationBarBottomLineColor",
423
+ "setNavigationBarColor",
424
+ "setNavigationBarTitle",
425
+ "setScreenBrightness",
426
+ "setStorage",
427
+ "setStorageSync",
428
+ "setTabBarBadge",
429
+ "setTabBarItem",
430
+ "setTabBarStyle",
431
+ "setVisualEffectOnCapture",
432
+ "setWifiList",
433
+ "showActionSheet",
434
+ "showAuthGuide",
435
+ "showBLEPermissionGuide",
436
+ "showLoading",
437
+ "showModal",
438
+ "showNavigationBarLoading",
439
+ "showShareMenu",
440
+ "showSharePanel",
441
+ "showTabBar",
442
+ "showTabBarRedDot",
443
+ "showToast",
444
+ "startAccelerometer",
445
+ "startAPVerify",
446
+ "startBeaconDiscovery",
447
+ "startBluetoothDevicesDiscovery",
448
+ "startCompass",
449
+ "startGyroscope",
450
+ "startIfaaAuthentication",
451
+ "startPullDownRefresh",
452
+ "startWifi",
453
+ "stopAccelerometer",
454
+ "stopBeaconDiscovery",
455
+ "stopBluetoothDevicesDiscovery",
456
+ "stopCompass",
457
+ "stopGyroscope",
458
+ "stopPullDownRefresh",
459
+ "stopWifi",
460
+ "switchTab",
461
+ "tradePay",
462
+ "unregisterSSID",
463
+ "unsubscribeMessage",
464
+ "uploadFile",
465
+ "vibrate",
466
+ "vibrateLong",
467
+ "vibrateShort",
468
+ "watchShake",
469
+ "writeBLECharacteristicValue"
470
+ ];
471
+ //#endregion
472
+ //#region src/core/apiCatalog/myMethods.ts
473
+ /**
474
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
475
+ * @generated by scripts/sync-api-catalog.mjs
476
+ */
477
+ const WEAPI_MY_METHODS = [...WEAPI_MY_METHODS_ADD_PHONE_CONTACT_TO_ON_GYROSCOPE_CHANGE, ...WEAPI_MY_METHODS_ON_LOCATED_COMPLETE_TO_WRITE_BLECHARACTERISTIC_VALUE];
478
+ //#endregion
479
+ //#region src/core/apiCatalog/ttMethodsApplyEcCouponToUnsubscribeAllSpecifiedUserComment.ts
480
+ /**
481
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
482
+ * @generated by scripts/sync-api-catalog.mjs
483
+ */
484
+ const WEAPI_TT_METHODS_APPLY_EC_COUPON_TO_UNSUBSCRIBE_ALL_SPECIFIED_USER_COMMENT = [
485
+ "applyEcCoupon",
486
+ "applyRefund",
487
+ "arrayBufferToBase64",
488
+ "authorize",
489
+ "base64ToArrayBuffer",
490
+ "canIPutStuffOverComponent",
491
+ "canIUse",
492
+ "canvasToTempFilePath",
493
+ "checkFollowAwemeState",
494
+ "checkFollowState",
495
+ "checkSession",
496
+ "chooseAddress",
497
+ "chooseImage",
498
+ "chooseLocation",
499
+ "chooseMedia",
500
+ "clearStorage",
501
+ "clearStorageSync",
502
+ "completePaySync",
503
+ "completeRefundSync",
504
+ "compressImage",
505
+ "connectSocket",
506
+ "continueToPay",
507
+ "createAnimation",
508
+ "createBytennEngineContext",
509
+ "createCanvasContext",
510
+ "createCloud",
511
+ "createInnerAudioContext",
512
+ "createIntersectionObserver",
513
+ "createInterstitialAd",
514
+ "createLivePlayerContext",
515
+ "createMapContext",
516
+ "createMediaRecorder",
517
+ "createMerchantOrder",
518
+ "createOffscreenCanvas",
519
+ "createOrder",
520
+ "createRefundOrder",
521
+ "createRewardedVideoAd",
522
+ "createRtcRoomContext",
523
+ "createSelectorQuery",
524
+ "createStickerManager",
525
+ "createVideoContext",
526
+ "createWorker",
527
+ "downloadFile",
528
+ "exitMiniProgram",
529
+ "followAwemeUser",
530
+ "followOfficialAccount",
531
+ "getAnalysisInfo",
532
+ "getBackgroundAudioManager",
533
+ "getClipboardData",
534
+ "getConnectedWifi",
535
+ "getCustomButtonBoundingClientRect",
536
+ "getEnvInfoSync",
537
+ "getExtConfig",
538
+ "getExtConfigSync",
539
+ "getFileInfo",
540
+ "getFileSystemManager",
541
+ "getImageInfo",
542
+ "getLaunchOptionsSync",
543
+ "getLiveUserInfo",
544
+ "getLocation",
545
+ "getMenuButtonBoundingClientRect",
546
+ "getMenuButtonLayout",
547
+ "getMicroappInfo",
548
+ "getRecorderManager",
549
+ "getRefundOrder",
550
+ "getRoomInfo",
551
+ "getSavedFileList",
552
+ "getScreenBrightness",
553
+ "getSelfCommentCountDuringPluginRunning",
554
+ "getSetting",
555
+ "getShopRecordToken",
556
+ "getSidebarActivity",
557
+ "getStorage",
558
+ "getStorageInfo",
559
+ "getStorageInfoSync",
560
+ "getStorageSync",
561
+ "getSystemInfo",
562
+ "getSystemInfoSync",
563
+ "getUpdateManager",
564
+ "getUserInfo",
565
+ "getUserProfile",
566
+ "getWifiList",
567
+ "hideHomeButton",
568
+ "hideInteractionBar",
569
+ "hideKeyboard",
570
+ "hideLoading",
571
+ "hideNavigationBarLoading",
572
+ "hideShareMenu",
573
+ "hideTabBar",
574
+ "hideTabBarRedDot",
575
+ "hideToast",
576
+ "isFollowingAnchor",
577
+ "login",
578
+ "makePhoneCall",
579
+ "navigateBack",
580
+ "navigateBackMiniProgram",
581
+ "navigateTo",
582
+ "navigateToMiniProgram",
583
+ "navigateToScene",
584
+ "navigateToVideoView",
585
+ "offAppHide",
586
+ "offAppShow",
587
+ "offCompassChange",
588
+ "offError",
589
+ "offGetWifiList",
590
+ "offLazyLoadError",
591
+ "offNetworkStatusChange",
592
+ "offPageNotFound",
593
+ "offUnhandledRejection",
594
+ "offUserCaptureScreen",
595
+ "offWindowResize",
596
+ "onAccelerometerChange",
597
+ "onAppHide",
598
+ "onAppShow",
599
+ "onCompassChange",
600
+ "onError",
601
+ "onGetWifiList",
602
+ "onLazyLoadError",
603
+ "onMemoryWarning",
604
+ "onNetworkStatusChange",
605
+ "onPageNotFound",
606
+ "onReceiveAudiencesFollowAction",
607
+ "onReceiveSpecifiedComment",
608
+ "onUnhandledRejection",
609
+ "onUserCaptureScreen",
610
+ "onWindowResize",
611
+ "openAwemeUserProfile",
612
+ "openLocation",
613
+ "openSetting",
614
+ "pageScrollTo",
615
+ "pay",
616
+ "preloadDrawAd",
617
+ "prerenderVideo",
618
+ "previewImage",
619
+ "redirectTo",
620
+ "reLaunch",
621
+ "removeSavedFile",
622
+ "removeStorage",
623
+ "removeStorageSync",
624
+ "removeTabBarBadge",
625
+ "reportAnalytics",
626
+ "request",
627
+ "requestSubscribeMessage",
628
+ "saveFile",
629
+ "saveImageToPhotosAlbum",
630
+ "scanCode",
631
+ "setClipboardData",
632
+ "setKeepScreenOn",
633
+ "setNavigationBarColor",
634
+ "setNavigationBarTitle",
635
+ "setScreenBrightness",
636
+ "setStorage",
637
+ "setStorageSync",
638
+ "setTabBarBadge",
639
+ "setTabBarItem",
640
+ "setTabBarStyle",
641
+ "showActionSheet",
642
+ "showDouyinOpenAuth",
643
+ "showFavoriteGuide",
644
+ "showInteractionBar",
645
+ "showLoading",
646
+ "showModal",
647
+ "showNavigationBarLoading",
648
+ "showShareMenu",
649
+ "showTabBar",
650
+ "showTabBarRedDot",
651
+ "showToast",
652
+ "startAccelerometer",
653
+ "startCompass",
654
+ "startPullDownRefresh",
655
+ "stopAccelerometer",
656
+ "stopCompass",
657
+ "stopPullDownRefresh",
658
+ "submitEcCustomGoods",
659
+ "subscribeAudiencesFollowAction",
660
+ "subscribeSpecifiedContentComment",
661
+ "subscribeSpecifiedUserComment",
662
+ "switchTab",
663
+ "unsubscribeAllSpecifiedContentComment",
664
+ "unsubscribeAllSpecifiedUserComment"
665
+ ];
666
+ //#endregion
667
+ //#region src/core/apiCatalog/ttMethodsUnsubscribeAudiencesFollowActionToVibrateShort.ts
668
+ /**
669
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
670
+ * @generated by scripts/sync-api-catalog.mjs
671
+ */
672
+ const WEAPI_TT_METHODS_UNSUBSCRIBE_AUDIENCES_FOLLOW_ACTION_TO_VIBRATE_SHORT = [
673
+ "unsubscribeAudiencesFollowAction",
674
+ "updateExitGuideWindowInfo",
675
+ "updateShopMemberPoints",
676
+ "updateSidebarActivity",
677
+ "uploadFile",
678
+ "vibrateLong",
679
+ "vibrateShort"
680
+ ];
681
+ //#endregion
682
+ //#region src/core/apiCatalog/ttMethods.ts
683
+ /**
684
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
685
+ * @generated by scripts/sync-api-catalog.mjs
686
+ */
687
+ const WEAPI_TT_METHODS = [...WEAPI_TT_METHODS_APPLY_EC_COUPON_TO_UNSUBSCRIBE_ALL_SPECIFIED_USER_COMMENT, ...WEAPI_TT_METHODS_UNSUBSCRIBE_AUDIENCES_FOLLOW_ACTION_TO_VIBRATE_SHORT];
688
+ //#endregion
689
+ //#region src/core/apiCatalog/wxMethodsAddCardToJoinVoIPChat.ts
690
+ /**
691
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
692
+ * @generated by scripts/sync-api-catalog.mjs
693
+ */
694
+ const WEAPI_WX_METHODS_ADD_CARD_TO_JOIN_VO_IPCHAT = [
695
+ "addCard",
696
+ "addFileToFavorites",
697
+ "addPaymentPassFinish",
698
+ "addPaymentPassGetCertificateData",
699
+ "addPhoneCalendar",
700
+ "addPhoneContact",
701
+ "addPhoneRepeatCalendar",
702
+ "addVideoToFavorites",
703
+ "arrayBufferToBase64",
704
+ "authorize",
705
+ "authorizeForMiniProgram",
706
+ "authPrivateMessage",
707
+ "base64ToArrayBuffer",
708
+ "batchGetStorage",
709
+ "batchGetStorageSync",
710
+ "batchSetStorage",
711
+ "batchSetStorageSync",
712
+ "bindEmployeeRelation",
713
+ "canAddSecureElementPass",
714
+ "cancelIdleCallback",
715
+ "canIUse",
716
+ "canvasGetImageData",
717
+ "canvasPutImageData",
718
+ "canvasToTempFilePath",
719
+ "checkDeviceSupportHevc",
720
+ "checkEmployeeRelation",
721
+ "checkIsAddedToMyMiniProgram",
722
+ "checkIsOpenAccessibility",
723
+ "checkIsPictureInPictureActive",
724
+ "checkIsSoterEnrolledInDevice",
725
+ "checkIsSupportSoterAuthentication",
726
+ "checkSession",
727
+ "chooseAddress",
728
+ "chooseContact",
729
+ "chooseImage",
730
+ "chooseInvoice",
731
+ "chooseInvoiceTitle",
732
+ "chooseLicensePlate",
733
+ "chooseLocation",
734
+ "chooseMedia",
735
+ "chooseMessageFile",
736
+ "choosePoi",
737
+ "chooseVideo",
738
+ "clearStorage",
739
+ "clearStorageSync",
740
+ "closeBLEConnection",
741
+ "closeBluetoothAdapter",
742
+ "closeSocket",
743
+ "compressImage",
744
+ "compressVideo",
745
+ "connectSocket",
746
+ "connectWifi",
747
+ "createAnimation",
748
+ "createAudioContext",
749
+ "createBLEConnection",
750
+ "createBLEPeripheralServer",
751
+ "createBufferURL",
752
+ "createCacheManager",
753
+ "createCameraContext",
754
+ "createCanvasContext",
755
+ "createGlobalPayment",
756
+ "createInferenceSession",
757
+ "createInnerAudioContext",
758
+ "createIntersectionObserver",
759
+ "createInterstitialAd",
760
+ "createLivePlayerContext",
761
+ "createLivePusherContext",
762
+ "createMapContext",
763
+ "createMediaAudioPlayer",
764
+ "createMediaContainer",
765
+ "createMediaRecorder",
766
+ "createOffscreenCanvas",
767
+ "createRewardedVideoAd",
768
+ "createSelectorQuery",
769
+ "createTCPSocket",
770
+ "createUDPSocket",
771
+ "createVideoContext",
772
+ "createVideoDecoder",
773
+ "createVKSession",
774
+ "createWebAudioContext",
775
+ "createWorker",
776
+ "cropImage",
777
+ "disableAlertBeforeUnload",
778
+ "downloadFile",
779
+ "editImage",
780
+ "enableAlertBeforeUnload",
781
+ "exitMiniProgram",
782
+ "exitVoIPChat",
783
+ "faceDetect",
784
+ "getAccountInfoSync",
785
+ "getApiCategory",
786
+ "getAppAuthorizeSetting",
787
+ "getAppBaseInfo",
788
+ "getAvailableAudioSources",
789
+ "getBackgroundAudioManager",
790
+ "getBackgroundAudioPlayerState",
791
+ "getBackgroundFetchData",
792
+ "getBackgroundFetchToken",
793
+ "getBatteryInfo",
794
+ "getBatteryInfoSync",
795
+ "getBeacons",
796
+ "getBLEDeviceCharacteristics",
797
+ "getBLEDeviceRSSI",
798
+ "getBLEDeviceServices",
799
+ "getBLEMTU",
800
+ "getBluetoothAdapterState",
801
+ "getBluetoothDevices",
802
+ "getChannelsLiveInfo",
803
+ "getChannelsLiveNoticeInfo",
804
+ "getChannelsShareKey",
805
+ "getChatToolInfo",
806
+ "getClipboardData",
807
+ "getCommonConfig",
808
+ "getConnectedBluetoothDevices",
809
+ "getConnectedWifi",
810
+ "getDeviceBenchmarkInfo",
811
+ "getDeviceInfo",
812
+ "getDeviceVoIPList",
813
+ "getEnterOptionsSync",
814
+ "getExptInfoSync",
815
+ "getExtConfig",
816
+ "getExtConfigSync",
817
+ "getFileSystemManager",
818
+ "getFuzzyLocation",
819
+ "getGroupEnterInfo",
820
+ "getHCEState",
821
+ "getImageInfo",
822
+ "getInferenceEnvInfo",
823
+ "getLaunchOptionsSync",
824
+ "getLocalIPAddress",
825
+ "getLocation",
826
+ "getLogManager",
827
+ "getMenuButtonBoundingClientRect",
828
+ "getNetworkType",
829
+ "getNFCAdapter",
830
+ "getPerformance",
831
+ "getPrivacySetting",
832
+ "getRandomValues",
833
+ "getRealtimeLogManager",
834
+ "getRecorderManager",
835
+ "getRendererUserAgent",
836
+ "getScreenBrightness",
837
+ "getScreenRecordingState",
838
+ "getSecureElementPasses",
839
+ "getSelectedTextRange",
840
+ "getSetting",
841
+ "getShareInfo",
842
+ "getShowSplashAdStatus",
843
+ "getSkylineInfo",
844
+ "getSkylineInfoSync",
845
+ "getStorage",
846
+ "getStorageInfo",
847
+ "getStorageInfoSync",
848
+ "getStorageSync",
849
+ "getSystemInfo",
850
+ "getSystemInfoAsync",
851
+ "getSystemInfoSync",
852
+ "getSystemSetting",
853
+ "getUpdateManager",
854
+ "getUserCryptoManager",
855
+ "getUserInfo",
856
+ "getUserProfile",
857
+ "getVideoInfo",
858
+ "getWeRunData",
859
+ "getWifiList",
860
+ "getWindowInfo",
861
+ "getXrFrameSystem",
862
+ "hideHomeButton",
863
+ "hideKeyboard",
864
+ "hideLoading",
865
+ "hideNavigationBarLoading",
866
+ "hideShareMenu",
867
+ "hideTabBar",
868
+ "hideTabBarRedDot",
869
+ "hideToast",
870
+ "initFaceDetect",
871
+ "isBluetoothDevicePaired",
872
+ "isVKSupport",
873
+ "join1v1Chat",
874
+ "joinVoIPChat"
875
+ ];
876
+ //#endregion
877
+ //#region src/core/apiCatalog/wxMethodsLoadBuiltInFontFaceToPreloadAssets.ts
878
+ /**
879
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
880
+ * @generated by scripts/sync-api-catalog.mjs
881
+ */
882
+ const WEAPI_WX_METHODS_LOAD_BUILT_IN_FONT_FACE_TO_PRELOAD_ASSETS = [
883
+ "loadBuiltInFontFace",
884
+ "loadFontFace",
885
+ "login",
886
+ "makeBluetoothPair",
887
+ "makePhoneCall",
888
+ "navigateBack",
889
+ "navigateBackMiniProgram",
890
+ "navigateTo",
891
+ "navigateToMiniProgram",
892
+ "nextTick",
893
+ "notifyBLECharacteristicValueChange",
894
+ "notifyGroupMembers",
895
+ "offAccelerometerChange",
896
+ "offAfterPageLoad",
897
+ "offAfterPageUnload",
898
+ "offApiCategoryChange",
899
+ "offAppHide",
900
+ "offAppRoute",
901
+ "offAppRouteDone",
902
+ "offAppShow",
903
+ "offAudioInterruptionBegin",
904
+ "offAudioInterruptionEnd",
905
+ "offBatteryInfoChange",
906
+ "offBeaconServiceChange",
907
+ "offBeaconUpdate",
908
+ "offBeforeAppRoute",
909
+ "offBeforePageLoad",
910
+ "offBeforePageUnload",
911
+ "offBLECharacteristicValueChange",
912
+ "offBLEConnectionStateChange",
913
+ "offBLEMTUChange",
914
+ "offBLEPeripheralConnectionStateChanged",
915
+ "offBluetoothAdapterStateChange",
916
+ "offBluetoothDeviceFound",
917
+ "offCompassChange",
918
+ "offCopyUrl",
919
+ "offDeviceMotionChange",
920
+ "offEmbeddedMiniProgramHeightChange",
921
+ "offError",
922
+ "offGeneratePoster",
923
+ "offGetWifiList",
924
+ "offGyroscopeChange",
925
+ "offHCEMessage",
926
+ "offKeyboardHeightChange",
927
+ "offKeyDown",
928
+ "offKeyUp",
929
+ "offLazyLoadError",
930
+ "offLocalServiceDiscoveryStop",
931
+ "offLocalServiceFound",
932
+ "offLocalServiceLost",
933
+ "offLocalServiceResolveFail",
934
+ "offLocationChange",
935
+ "offLocationChangeError",
936
+ "offMemoryWarning",
937
+ "offMenuButtonBoundingClientRectWeightChange",
938
+ "offNetworkStatusChange",
939
+ "offNetworkWeakChange",
940
+ "offOnUserTriggerTranslation",
941
+ "offPageNotFound",
942
+ "offParallelStateChange",
943
+ "offScreenRecordingStateChanged",
944
+ "offThemeChange",
945
+ "offUnhandledRejection",
946
+ "offUserCaptureScreen",
947
+ "offVoIPChatInterrupted",
948
+ "offVoIPChatMembersChanged",
949
+ "offVoIPChatSpeakersChanged",
950
+ "offVoIPChatStateChanged",
951
+ "offVoIPVideoMembersChanged",
952
+ "offWifiConnected",
953
+ "offWifiConnectedWithPartialInfo",
954
+ "offWindowResize",
955
+ "offWindowStateChange",
956
+ "onAccelerometerChange",
957
+ "onAfterPageLoad",
958
+ "onAfterPageUnload",
959
+ "onApiCategoryChange",
960
+ "onAppHide",
961
+ "onAppRoute",
962
+ "onAppRouteDone",
963
+ "onAppShow",
964
+ "onAudioInterruptionBegin",
965
+ "onAudioInterruptionEnd",
966
+ "onBackgroundAudioPause",
967
+ "onBackgroundAudioPlay",
968
+ "onBackgroundAudioStop",
969
+ "onBackgroundFetchData",
970
+ "onBatteryInfoChange",
971
+ "onBeaconServiceChange",
972
+ "onBeaconUpdate",
973
+ "onBeforeAppRoute",
974
+ "onBeforePageLoad",
975
+ "onBeforePageUnload",
976
+ "onBLECharacteristicValueChange",
977
+ "onBLEConnectionStateChange",
978
+ "onBLEMTUChange",
979
+ "onBLEPeripheralConnectionStateChanged",
980
+ "onBluetoothAdapterStateChange",
981
+ "onBluetoothDeviceFound",
982
+ "onCompassChange",
983
+ "onCopyUrl",
984
+ "onDeviceMotionChange",
985
+ "onEmbeddedMiniProgramHeightChange",
986
+ "onError",
987
+ "onGeneratePoster",
988
+ "onGetWifiList",
989
+ "onGyroscopeChange",
990
+ "onHCEMessage",
991
+ "onKeyboardHeightChange",
992
+ "onKeyDown",
993
+ "onKeyUp",
994
+ "onLazyLoadError",
995
+ "onLocalServiceDiscoveryStop",
996
+ "onLocalServiceFound",
997
+ "onLocalServiceLost",
998
+ "onLocalServiceResolveFail",
999
+ "onLocationChange",
1000
+ "onLocationChangeError",
1001
+ "onMemoryWarning",
1002
+ "onMenuButtonBoundingClientRectWeightChange",
1003
+ "onNeedPrivacyAuthorization",
1004
+ "onNetworkStatusChange",
1005
+ "onNetworkWeakChange",
1006
+ "onOnUserTriggerTranslation",
1007
+ "onPageNotFound",
1008
+ "onParallelStateChange",
1009
+ "onScreenRecordingStateChanged",
1010
+ "onSocketClose",
1011
+ "onSocketError",
1012
+ "onSocketMessage",
1013
+ "onSocketOpen",
1014
+ "onThemeChange",
1015
+ "onUnhandledRejection",
1016
+ "onUserCaptureScreen",
1017
+ "onVoIPChatInterrupted",
1018
+ "onVoIPChatMembersChanged",
1019
+ "onVoIPChatSpeakersChanged",
1020
+ "onVoIPChatStateChanged",
1021
+ "onVoIPVideoMembersChanged",
1022
+ "onWifiConnected",
1023
+ "onWifiConnectedWithPartialInfo",
1024
+ "onWindowResize",
1025
+ "onWindowStateChange",
1026
+ "openAppAuthorizeSetting",
1027
+ "openBluetoothAdapter",
1028
+ "openCard",
1029
+ "openChannelsActivity",
1030
+ "openChannelsEvent",
1031
+ "openChannelsLive",
1032
+ "openChannelsLiveNoticeInfo",
1033
+ "openChannelsUserProfile",
1034
+ "openChatTool",
1035
+ "openCustomerServiceChat",
1036
+ "openDocument",
1037
+ "openEmbeddedMiniProgram",
1038
+ "openHKOfflinePayView",
1039
+ "openInquiriesTopic",
1040
+ "openLocation",
1041
+ "openOfficialAccountArticle",
1042
+ "openOfficialAccountChat",
1043
+ "openOfficialAccountProfile",
1044
+ "openPrivacyContract",
1045
+ "openSetting",
1046
+ "openSingleStickerView",
1047
+ "openStickerIPView",
1048
+ "openStickerSetView",
1049
+ "openStoreCouponDetail",
1050
+ "openStoreOrderDetail",
1051
+ "openSystemBluetoothSetting",
1052
+ "openVideoEditor",
1053
+ "pageScrollTo",
1054
+ "pauseBackgroundAudio",
1055
+ "pauseVoice",
1056
+ "playBackgroundAudio",
1057
+ "playVoice",
1058
+ "pluginLogin",
1059
+ "postMessageToReferrerMiniProgram",
1060
+ "postMessageToReferrerPage",
1061
+ "preDownloadSubpackage",
1062
+ "preloadAssets"
1063
+ ];
1064
+ //#endregion
1065
+ //#region src/core/apiCatalog/wxMethodsPreloadSkylineViewToWriteBLECharacteristicValue.ts
1066
+ /**
1067
+ * @description 三端 API 名单(由 typings 自动提取,请勿手工修改)
1068
+ * @generated by scripts/sync-api-catalog.mjs
1069
+ */
1070
+ const WEAPI_WX_METHODS_PRELOAD_SKYLINE_VIEW_TO_WRITE_BLECHARACTERISTIC_VALUE = [
1071
+ "preloadSkylineView",
1072
+ "preloadWebview",
1073
+ "previewImage",
1074
+ "previewMedia",
1075
+ "readBLECharacteristicValue",
1076
+ "redirectTo",
1077
+ "reLaunch",
1078
+ "removeSecureElementPass",
1079
+ "removeStorage",
1080
+ "removeStorageSync",
1081
+ "removeTabBarBadge",
1082
+ "reportAnalytics",
1083
+ "reportEvent",
1084
+ "reportMonitor",
1085
+ "reportPerformance",
1086
+ "request",
1087
+ "requestCommonPayment",
1088
+ "requestDeviceVoIP",
1089
+ "requestIdleCallback",
1090
+ "requestMerchantTransfer",
1091
+ "requestOrderPayment",
1092
+ "requestPayment",
1093
+ "requestPluginPayment",
1094
+ "requestSubscribeDeviceMessage",
1095
+ "requestSubscribeEmployeeMessage",
1096
+ "requestSubscribeMessage",
1097
+ "requestVirtualPayment",
1098
+ "requirePrivacyAuthorize",
1099
+ "reserveChannelsLive",
1100
+ "restartMiniProgram",
1101
+ "revokeBufferURL",
1102
+ "rewriteRoute",
1103
+ "saveFileToDisk",
1104
+ "saveImageToPhotosAlbum",
1105
+ "saveVideoToPhotosAlbum",
1106
+ "scanCode",
1107
+ "seekBackgroundAudio",
1108
+ "selectGroupMembers",
1109
+ "sendHCEMessage",
1110
+ "sendSms",
1111
+ "sendSocketMessage",
1112
+ "setBackgroundColor",
1113
+ "setBackgroundFetchToken",
1114
+ "setBackgroundTextStyle",
1115
+ "setBLEMTU",
1116
+ "setClipboardData",
1117
+ "setEnable1v1Chat",
1118
+ "setEnableDebug",
1119
+ "setInnerAudioOption",
1120
+ "setKeepScreenOn",
1121
+ "setNavigationBarColor",
1122
+ "setNavigationBarTitle",
1123
+ "setScreenBrightness",
1124
+ "setStorage",
1125
+ "setStorageSync",
1126
+ "setTabBarBadge",
1127
+ "setTabBarItem",
1128
+ "setTabBarStyle",
1129
+ "setTopBarText",
1130
+ "setVisualEffectOnCapture",
1131
+ "setWifiList",
1132
+ "setWindowSize",
1133
+ "shareAppMessageToGroup",
1134
+ "shareEmojiToGroup",
1135
+ "shareFileMessage",
1136
+ "shareFileToGroup",
1137
+ "shareImageToGroup",
1138
+ "shareToOfficialAccount",
1139
+ "shareToWeRun",
1140
+ "shareVideoMessage",
1141
+ "shareVideoToGroup",
1142
+ "showActionSheet",
1143
+ "showLoading",
1144
+ "showModal",
1145
+ "showNavigationBarLoading",
1146
+ "showRedPackage",
1147
+ "showShareImageMenu",
1148
+ "showShareMenu",
1149
+ "showTabBar",
1150
+ "showTabBarRedDot",
1151
+ "showToast",
1152
+ "startAccelerometer",
1153
+ "startBeaconDiscovery",
1154
+ "startBluetoothDevicesDiscovery",
1155
+ "startCompass",
1156
+ "startDeviceMotionListening",
1157
+ "startGyroscope",
1158
+ "startHCE",
1159
+ "startLocalServiceDiscovery",
1160
+ "startLocationUpdate",
1161
+ "startLocationUpdateBackground",
1162
+ "startPullDownRefresh",
1163
+ "startRecord",
1164
+ "startSoterAuthentication",
1165
+ "startWifi",
1166
+ "stopAccelerometer",
1167
+ "stopBackgroundAudio",
1168
+ "stopBeaconDiscovery",
1169
+ "stopBluetoothDevicesDiscovery",
1170
+ "stopCompass",
1171
+ "stopDeviceMotionListening",
1172
+ "stopFaceDetect",
1173
+ "stopGyroscope",
1174
+ "stopHCE",
1175
+ "stopLocalServiceDiscovery",
1176
+ "stopLocationUpdate",
1177
+ "stopPullDownRefresh",
1178
+ "stopRecord",
1179
+ "stopVoice",
1180
+ "stopWifi",
1181
+ "subscribeVoIPVideoMembers",
1182
+ "switchTab",
1183
+ "updateShareMenu",
1184
+ "updateVoIPChatMuteConfig",
1185
+ "updateWeChatApp",
1186
+ "uploadFile",
1187
+ "vibrateLong",
1188
+ "vibrateShort",
1189
+ "writeBLECharacteristicValue"
1190
+ ];
1191
+ [
1192
+ ...WEAPI_WX_METHODS_ADD_CARD_TO_JOIN_VO_IPCHAT,
1193
+ ...WEAPI_WX_METHODS_LOAD_BUILT_IN_FONT_FACE_TO_PRELOAD_ASSETS,
1194
+ ...WEAPI_WX_METHODS_PRELOAD_SKYLINE_VIEW_TO_WRITE_BLECHARACTERISTIC_VALUE
1195
+ ];
1196
+ //#endregion
1197
+ //#region src/core/methodMapping/rules/helpersDeviceAndStorage.ts
99
1198
  const PLATFORM_ALIASES$1 = {
100
1199
  alipay: "my",
101
1200
  douyin: "tt"
102
1201
  };
1202
+ function mapSaveFileArgs(args) {
1203
+ if (args.length === 0) return args;
1204
+ const nextArgs = [...args];
1205
+ const lastIndex = nextArgs.length - 1;
1206
+ const lastArg = nextArgs[lastIndex];
1207
+ if (!isPlainObject(lastArg)) return nextArgs;
1208
+ const nextOptions = { ...lastArg };
1209
+ if (!Object.prototype.hasOwnProperty.call(nextOptions, "apFilePath") && Object.prototype.hasOwnProperty.call(nextOptions, "tempFilePath")) nextOptions.apFilePath = nextOptions.tempFilePath;
1210
+ nextArgs[lastIndex] = nextOptions;
1211
+ return nextArgs;
1212
+ }
1213
+ function mapCreateRewardedVideoAdArgs(args) {
1214
+ if (args.length === 0) return args;
1215
+ const nextArgs = [...args];
1216
+ const lastIndex = nextArgs.length - 1;
1217
+ const lastArg = nextArgs[lastIndex];
1218
+ if (!isPlainObject(lastArg)) return nextArgs;
1219
+ if (Object.prototype.hasOwnProperty.call(lastArg, "multiton") && lastArg.multiton === true) throw createNotSupportedError("createRewardedVideoAd", "my");
1220
+ if (Object.prototype.hasOwnProperty.call(lastArg, "disableFallbackSharePage") && lastArg.disableFallbackSharePage === true) throw createNotSupportedError("createRewardedVideoAd", "my");
1221
+ const adUnitId = lastArg.adUnitId;
1222
+ if (typeof adUnitId === "string" && adUnitId.length > 0) nextArgs[lastIndex] = adUnitId;
1223
+ return nextArgs;
1224
+ }
1225
+ function mapRewardedAdInstance(result, args = []) {
1226
+ if (typeof result !== "object" || result === null) return result;
1227
+ const adUnitIdArg = args.length > 0 ? args[args.length - 1] : void 0;
1228
+ const adUnitId = typeof adUnitIdArg === "string" ? adUnitIdArg : void 0;
1229
+ if (!adUnitId) return result;
1230
+ const rewardedAd = result;
1231
+ const wrapMethod = (name) => {
1232
+ const method = rewardedAd[name];
1233
+ if (typeof method !== "function") return method;
1234
+ return (options) => {
1235
+ if (isPlainObject(options)) return method.call(rewardedAd, {
1236
+ ...options,
1237
+ adUnitId
1238
+ });
1239
+ if (options === void 0) return method.call(rewardedAd, { adUnitId });
1240
+ return method.call(rewardedAd, options);
1241
+ };
1242
+ };
1243
+ const nextRewardedAd = Object.create(rewardedAd);
1244
+ nextRewardedAd.destroy = wrapMethod("destroy");
1245
+ nextRewardedAd.load = wrapMethod("load");
1246
+ nextRewardedAd.show = wrapMethod("show");
1247
+ return nextRewardedAd;
1248
+ }
1249
+ function mapCheckIsSoterEnrolledInDeviceArgs(args) {
1250
+ if (args.length === 0) return args;
1251
+ const nextArgs = [...args];
1252
+ const lastArg = nextArgs[nextArgs.length - 1];
1253
+ if (!isPlainObject(lastArg)) return nextArgs;
1254
+ if (lastArg.checkAuthMode === "speech") throw createNotSupportedError("checkIsSoterEnrolledInDevice", "my");
1255
+ return nextArgs;
1256
+ }
1257
+ function mapSoterCheckResult(methodName, result) {
1258
+ if (!isPlainObject(result)) return result;
1259
+ if (Object.prototype.hasOwnProperty.call(result, "errMsg")) return result;
1260
+ return {
1261
+ ...result,
1262
+ errMsg: `${methodName}:ok`
1263
+ };
1264
+ }
1265
+ function toNumberCode(value) {
1266
+ if (typeof value === "number" && Number.isFinite(value)) return value;
1267
+ if (typeof value === "string") {
1268
+ const parsed = Number(value);
1269
+ if (Number.isFinite(parsed)) return parsed;
1270
+ }
1271
+ }
1272
+ function mapBleConnectionResult(methodName, codeKey, result) {
1273
+ if (!isPlainObject(result)) return result;
1274
+ const nextResult = { ...result };
1275
+ if (!Object.prototype.hasOwnProperty.call(nextResult, "errCode")) {
1276
+ const code = toNumberCode(nextResult[codeKey]);
1277
+ if (typeof code === "number") nextResult.errCode = code;
1278
+ }
1279
+ if (!Object.prototype.hasOwnProperty.call(nextResult, "errMsg")) {
1280
+ if (typeof nextResult.errorMessage === "string" && nextResult.errorMessage.length > 0) nextResult.errMsg = nextResult.errorMessage;
1281
+ else if (nextResult.errCode === 0) nextResult.errMsg = `${methodName}:ok`;
1282
+ }
1283
+ return nextResult;
1284
+ }
1285
+ function mapCreateBleConnectionResult(result) {
1286
+ return mapBleConnectionResult("createBLEConnection", "error", result);
1287
+ }
1288
+ function mapCloseBleConnectionResult(result) {
1289
+ return mapBleConnectionResult("closeBLEConnection", "errorCode", result);
1290
+ }
1291
+ function mapSaveFileResult(result) {
1292
+ if (!isPlainObject(result)) return result;
1293
+ if (!Object.prototype.hasOwnProperty.call(result, "savedFilePath") && Object.prototype.hasOwnProperty.call(result, "apFilePath")) return {
1294
+ ...result,
1295
+ savedFilePath: result.apFilePath
1296
+ };
1297
+ return result;
1298
+ }
1299
+ function mapDouyinSaveFileResult(result) {
1300
+ if (!isPlainObject(result)) return result;
1301
+ if (!Object.prototype.hasOwnProperty.call(result, "savedFilePath") && Object.prototype.hasOwnProperty.call(result, "filePath")) return {
1302
+ ...result,
1303
+ savedFilePath: result.filePath
1304
+ };
1305
+ return result;
1306
+ }
1307
+ function normalizePlatformName$1(value) {
1308
+ if (!value) return;
1309
+ const normalized = value.trim().toLowerCase();
1310
+ if (!normalized) return;
1311
+ return PLATFORM_ALIASES$1[normalized] ?? normalized;
1312
+ }
1313
+ //#endregion
1314
+ //#region src/core/methodMapping/rules/helpersUi.ts
103
1315
  function mapToastType(type) {
104
1316
  if (type === "error") return "fail";
105
1317
  if (type === "loading") return "none";
@@ -165,6 +1377,9 @@ function mapModalArgs(args) {
165
1377
  const lastArg = nextArgs[lastIndex];
166
1378
  if (!isPlainObject(lastArg)) return nextArgs;
167
1379
  const nextOptions = { ...lastArg };
1380
+ if (Object.prototype.hasOwnProperty.call(nextOptions, "showCancel") && nextOptions.showCancel === false) throw createNotSupportedError("showModal", "my");
1381
+ if (Object.prototype.hasOwnProperty.call(nextOptions, "editable") && nextOptions.editable === true) throw createNotSupportedError("showModal", "my");
1382
+ if (Object.prototype.hasOwnProperty.call(nextOptions, "placeholderText")) throw createNotSupportedError("showModal", "my");
168
1383
  if (!Object.prototype.hasOwnProperty.call(nextOptions, "confirmButtonText") && Object.prototype.hasOwnProperty.call(nextOptions, "confirmText")) nextOptions.confirmButtonText = nextOptions.confirmText;
169
1384
  if (!Object.prototype.hasOwnProperty.call(nextOptions, "cancelButtonText") && Object.prototype.hasOwnProperty.call(nextOptions, "cancelText")) nextOptions.cancelButtonText = nextOptions.cancelText;
170
1385
  nextArgs[lastIndex] = nextOptions;
@@ -172,11 +1387,17 @@ function mapModalArgs(args) {
172
1387
  }
173
1388
  function mapModalResult(result) {
174
1389
  if (!isPlainObject(result)) return result;
175
- if (!Object.prototype.hasOwnProperty.call(result, "cancel") && Object.prototype.hasOwnProperty.call(result, "confirm")) return {
176
- ...result,
177
- cancel: !result.confirm
178
- };
179
- return result;
1390
+ let changed = false;
1391
+ const nextResult = { ...result };
1392
+ if (!Object.prototype.hasOwnProperty.call(nextResult, "cancel") && Object.prototype.hasOwnProperty.call(nextResult, "confirm")) {
1393
+ nextResult.cancel = !nextResult.confirm;
1394
+ changed = true;
1395
+ }
1396
+ if (!Object.prototype.hasOwnProperty.call(nextResult, "content")) {
1397
+ nextResult.content = "";
1398
+ changed = true;
1399
+ }
1400
+ return changed ? nextResult : result;
180
1401
  }
181
1402
  function mapChooseImageResult(result) {
182
1403
  if (!isPlainObject(result)) return result;
@@ -207,39 +1428,8 @@ function mapDouyinChooseImageResult(result) {
207
1428
  }
208
1429
  return result;
209
1430
  }
210
- function mapSaveFileArgs(args) {
211
- if (args.length === 0) return args;
212
- const nextArgs = [...args];
213
- const lastIndex = nextArgs.length - 1;
214
- const lastArg = nextArgs[lastIndex];
215
- if (!isPlainObject(lastArg)) return nextArgs;
216
- const nextOptions = { ...lastArg };
217
- if (!Object.prototype.hasOwnProperty.call(nextOptions, "apFilePath") && Object.prototype.hasOwnProperty.call(nextOptions, "tempFilePath")) nextOptions.apFilePath = nextOptions.tempFilePath;
218
- nextArgs[lastIndex] = nextOptions;
219
- return nextArgs;
220
- }
221
- function mapSaveFileResult(result) {
222
- if (!isPlainObject(result)) return result;
223
- if (!Object.prototype.hasOwnProperty.call(result, "savedFilePath") && Object.prototype.hasOwnProperty.call(result, "apFilePath")) return {
224
- ...result,
225
- savedFilePath: result.apFilePath
226
- };
227
- return result;
228
- }
229
- function mapDouyinSaveFileResult(result) {
230
- if (!isPlainObject(result)) return result;
231
- if (!Object.prototype.hasOwnProperty.call(result, "savedFilePath") && Object.prototype.hasOwnProperty.call(result, "filePath")) return {
232
- ...result,
233
- savedFilePath: result.filePath
234
- };
235
- return result;
236
- }
237
- function normalizePlatformName$1(value) {
238
- if (!value) return;
239
- const normalized = value.trim().toLowerCase();
240
- if (!normalized) return;
241
- return PLATFORM_ALIASES$1[normalized] ?? normalized;
242
- }
1431
+ //#endregion
1432
+ //#region src/core/methodMapping/rules/helpersMediaClipboard.ts
243
1433
  function mapSetClipboardArgs(args) {
244
1434
  if (args.length === 0) return args;
245
1435
  const nextArgs = [...args];
@@ -259,44 +1449,501 @@ function mapClipboardResult(result) {
259
1449
  };
260
1450
  return result;
261
1451
  }
262
- const METHOD_MAPPINGS = {
263
- my: {
264
- showToast: {
265
- target: "showToast",
266
- mapArgs: mapToastArgs
267
- },
268
- showLoading: {
269
- target: "showLoading",
270
- mapArgs: mapLoadingArgs
271
- },
272
- showActionSheet: {
273
- target: "showActionSheet",
274
- mapArgs: mapActionSheetArgs,
275
- mapResult: mapActionSheetResult
276
- },
277
- showModal: {
278
- target: "confirm",
279
- mapArgs: mapModalArgs,
280
- mapResult: mapModalResult
281
- },
282
- chooseImage: {
283
- target: "chooseImage",
284
- mapResult: mapChooseImageResult
285
- },
286
- saveFile: {
287
- target: "saveFile",
288
- mapArgs: mapSaveFileArgs,
289
- mapResult: mapSaveFileResult
290
- },
291
- setClipboardData: {
292
- target: "setClipboard",
293
- mapArgs: mapSetClipboardArgs
294
- },
295
- getClipboardData: {
296
- target: "getClipboard",
297
- mapResult: mapClipboardResult
298
- }
1452
+ function resolveFilePaths(result) {
1453
+ if (!isPlainObject(result)) return [];
1454
+ if (typeof result.tempFilePaths === "string" && result.tempFilePaths) return [result.tempFilePaths];
1455
+ if (Array.isArray(result.tempFilePaths)) return result.tempFilePaths.filter((item) => typeof item === "string" && item.length > 0);
1456
+ if (Array.isArray(result.apFilePaths)) return result.apFilePaths.filter((item) => typeof item === "string" && item.length > 0);
1457
+ if (Array.isArray(result.tempFiles)) return result.tempFiles.map((item) => {
1458
+ if (!isPlainObject(item)) return;
1459
+ if (typeof item.tempFilePath === "string" && item.tempFilePath) return item.tempFilePath;
1460
+ if (typeof item.path === "string" && item.path) return item.path;
1461
+ if (typeof item.filePath === "string" && item.filePath) return item.filePath;
1462
+ }).filter((item) => typeof item === "string");
1463
+ return [];
1464
+ }
1465
+ function mapChooseMediaResultFromImage(result) {
1466
+ const normalized = mapChooseImageResult(result);
1467
+ if (!isPlainObject(normalized)) return normalized;
1468
+ if (Array.isArray(normalized.tempFiles) && normalized.tempFiles.length > 0) return normalized;
1469
+ const tempFilePaths = resolveFilePaths(normalized);
1470
+ if (tempFilePaths.length === 0) return normalized;
1471
+ return {
1472
+ ...normalized,
1473
+ tempFilePaths,
1474
+ tempFiles: tempFilePaths.map((tempFilePath) => ({
1475
+ tempFilePath,
1476
+ fileType: "image"
1477
+ })),
1478
+ type: "image"
1479
+ };
1480
+ }
1481
+ //#endregion
1482
+ //#region src/core/methodMapping/rules/myBindEmployeeRelationToSendHCEMessage.ts
1483
+ const MY_METHOD_MAPPINGS_BIND_EMPLOYEE_RELATION_TO_SEND_HCEMESSAGE = {
1484
+ bindEmployeeRelation: { target: "bindEmployeeRelation" },
1485
+ canAddSecureElementPass: { target: "canAddSecureElementPass" },
1486
+ canvasGetImageData: { target: "canvasGetImageData" },
1487
+ canvasPutImageData: { target: "canvasPutImageData" },
1488
+ checkDeviceSupportHevc: { target: "checkDeviceSupportHevc" },
1489
+ checkEmployeeRelation: { target: "checkEmployeeRelation" },
1490
+ checkIsAddedToMyMiniProgram: { target: "checkIsAddedToMyMiniProgram" },
1491
+ checkIsOpenAccessibility: { target: "checkIsOpenAccessibility" },
1492
+ checkIsPictureInPictureActive: { target: "checkIsPictureInPictureActive" },
1493
+ checkIsSoterEnrolledInDevice: {
1494
+ target: "checkIsIfaaEnrolledInDevice",
1495
+ mapArgs: mapCheckIsSoterEnrolledInDeviceArgs,
1496
+ mapResult: (result) => mapSoterCheckResult("checkIsSoterEnrolledInDevice", result)
1497
+ },
1498
+ checkIsSupportSoterAuthentication: {
1499
+ target: "checkIsSupportIfaaAuthentication",
1500
+ mapResult: (result) => mapSoterCheckResult("checkIsSupportSoterAuthentication", result)
1501
+ },
1502
+ openCard: { target: "openCard" },
1503
+ openChannelsActivity: { target: "openChannelsActivity" },
1504
+ openChannelsEvent: { target: "openChannelsEvent" },
1505
+ openChannelsLive: { target: "openChannelsLive" },
1506
+ openChannelsLiveNoticeInfo: { target: "openChannelsLiveNoticeInfo" },
1507
+ openChannelsUserProfile: { target: "openChannelsUserProfile" },
1508
+ openChatTool: { target: "openChatTool" },
1509
+ openHKOfflinePayView: { target: "openHKOfflinePayView" },
1510
+ openInquiriesTopic: { target: "openInquiriesTopic" },
1511
+ openOfficialAccountArticle: { target: "openOfficialAccountArticle" },
1512
+ openOfficialAccountChat: { target: "openOfficialAccountChat" },
1513
+ openOfficialAccountProfile: { target: "openOfficialAccountProfile" },
1514
+ openPrivacyContract: { target: "openPrivacyContract" },
1515
+ openSystemBluetoothSetting: { target: "openSystemBluetoothSetting" },
1516
+ reportEvent: { target: "reportEvent" },
1517
+ reportMonitor: { target: "reportMonitor" },
1518
+ reportPerformance: { target: "reportPerformance" },
1519
+ openSingleStickerView: { target: "openSingleStickerView" },
1520
+ openStickerIPView: { target: "openStickerIPView" },
1521
+ openStickerSetView: { target: "openStickerSetView" },
1522
+ openStoreCouponDetail: { target: "openStoreCouponDetail" },
1523
+ openStoreOrderDetail: { target: "openStoreOrderDetail" },
1524
+ pauseBackgroundAudio: { target: "pauseBackgroundAudio" },
1525
+ pauseVoice: { target: "pauseVoice" },
1526
+ playBackgroundAudio: { target: "playBackgroundAudio" },
1527
+ playVoice: { target: "playVoice" },
1528
+ postMessageToReferrerMiniProgram: { target: "postMessageToReferrerMiniProgram" },
1529
+ postMessageToReferrerPage: { target: "postMessageToReferrerPage" },
1530
+ preDownloadSubpackage: { target: "preDownloadSubpackage" },
1531
+ preloadAssets: { target: "preloadAssets" },
1532
+ preloadSkylineView: { target: "preloadSkylineView" },
1533
+ preloadWebview: { target: "preloadWebview" },
1534
+ removeSecureElementPass: { target: "removeSecureElementPass" },
1535
+ chooseInvoiceTitle: { target: "chooseInvoiceTitle" },
1536
+ chooseLicensePlate: { target: "chooseLicensePlate" },
1537
+ choosePoi: { target: "choosePoi" },
1538
+ closeBLEConnection: {
1539
+ target: "disconnectBLEDevice",
1540
+ mapResult: mapCloseBleConnectionResult
299
1541
  },
1542
+ createBLEConnection: {
1543
+ target: "connectBLEDevice",
1544
+ mapResult: mapCreateBleConnectionResult
1545
+ },
1546
+ cropImage: { target: "cropImage" },
1547
+ editImage: { target: "editImage" },
1548
+ exitVoIPChat: { target: "exitVoIPChat" },
1549
+ faceDetect: { target: "faceDetect" },
1550
+ getApiCategory: { target: "getApiCategory" },
1551
+ getBackgroundFetchToken: { target: "getBackgroundFetchToken" },
1552
+ getChannelsLiveInfo: { target: "getChannelsLiveInfo" },
1553
+ getChannelsLiveNoticeInfo: { target: "getChannelsLiveNoticeInfo" },
1554
+ getChannelsShareKey: { target: "getChannelsShareKey" },
1555
+ getChatToolInfo: { target: "getChatToolInfo" },
1556
+ getCommonConfig: { target: "getCommonConfig" },
1557
+ getGroupEnterInfo: { target: "getGroupEnterInfo" },
1558
+ getPrivacySetting: { target: "getPrivacySetting" },
1559
+ initFaceDetect: { target: "initFaceDetect" },
1560
+ join1v1Chat: { target: "join1v1Chat" },
1561
+ requestCommonPayment: { target: "requestCommonPayment" },
1562
+ requestDeviceVoIP: { target: "requestDeviceVoIP" },
1563
+ requestMerchantTransfer: { target: "requestMerchantTransfer" },
1564
+ requirePrivacyAuthorize: { target: "requirePrivacyAuthorize" },
1565
+ reserveChannelsLive: { target: "reserveChannelsLive" },
1566
+ selectGroupMembers: { target: "selectGroupMembers" },
1567
+ sendHCEMessage: { target: "sendHCEMessage" }
1568
+ };
1569
+ //#endregion
1570
+ //#region src/core/methodMapping/rules/myCreateVKSessionToOffBLEConnectionStateChange.ts
1571
+ const MY_METHOD_MAPPINGS_CREATE_VKSESSION_TO_OFF_BLECONNECTION_STATE_CHANGE = {
1572
+ createVKSession: { target: "createVKSession" },
1573
+ compressVideo: { target: "compressVideo" },
1574
+ openVideoEditor: { target: "openVideoEditor" },
1575
+ getShareInfo: { target: "getShareInfo" },
1576
+ joinVoIPChat: { target: "joinVoIPChat" },
1577
+ openDocument: { target: "openDocument" },
1578
+ saveVideoToPhotosAlbum: { target: "saveVideoToPhotosAlbum" },
1579
+ batchSetStorage: { target: "batchSetStorage" },
1580
+ batchGetStorage: { target: "batchGetStorage" },
1581
+ batchSetStorageSync: { target: "batchSetStorageSync" },
1582
+ batchGetStorageSync: { target: "batchGetStorageSync" },
1583
+ createCameraContext: { target: "createCameraContext" },
1584
+ offMemoryWarning: { target: "offMemoryWarning" },
1585
+ cancelIdleCallback: { target: "cancelIdleCallback" },
1586
+ onBLEConnectionStateChange: { target: "onBLEConnectionStateChanged" },
1587
+ offBLEConnectionStateChange: { target: "offBLEConnectionStateChanged" }
1588
+ };
1589
+ //#endregion
1590
+ //#region src/core/methodMapping/rules/mySendSmsToOpenCustomerServiceChat.ts
1591
+ const MY_METHOD_MAPPINGS_SEND_SMS_TO_OPEN_CUSTOMER_SERVICE_CHAT = {
1592
+ sendSms: { target: "sendSms" },
1593
+ setBackgroundFetchToken: { target: "setBackgroundFetchToken" },
1594
+ setEnable1v1Chat: { target: "setEnable1v1Chat" },
1595
+ setTopBarText: { target: "setTopBarText" },
1596
+ setWindowSize: { target: "setWindowSize" },
1597
+ stopHCE: { target: "stopHCE" },
1598
+ stopLocalServiceDiscovery: { target: "stopLocalServiceDiscovery" },
1599
+ stopLocationUpdate: { target: "stopLocationUpdate" },
1600
+ stopRecord: { target: "stopRecord" },
1601
+ stopVoice: { target: "stopVoice" },
1602
+ subscribeVoIPVideoMembers: { target: "subscribeVoIPVideoMembers" },
1603
+ updateVoIPChatMuteConfig: { target: "updateVoIPChatMuteConfig" },
1604
+ updateWeChatApp: { target: "updateWeChatApp" },
1605
+ getBackgroundAudioPlayerState: { target: "getBackgroundAudioPlayerState" },
1606
+ getDeviceBenchmarkInfo: { target: "getDeviceBenchmarkInfo" },
1607
+ getDeviceVoIPList: { target: "getDeviceVoIPList" },
1608
+ getHCEState: { target: "getHCEState" },
1609
+ getInferenceEnvInfo: { target: "getInferenceEnvInfo" },
1610
+ getNFCAdapter: { target: "getNFCAdapter" },
1611
+ getPerformance: { target: "getPerformance" },
1612
+ getRandomValues: { target: "getRandomValues" },
1613
+ getRealtimeLogManager: { target: "getRealtimeLogManager" },
1614
+ getRendererUserAgent: { target: "getRendererUserAgent" },
1615
+ getScreenRecordingState: { target: "getScreenRecordingState" },
1616
+ getSecureElementPasses: { target: "getSecureElementPasses" },
1617
+ getSelectedTextRange: { target: "getSelectedTextRange" },
1618
+ getShowSplashAdStatus: { target: "getShowSplashAdStatus" },
1619
+ getSkylineInfo: { target: "getSkylineInfo" },
1620
+ getUserCryptoManager: { target: "getUserCryptoManager" },
1621
+ getWeRunData: { target: "getWeRunData" },
1622
+ getXrFrameSystem: { target: "getXrFrameSystem" },
1623
+ isBluetoothDevicePaired: { target: "isBluetoothDevicePaired" },
1624
+ isVKSupport: { target: "isVKSupport" },
1625
+ createBLEPeripheralServer: { target: "createBLEPeripheralServer" },
1626
+ createBufferURL: { target: "createBufferURL" },
1627
+ createCacheManager: { target: "createCacheManager" },
1628
+ createGlobalPayment: { target: "createGlobalPayment" },
1629
+ createInferenceSession: { target: "createInferenceSession" },
1630
+ createMediaAudioPlayer: { target: "createMediaAudioPlayer" },
1631
+ createMediaContainer: { target: "createMediaContainer" },
1632
+ createMediaRecorder: { target: "createMediaRecorder" },
1633
+ createTCPSocket: { target: "createTCPSocket" },
1634
+ createUDPSocket: { target: "createUDPSocket" },
1635
+ createVideoDecoder: { target: "createVideoDecoder" },
1636
+ loadBuiltInFontFace: { target: "loadBuiltInFontFace" },
1637
+ notifyGroupMembers: { target: "notifyGroupMembers" },
1638
+ requestIdleCallback: { target: "requestIdleCallback" },
1639
+ revokeBufferURL: { target: "revokeBufferURL" },
1640
+ rewriteRoute: { target: "rewriteRoute" },
1641
+ seekBackgroundAudio: { target: "seekBackgroundAudio" },
1642
+ setEnableDebug: { target: "setEnableDebug" },
1643
+ setInnerAudioOption: { target: "setInnerAudioOption" },
1644
+ shareAppMessageToGroup: { target: "shareAppMessageToGroup" },
1645
+ shareEmojiToGroup: { target: "shareEmojiToGroup" },
1646
+ shareFileMessage: { target: "shareFileMessage" },
1647
+ shareFileToGroup: { target: "shareFileToGroup" },
1648
+ shareImageToGroup: { target: "shareImageToGroup" },
1649
+ shareToOfficialAccount: { target: "shareToOfficialAccount" },
1650
+ shareToWeRun: { target: "shareToWeRun" },
1651
+ shareVideoMessage: { target: "shareVideoMessage" },
1652
+ shareVideoToGroup: { target: "shareVideoToGroup" },
1653
+ showRedPackage: { target: "showRedPackage" },
1654
+ startDeviceMotionListening: { target: "startDeviceMotionListening" },
1655
+ startHCE: { target: "startHCE" },
1656
+ startLocalServiceDiscovery: { target: "startLocalServiceDiscovery" },
1657
+ startLocationUpdate: { target: "startLocationUpdate" },
1658
+ startLocationUpdateBackground: { target: "startLocationUpdateBackground" },
1659
+ startRecord: { target: "startRecord" },
1660
+ startSoterAuthentication: { target: "startSoterAuthentication" },
1661
+ stopBackgroundAudio: { target: "stopBackgroundAudio" },
1662
+ stopDeviceMotionListening: { target: "stopDeviceMotionListening" },
1663
+ stopFaceDetect: { target: "stopFaceDetect" },
1664
+ openCustomerServiceChat: { target: "openCustomerServiceChat" }
1665
+ };
1666
+ //#endregion
1667
+ //#region src/core/methodMapping/rules/my.ts
1668
+ const MY_METHOD_MAPPINGS = {
1669
+ showToast: {
1670
+ target: "showToast",
1671
+ mapArgs: mapToastArgs
1672
+ },
1673
+ showLoading: {
1674
+ target: "showLoading",
1675
+ mapArgs: mapLoadingArgs
1676
+ },
1677
+ showActionSheet: {
1678
+ target: "showActionSheet",
1679
+ mapArgs: mapActionSheetArgs,
1680
+ mapResult: mapActionSheetResult
1681
+ },
1682
+ showModal: {
1683
+ target: "confirm",
1684
+ mapArgs: mapModalArgs,
1685
+ mapResult: mapModalResult
1686
+ },
1687
+ chooseImage: {
1688
+ target: "chooseImage",
1689
+ mapResult: mapChooseImageResult
1690
+ },
1691
+ chooseMedia: { target: "chooseMedia" },
1692
+ chooseMessageFile: { target: "chooseMessageFile" },
1693
+ getFuzzyLocation: { target: "getFuzzyLocation" },
1694
+ previewMedia: { target: "previewMedia" },
1695
+ createInterstitialAd: { target: "createInterstitialAd" },
1696
+ createRewardedVideoAd: {
1697
+ target: "createRewardedAd",
1698
+ mapArgs: mapCreateRewardedVideoAdArgs,
1699
+ mapResult: mapRewardedAdInstance
1700
+ },
1701
+ createLivePlayerContext: { target: "createLivePlayerContext" },
1702
+ createLivePusherContext: { target: "createLivePusherContext" },
1703
+ getVideoInfo: { target: "getVideoInfo" },
1704
+ saveFile: {
1705
+ target: "saveFile",
1706
+ mapArgs: mapSaveFileArgs,
1707
+ mapResult: mapSaveFileResult
1708
+ },
1709
+ setClipboardData: {
1710
+ target: "setClipboard",
1711
+ mapArgs: mapSetClipboardArgs
1712
+ },
1713
+ getClipboardData: {
1714
+ target: "getClipboard",
1715
+ mapResult: mapClipboardResult
1716
+ },
1717
+ chooseAddress: { target: "chooseAddress" },
1718
+ createAudioContext: { target: "createAudioContext" },
1719
+ createWebAudioContext: { target: "createWebAudioContext" },
1720
+ getSystemInfoAsync: { target: "getSystemInfo" },
1721
+ openAppAuthorizeSetting: { target: "openAppAuthorizeSetting" },
1722
+ pluginLogin: { target: "pluginLogin" },
1723
+ login: { target: "login" },
1724
+ authorize: { target: "authorize" },
1725
+ checkSession: { target: "checkSession" },
1726
+ requestSubscribeDeviceMessage: { target: "requestSubscribeDeviceMessage" },
1727
+ requestSubscribeEmployeeMessage: { target: "requestSubscribeEmployeeMessage" },
1728
+ restartMiniProgram: { target: "restartMiniProgram" },
1729
+ scanCode: { target: "scanCode" },
1730
+ requestPayment: { target: "requestPayment" },
1731
+ requestOrderPayment: { target: "requestOrderPayment" },
1732
+ requestPluginPayment: { target: "requestPluginPayment" },
1733
+ requestVirtualPayment: { target: "requestVirtualPayment" },
1734
+ showShareImageMenu: { target: "showShareImageMenu" },
1735
+ updateShareMenu: { target: "updateShareMenu" },
1736
+ openEmbeddedMiniProgram: { target: "openEmbeddedMiniProgram" },
1737
+ saveFileToDisk: { target: "saveFileToDisk" },
1738
+ getEnterOptionsSync: { target: "getEnterOptionsSync" },
1739
+ getSystemSetting: { target: "getSystemSetting" },
1740
+ getUserProfile: { target: "getUserProfile" },
1741
+ getUserInfo: { target: "getUserInfo" },
1742
+ getAppAuthorizeSetting: { target: "getAppAuthorizeSetting" },
1743
+ getAppBaseInfo: { target: "getAppBaseInfo" },
1744
+ chooseVideo: { target: "chooseVideo" },
1745
+ hideHomeButton: { target: "hideBackHome" },
1746
+ getWindowInfo: { target: "getWindowInfo" },
1747
+ getDeviceInfo: { target: "getDeviceInfo" },
1748
+ getAccountInfoSync: { target: "getAccountInfoSync" },
1749
+ setBackgroundColor: { target: "setBackgroundColor" },
1750
+ setBackgroundTextStyle: { target: "setBackgroundTextStyle" },
1751
+ getNetworkType: { target: "getNetworkType" },
1752
+ getBatteryInfo: { target: "getBatteryInfo" },
1753
+ getBatteryInfoSync: { target: "getBatteryInfoSync" },
1754
+ getLogManager: { target: "getLogManager" },
1755
+ nextTick: { target: "nextTick" },
1756
+ onWindowResize: { target: "onWindowResize" },
1757
+ offWindowResize: { target: "offWindowResize" },
1758
+ reportAnalytics: { target: "reportAnalytics" },
1759
+ addCard: { target: "addCard" },
1760
+ addFileToFavorites: { target: "addFileToFavorites" },
1761
+ addPaymentPassFinish: { target: "addPaymentPassFinish" },
1762
+ addPaymentPassGetCertificateData: { target: "addPaymentPassGetCertificateData" },
1763
+ addPhoneCalendar: { target: "addPhoneCalendar" },
1764
+ addPhoneContact: { target: "addPhoneContact" },
1765
+ addPhoneRepeatCalendar: { target: "addPhoneRepeatCalendar" },
1766
+ addVideoToFavorites: { target: "addVideoToFavorites" },
1767
+ authorizeForMiniProgram: { target: "authorizeForMiniProgram" },
1768
+ authPrivateMessage: { target: "authPrivateMessage" },
1769
+ ...MY_METHOD_MAPPINGS_BIND_EMPLOYEE_RELATION_TO_SEND_HCEMESSAGE,
1770
+ ...MY_METHOD_MAPPINGS_SEND_SMS_TO_OPEN_CUSTOMER_SERVICE_CHAT,
1771
+ ...MY_METHOD_MAPPINGS_CREATE_VKSESSION_TO_OFF_BLECONNECTION_STATE_CHANGE
1772
+ };
1773
+ //#endregion
1774
+ //#region src/core/methodMapping/rules/ttCanvasGetImageDataToSetTopBarText.ts
1775
+ const TT_METHOD_MAPPINGS_CANVAS_GET_IMAGE_DATA_TO_SET_TOP_BAR_TEXT = {
1776
+ canvasGetImageData: { target: "canvasGetImageData" },
1777
+ canvasPutImageData: { target: "canvasPutImageData" },
1778
+ checkDeviceSupportHevc: { target: "checkDeviceSupportHevc" },
1779
+ checkEmployeeRelation: { target: "checkEmployeeRelation" },
1780
+ checkIsAddedToMyMiniProgram: { target: "checkIsAddedToMyMiniProgram" },
1781
+ checkIsOpenAccessibility: { target: "checkIsOpenAccessibility" },
1782
+ checkIsPictureInPictureActive: { target: "checkIsPictureInPictureActive" },
1783
+ checkIsSoterEnrolledInDevice: { target: "checkIsSoterEnrolledInDevice" },
1784
+ checkIsSupportSoterAuthentication: { target: "checkIsSupportSoterAuthentication" },
1785
+ openCard: { target: "openCard" },
1786
+ openChannelsActivity: { target: "openChannelsActivity" },
1787
+ openChannelsEvent: { target: "openChannelsEvent" },
1788
+ openChannelsLive: { target: "openChannelsLive" },
1789
+ openChannelsLiveNoticeInfo: { target: "openChannelsLiveNoticeInfo" },
1790
+ openChannelsUserProfile: { target: "openChannelsUserProfile" },
1791
+ openChatTool: { target: "openChatTool" },
1792
+ openHKOfflinePayView: { target: "openHKOfflinePayView" },
1793
+ openInquiriesTopic: { target: "openInquiriesTopic" },
1794
+ openOfficialAccountArticle: { target: "openOfficialAccountArticle" },
1795
+ openOfficialAccountChat: { target: "openOfficialAccountChat" },
1796
+ openOfficialAccountProfile: { target: "openOfficialAccountProfile" },
1797
+ openPrivacyContract: { target: "openPrivacyContract" },
1798
+ openSystemBluetoothSetting: { target: "openSystemBluetoothSetting" },
1799
+ reportEvent: { target: "reportEvent" },
1800
+ reportMonitor: { target: "reportMonitor" },
1801
+ reportPerformance: { target: "reportPerformance" },
1802
+ openSingleStickerView: { target: "openSingleStickerView" },
1803
+ openStickerIPView: { target: "openStickerIPView" },
1804
+ openStickerSetView: { target: "openStickerSetView" },
1805
+ openStoreCouponDetail: { target: "openStoreCouponDetail" },
1806
+ openStoreOrderDetail: { target: "openStoreOrderDetail" },
1807
+ pauseBackgroundAudio: { target: "pauseBackgroundAudio" },
1808
+ pauseVoice: { target: "pauseVoice" },
1809
+ playBackgroundAudio: { target: "playBackgroundAudio" },
1810
+ playVoice: { target: "playVoice" },
1811
+ postMessageToReferrerMiniProgram: { target: "postMessageToReferrerMiniProgram" },
1812
+ postMessageToReferrerPage: { target: "postMessageToReferrerPage" },
1813
+ preDownloadSubpackage: { target: "preDownloadSubpackage" },
1814
+ preloadAssets: { target: "preloadAssets" },
1815
+ preloadSkylineView: { target: "preloadSkylineView" },
1816
+ preloadWebview: { target: "preloadWebview" },
1817
+ removeSecureElementPass: { target: "removeSecureElementPass" },
1818
+ chooseInvoiceTitle: { target: "chooseInvoiceTitle" },
1819
+ chooseLicensePlate: { target: "chooseLicensePlate" },
1820
+ choosePoi: { target: "choosePoi" },
1821
+ closeBLEConnection: { target: "closeBLEConnection" },
1822
+ createBLEConnection: { target: "createBLEConnection" },
1823
+ cropImage: { target: "cropImage" },
1824
+ editImage: { target: "editImage" },
1825
+ exitVoIPChat: { target: "exitVoIPChat" },
1826
+ faceDetect: { target: "faceDetect" },
1827
+ getApiCategory: { target: "getApiCategory" },
1828
+ getBackgroundFetchToken: { target: "getBackgroundFetchToken" },
1829
+ getChannelsLiveInfo: { target: "getChannelsLiveInfo" },
1830
+ getChannelsLiveNoticeInfo: { target: "getChannelsLiveNoticeInfo" },
1831
+ getChannelsShareKey: { target: "getChannelsShareKey" },
1832
+ getChatToolInfo: { target: "getChatToolInfo" },
1833
+ getCommonConfig: { target: "getCommonConfig" },
1834
+ getGroupEnterInfo: { target: "getGroupEnterInfo" },
1835
+ getPrivacySetting: { target: "getPrivacySetting" },
1836
+ initFaceDetect: { target: "initFaceDetect" },
1837
+ join1v1Chat: { target: "join1v1Chat" },
1838
+ requestCommonPayment: { target: "requestCommonPayment" },
1839
+ requestDeviceVoIP: { target: "requestDeviceVoIP" },
1840
+ requestMerchantTransfer: { target: "requestMerchantTransfer" },
1841
+ requirePrivacyAuthorize: { target: "requirePrivacyAuthorize" },
1842
+ reserveChannelsLive: { target: "reserveChannelsLive" },
1843
+ selectGroupMembers: { target: "selectGroupMembers" },
1844
+ sendHCEMessage: { target: "sendHCEMessage" },
1845
+ sendSms: { target: "sendSms" },
1846
+ setBackgroundFetchToken: { target: "setBackgroundFetchToken" },
1847
+ setEnable1v1Chat: { target: "setEnable1v1Chat" },
1848
+ setTopBarText: { target: "setTopBarText" }
1849
+ };
1850
+ //#endregion
1851
+ //#region src/core/methodMapping/rules/ttJoinVoIPChatToOffBLEConnectionStateChange.ts
1852
+ const TT_METHOD_MAPPINGS_JOIN_VO_IPCHAT_TO_OFF_BLECONNECTION_STATE_CHANGE = {
1853
+ joinVoIPChat: { target: "joinVoIPChat" },
1854
+ openDocument: { target: "openDocument" },
1855
+ saveVideoToPhotosAlbum: { target: "saveVideoToPhotosAlbum" },
1856
+ batchSetStorage: { target: "batchSetStorage" },
1857
+ batchGetStorage: { target: "batchGetStorage" },
1858
+ batchSetStorageSync: { target: "batchSetStorageSync" },
1859
+ batchGetStorageSync: { target: "batchGetStorageSync" },
1860
+ createCameraContext: { target: "createCameraContext" },
1861
+ offMemoryWarning: { target: "offMemoryWarning" },
1862
+ cancelIdleCallback: { target: "cancelIdleCallback" },
1863
+ onBLEConnectionStateChange: { target: "onBLEConnectionStateChange" },
1864
+ offBLEConnectionStateChange: { target: "offBLEConnectionStateChange" }
1865
+ };
1866
+ //#endregion
1867
+ //#region src/core/methodMapping/rules/ttSetWindowSizeToGetShareInfo.ts
1868
+ const TT_METHOD_MAPPINGS_SET_WINDOW_SIZE_TO_GET_SHARE_INFO = {
1869
+ setWindowSize: { target: "setWindowSize" },
1870
+ stopHCE: { target: "stopHCE" },
1871
+ stopLocalServiceDiscovery: { target: "stopLocalServiceDiscovery" },
1872
+ stopLocationUpdate: { target: "stopLocationUpdate" },
1873
+ stopRecord: { target: "stopRecord" },
1874
+ stopVoice: { target: "stopVoice" },
1875
+ subscribeVoIPVideoMembers: { target: "subscribeVoIPVideoMembers" },
1876
+ updateVoIPChatMuteConfig: { target: "updateVoIPChatMuteConfig" },
1877
+ updateWeChatApp: { target: "updateWeChatApp" },
1878
+ getBackgroundAudioPlayerState: { target: "getBackgroundAudioPlayerState" },
1879
+ getDeviceBenchmarkInfo: { target: "getDeviceBenchmarkInfo" },
1880
+ getDeviceVoIPList: { target: "getDeviceVoIPList" },
1881
+ getHCEState: { target: "getHCEState" },
1882
+ getInferenceEnvInfo: { target: "getInferenceEnvInfo" },
1883
+ getNFCAdapter: { target: "getNFCAdapter" },
1884
+ getPerformance: { target: "getPerformance" },
1885
+ getRandomValues: { target: "getRandomValues" },
1886
+ getRealtimeLogManager: { target: "getRealtimeLogManager" },
1887
+ getRendererUserAgent: { target: "getRendererUserAgent" },
1888
+ getScreenRecordingState: { target: "getScreenRecordingState" },
1889
+ getSecureElementPasses: { target: "getSecureElementPasses" },
1890
+ getSelectedTextRange: { target: "getSelectedTextRange" },
1891
+ getShowSplashAdStatus: { target: "getShowSplashAdStatus" },
1892
+ getSkylineInfo: { target: "getSkylineInfo" },
1893
+ getUserCryptoManager: { target: "getUserCryptoManager" },
1894
+ getWeRunData: { target: "getWeRunData" },
1895
+ getXrFrameSystem: { target: "getXrFrameSystem" },
1896
+ isBluetoothDevicePaired: { target: "isBluetoothDevicePaired" },
1897
+ isVKSupport: { target: "isVKSupport" },
1898
+ createBLEPeripheralServer: { target: "createBLEPeripheralServer" },
1899
+ createBufferURL: { target: "createBufferURL" },
1900
+ createCacheManager: { target: "createCacheManager" },
1901
+ createGlobalPayment: { target: "createGlobalPayment" },
1902
+ createInferenceSession: { target: "createInferenceSession" },
1903
+ createMediaAudioPlayer: { target: "createMediaAudioPlayer" },
1904
+ createMediaContainer: { target: "createMediaContainer" },
1905
+ createMediaRecorder: { target: "createMediaRecorder" },
1906
+ createTCPSocket: { target: "createTCPSocket" },
1907
+ createUDPSocket: { target: "createUDPSocket" },
1908
+ createVideoDecoder: { target: "createVideoDecoder" },
1909
+ loadBuiltInFontFace: { target: "loadBuiltInFontFace" },
1910
+ notifyGroupMembers: { target: "notifyGroupMembers" },
1911
+ requestIdleCallback: { target: "requestIdleCallback" },
1912
+ revokeBufferURL: { target: "revokeBufferURL" },
1913
+ rewriteRoute: { target: "rewriteRoute" },
1914
+ seekBackgroundAudio: { target: "seekBackgroundAudio" },
1915
+ setEnableDebug: { target: "setEnableDebug" },
1916
+ setInnerAudioOption: { target: "setInnerAudioOption" },
1917
+ shareAppMessageToGroup: { target: "shareAppMessageToGroup" },
1918
+ shareEmojiToGroup: { target: "shareEmojiToGroup" },
1919
+ shareFileMessage: { target: "shareFileMessage" },
1920
+ shareFileToGroup: { target: "shareFileToGroup" },
1921
+ shareImageToGroup: { target: "shareImageToGroup" },
1922
+ shareToOfficialAccount: { target: "shareToOfficialAccount" },
1923
+ shareToWeRun: { target: "shareToWeRun" },
1924
+ shareVideoMessage: { target: "shareVideoMessage" },
1925
+ shareVideoToGroup: { target: "shareVideoToGroup" },
1926
+ showRedPackage: { target: "showRedPackage" },
1927
+ startDeviceMotionListening: { target: "startDeviceMotionListening" },
1928
+ startHCE: { target: "startHCE" },
1929
+ startLocalServiceDiscovery: { target: "startLocalServiceDiscovery" },
1930
+ startLocationUpdate: { target: "startLocationUpdate" },
1931
+ startLocationUpdateBackground: { target: "startLocationUpdateBackground" },
1932
+ startRecord: { target: "startRecord" },
1933
+ startSoterAuthentication: { target: "startSoterAuthentication" },
1934
+ stopBackgroundAudio: { target: "stopBackgroundAudio" },
1935
+ stopDeviceMotionListening: { target: "stopDeviceMotionListening" },
1936
+ stopFaceDetect: { target: "stopFaceDetect" },
1937
+ openCustomerServiceChat: { target: "openCustomerServiceChat" },
1938
+ createVKSession: { target: "createVKSession" },
1939
+ compressVideo: { target: "compressVideo" },
1940
+ openVideoEditor: { target: "openVideoEditor" },
1941
+ getShareInfo: { target: "getShareInfo" }
1942
+ };
1943
+ //#endregion
1944
+ //#region src/core/methodMapping/rules/index.ts
1945
+ const METHOD_MAPPINGS = {
1946
+ my: MY_METHOD_MAPPINGS,
300
1947
  tt: {
301
1948
  showToast: {
302
1949
  target: "showToast",
@@ -312,42 +1959,175 @@ const METHOD_MAPPINGS = {
312
1959
  target: "chooseImage",
313
1960
  mapResult: mapDouyinChooseImageResult
314
1961
  },
1962
+ chooseMedia: {
1963
+ target: "chooseMedia",
1964
+ mapResult: mapChooseMediaResultFromImage
1965
+ },
1966
+ chooseMessageFile: { target: "chooseMessageFile" },
1967
+ getFuzzyLocation: { target: "getFuzzyLocation" },
1968
+ previewMedia: { target: "previewMedia" },
1969
+ createInterstitialAd: { target: "createInterstitialAd" },
1970
+ createRewardedVideoAd: { target: "createRewardedVideoAd" },
1971
+ createLivePlayerContext: { target: "createLivePlayerContext" },
1972
+ createLivePusherContext: { target: "createLivePusherContext" },
1973
+ getVideoInfo: { target: "getVideoInfo" },
315
1974
  saveFile: {
316
1975
  target: "saveFile",
317
1976
  mapResult: mapDouyinSaveFileResult
318
1977
  },
319
1978
  setClipboardData: { target: "setClipboardData" },
320
- getClipboardData: { target: "getClipboardData" }
1979
+ getClipboardData: { target: "getClipboardData" },
1980
+ chooseAddress: { target: "chooseAddress" },
1981
+ createAudioContext: { target: "createAudioContext" },
1982
+ createWebAudioContext: { target: "createWebAudioContext" },
1983
+ getSystemInfoAsync: { target: "getSystemInfo" },
1984
+ openAppAuthorizeSetting: { target: "openAppAuthorizeSetting" },
1985
+ pluginLogin: { target: "pluginLogin" },
1986
+ login: { target: "login" },
1987
+ authorize: { target: "authorize" },
1988
+ checkSession: { target: "checkSession" },
1989
+ requestSubscribeDeviceMessage: { target: "requestSubscribeDeviceMessage" },
1990
+ requestSubscribeEmployeeMessage: { target: "requestSubscribeEmployeeMessage" },
1991
+ restartMiniProgram: { target: "restartMiniProgram" },
1992
+ scanCode: { target: "scanCode" },
1993
+ requestPayment: { target: "requestPayment" },
1994
+ requestOrderPayment: { target: "requestOrderPayment" },
1995
+ requestPluginPayment: { target: "requestPluginPayment" },
1996
+ requestVirtualPayment: { target: "requestVirtualPayment" },
1997
+ showShareImageMenu: { target: "showShareImageMenu" },
1998
+ updateShareMenu: { target: "updateShareMenu" },
1999
+ openEmbeddedMiniProgram: { target: "openEmbeddedMiniProgram" },
2000
+ saveFileToDisk: { target: "saveFileToDisk" },
2001
+ getEnterOptionsSync: { target: "getEnterOptionsSync" },
2002
+ getSystemSetting: { target: "getSystemSetting" },
2003
+ getUserProfile: { target: "getUserProfile" },
2004
+ getUserInfo: { target: "getUserInfo" },
2005
+ getAppAuthorizeSetting: { target: "getAppAuthorizeSetting" },
2006
+ getAppBaseInfo: { target: "getAppBaseInfo" },
2007
+ chooseVideo: { target: "chooseVideo" },
2008
+ hideHomeButton: { target: "hideHomeButton" },
2009
+ getWindowInfo: { target: "getWindowInfo" },
2010
+ getDeviceInfo: { target: "getDeviceInfo" },
2011
+ getAccountInfoSync: { target: "getAccountInfoSync" },
2012
+ setBackgroundColor: { target: "setBackgroundColor" },
2013
+ setBackgroundTextStyle: { target: "setBackgroundTextStyle" },
2014
+ getNetworkType: { target: "getNetworkType" },
2015
+ getBatteryInfo: { target: "getBatteryInfo" },
2016
+ getBatteryInfoSync: { target: "getBatteryInfoSync" },
2017
+ getLogManager: { target: "getLogManager" },
2018
+ nextTick: { target: "nextTick" },
2019
+ onWindowResize: { target: "onWindowResize" },
2020
+ offWindowResize: { target: "offWindowResize" },
2021
+ reportAnalytics: { target: "reportAnalytics" },
2022
+ addCard: { target: "addCard" },
2023
+ addFileToFavorites: { target: "addFileToFavorites" },
2024
+ addPaymentPassFinish: { target: "addPaymentPassFinish" },
2025
+ addPaymentPassGetCertificateData: { target: "addPaymentPassGetCertificateData" },
2026
+ addPhoneCalendar: { target: "addPhoneCalendar" },
2027
+ addPhoneContact: { target: "addPhoneContact" },
2028
+ addPhoneRepeatCalendar: { target: "addPhoneRepeatCalendar" },
2029
+ addVideoToFavorites: { target: "addVideoToFavorites" },
2030
+ authorizeForMiniProgram: { target: "authorizeForMiniProgram" },
2031
+ authPrivateMessage: { target: "authPrivateMessage" },
2032
+ bindEmployeeRelation: { target: "bindEmployeeRelation" },
2033
+ canAddSecureElementPass: { target: "canAddSecureElementPass" },
2034
+ ...TT_METHOD_MAPPINGS_CANVAS_GET_IMAGE_DATA_TO_SET_TOP_BAR_TEXT,
2035
+ ...TT_METHOD_MAPPINGS_SET_WINDOW_SIZE_TO_GET_SHARE_INFO,
2036
+ ...TT_METHOD_MAPPINGS_JOIN_VO_IPCHAT_TO_OFF_BLECONNECTION_STATE_CHANGE
321
2037
  }
322
2038
  };
2039
+ const PLATFORM_METHOD_SET = {
2040
+ my: new Set(WEAPI_MY_METHODS),
2041
+ tt: new Set(WEAPI_TT_METHODS)
2042
+ };
2043
+ function createFallbackMappingRule(platform, methodName) {}
2044
+ function resolveMappingRule(platform, methodName, options = {}) {
2045
+ const methodSet = PLATFORM_METHOD_SET[platform];
2046
+ const explicitRule = METHOD_MAPPINGS[platform]?.[methodName];
2047
+ if (explicitRule) return {
2048
+ target: explicitRule.target,
2049
+ source: "explicit",
2050
+ rule: explicitRule
2051
+ };
2052
+ if (methodSet.has(methodName)) return {
2053
+ target: methodName,
2054
+ source: "identity"
2055
+ };
2056
+ if (options.allowFallback === false) return {
2057
+ target: methodName,
2058
+ source: "identity"
2059
+ };
2060
+ const fallbackRule = createFallbackMappingRule(platform, methodName);
2061
+ if (fallbackRule) return {
2062
+ target: fallbackRule.target,
2063
+ source: "fallback",
2064
+ rule: fallbackRule
2065
+ };
2066
+ return {
2067
+ target: methodName,
2068
+ source: "identity"
2069
+ };
2070
+ }
323
2071
  /**
324
- * @description 解析平台 API 映射规则
2072
+ * @description 解析平台 API 映射规则及映射来源
325
2073
  */
326
- function resolveMethodMapping(platform, methodName) {
2074
+ function resolveMethodMappingWithMeta(platform, methodName, options = {}) {
327
2075
  const normalizedPlatform = normalizePlatformName$1(platform);
328
2076
  if (!normalizedPlatform) return;
329
- const platformMappings = METHOD_MAPPINGS[normalizedPlatform];
330
- if (!platformMappings) return;
331
- return platformMappings[methodName];
2077
+ if (normalizedPlatform !== "my" && normalizedPlatform !== "tt") return;
2078
+ return resolveMappingRule(normalizedPlatform, methodName, options);
332
2079
  }
333
-
334
2080
  //#endregion
335
- //#region src/core/createWeapi.ts
336
- const INTERNAL_KEYS = new Set([
337
- "setAdapter",
338
- "getAdapter",
339
- "platform",
340
- "raw"
2081
+ //#region src/core/networkRequestPolicy/types.ts
2082
+ const NETWORK_METHODS = new Set([
2083
+ "request",
2084
+ "uploadFile",
2085
+ "downloadFile",
2086
+ "connectSocket"
341
2087
  ]);
342
- const PLATFORM_ALIASES = {
343
- alipay: "my",
344
- douyin: "tt"
2088
+ const HTTP_METHODS = new Set([
2089
+ "request",
2090
+ "uploadFile",
2091
+ "downloadFile"
2092
+ ]);
2093
+ const DEFAULT_TIMEOUT_CONFIG = {
2094
+ request: 6e4,
2095
+ uploadFile: 6e4,
2096
+ downloadFile: 6e4,
2097
+ connectSocket: 6e4
345
2098
  };
346
- function normalizePlatformName(value) {
347
- if (!value) return;
348
- const normalized = value.trim().toLowerCase();
349
- if (!normalized) return;
350
- return PLATFORM_ALIASES[normalized] ?? normalized;
2099
+ const NETWORK_BUCKET_LIMIT = {
2100
+ http: 10,
2101
+ socket: 5
2102
+ };
2103
+ const BACKGROUND_INTERRUPT_DELAY = 5e3;
2104
+ //#endregion
2105
+ //#region src/core/networkRequestPolicy/helpers.ts
2106
+ function isFinitePositiveNumber(value) {
2107
+ return typeof value === "number" && Number.isFinite(value) && value > 0;
2108
+ }
2109
+ function resolveQueueSize(value) {
2110
+ if (!isFinitePositiveNumber(value)) return 100;
2111
+ return Math.max(1, Math.floor(value));
2112
+ }
2113
+ function resolveHostTimeoutConfig() {
2114
+ const networkTimeout = globalThis.__wxConfig?.networkTimeout;
2115
+ if (!isPlainObject(networkTimeout)) return {};
2116
+ const result = {};
2117
+ if (isFinitePositiveNumber(networkTimeout.request)) result.request = networkTimeout.request;
2118
+ if (isFinitePositiveNumber(networkTimeout.uploadFile)) result.uploadFile = networkTimeout.uploadFile;
2119
+ if (isFinitePositiveNumber(networkTimeout.downloadFile)) result.downloadFile = networkTimeout.downloadFile;
2120
+ if (isFinitePositiveNumber(networkTimeout.connectSocket)) result.connectSocket = networkTimeout.connectSocket;
2121
+ return result;
2122
+ }
2123
+ function createNetworkError(methodName, platform, reason) {
2124
+ return { errMsg: `${platform ? `${platform}.${methodName}` : methodName}:fail ${reason}` };
2125
+ }
2126
+ function resolveBucket(methodName) {
2127
+ return HTTP_METHODS.has(methodName) ? "http" : "socket";
2128
+ }
2129
+ function clearTimer(timer) {
2130
+ if (timer) clearTimeout(timer);
351
2131
  }
352
2132
  function resolveOptionsArg(args) {
353
2133
  const nextArgs = args.slice();
@@ -367,37 +2147,202 @@ function resolveOptionsArg(args) {
367
2147
  options
368
2148
  };
369
2149
  }
370
- function callWithPromise(context, method, args, mapResult) {
371
- return new Promise((resolve, reject) => {
2150
+ function stripRefererHeader(options) {
2151
+ if (!isPlainObject(options.header)) return;
2152
+ const nextHeader = {};
2153
+ for (const [key, value] of Object.entries(options.header)) {
2154
+ if (key.toLowerCase() === "referer") continue;
2155
+ nextHeader[key] = value;
2156
+ }
2157
+ options.header = nextHeader;
2158
+ }
2159
+ function resolveTimeoutValue(timeout, method, timeoutConfig) {
2160
+ return isFinitePositiveNumber(timeout) ? timeout : timeoutConfig[method];
2161
+ }
2162
+ function toNetworkMethod(name) {
2163
+ return NETWORK_METHODS.has(name) ? name : void 0;
2164
+ }
2165
+ //#endregion
2166
+ //#region src/core/networkRequestPolicy/index.ts
2167
+ /**
2168
+ * @description 创建微信网络请求语义策略(超时、并发、前后台中断、referer 过滤)。
2169
+ */
2170
+ function createNetworkRequestPolicy(getPlatform, options = void 0) {
2171
+ const boundAdapters = /* @__PURE__ */ new WeakSet();
2172
+ const activeCalls = /* @__PURE__ */ new Set();
2173
+ const queueByBucket = {
2174
+ http: [],
2175
+ socket: []
2176
+ };
2177
+ const activeCountByBucket = {
2178
+ http: 0,
2179
+ socket: 0
2180
+ };
2181
+ const timeoutConfig = {
2182
+ ...DEFAULT_TIMEOUT_CONFIG,
2183
+ ...resolveHostTimeoutConfig()
2184
+ };
2185
+ const overflowPolicy = options?.overflowPolicy ?? "queue";
2186
+ const maxQueueSize = resolveQueueSize(options?.maxQueueSize);
2187
+ let isBackground = false;
2188
+ const cleanupCall = (call) => {
2189
+ if (call.settled) return;
2190
+ call.settled = true;
2191
+ activeCalls.delete(call);
2192
+ activeCountByBucket[call.bucket] = Math.max(0, activeCountByBucket[call.bucket] - 1);
2193
+ clearTimer(call.timeoutTimer);
2194
+ clearTimer(call.backgroundTimer);
2195
+ };
2196
+ const drainQueue = (bucket) => {
2197
+ if (isBackground) return;
2198
+ const limit = NETWORK_BUCKET_LIMIT[bucket];
2199
+ const queue = queueByBucket[bucket];
2200
+ while (activeCountByBucket[bucket] < limit && queue.length > 0) queue.shift()?.start();
2201
+ };
2202
+ const scheduleBackgroundInterrupt = (call) => {
2203
+ clearTimer(call.backgroundTimer);
2204
+ call.backgroundTimer = setTimeout(() => {
2205
+ call.abort?.();
2206
+ call.failWith(createNetworkError(call.method, call.platform, "interrupted"));
2207
+ }, BACKGROUND_INTERRUPT_DELAY);
2208
+ };
2209
+ const clearBackgroundInterrupt = (call) => {
2210
+ clearTimer(call.backgroundTimer);
2211
+ call.backgroundTimer = void 0;
2212
+ };
2213
+ const setBackgroundState = (nextBackground) => {
2214
+ isBackground = nextBackground;
2215
+ for (const call of activeCalls) if (nextBackground) scheduleBackgroundInterrupt(call);
2216
+ else clearBackgroundInterrupt(call);
2217
+ if (!nextBackground) {
2218
+ drainQueue("http");
2219
+ drainQueue("socket");
2220
+ }
2221
+ };
2222
+ const bindAdapter = (adapter) => {
2223
+ if (!adapter || typeof adapter !== "object") return;
2224
+ if (boundAdapters.has(adapter)) return;
2225
+ boundAdapters.add(adapter);
2226
+ const onAppHide = adapter.onAppHide;
2227
+ if (typeof onAppHide === "function") onAppHide(() => {
2228
+ setBackgroundState(true);
2229
+ });
2230
+ const onAppShow = adapter.onAppShow;
2231
+ if (typeof onAppShow === "function") onAppShow(() => {
2232
+ setBackgroundState(false);
2233
+ });
2234
+ };
2235
+ const prepareCall = (methodName, args) => {
2236
+ const networkMethod = toNetworkMethod(methodName);
2237
+ if (!networkMethod) return;
2238
+ const platform = getPlatform();
2239
+ if (isBackground) return {
2240
+ args,
2241
+ blockedError: createNetworkError(methodName, platform, "interrupted"),
2242
+ invoke() {}
2243
+ };
372
2244
  const { args: nextArgs, options } = resolveOptionsArg(args);
373
- let settled = false;
2245
+ if (networkMethod !== "connectSocket") stripRefererHeader(options);
2246
+ const timeout = resolveTimeoutValue(options.timeout, networkMethod, timeoutConfig);
2247
+ options.timeout = timeout;
2248
+ const bucket = resolveBucket(networkMethod);
2249
+ const limit = NETWORK_BUCKET_LIMIT[bucket];
2250
+ const queue = queueByBucket[bucket];
2251
+ if (activeCountByBucket[bucket] >= limit && overflowPolicy === "strict") return {
2252
+ args: nextArgs,
2253
+ blockedError: createNetworkError(methodName, platform, `exceed max concurrency limit ${limit}`),
2254
+ invoke() {}
2255
+ };
2256
+ if (activeCountByBucket[bucket] >= limit && queue.length >= maxQueueSize) return {
2257
+ args: nextArgs,
2258
+ blockedError: createNetworkError(methodName, platform, `exceed max queue size ${maxQueueSize}`),
2259
+ invoke() {}
2260
+ };
2261
+ const originalSuccess = options.success;
2262
+ const originalFail = options.fail;
2263
+ const originalComplete = options.complete;
2264
+ const call = {
2265
+ bucket,
2266
+ method: networkMethod,
2267
+ platform,
2268
+ settled: false,
2269
+ failWith: (error) => {
2270
+ if (call.settled) return;
2271
+ cleanupCall(call);
2272
+ originalFail?.(error);
2273
+ originalComplete?.(error);
2274
+ drainQueue(bucket);
2275
+ }
2276
+ };
374
2277
  options.success = (res) => {
375
- settled = true;
376
- resolve(mapResult ? mapResult(res) : res);
2278
+ if (call.settled) return;
2279
+ cleanupCall(call);
2280
+ originalSuccess?.(res);
2281
+ drainQueue(bucket);
377
2282
  };
378
- options.fail = (err) => {
379
- settled = true;
380
- reject(err);
2283
+ options.fail = (error) => {
2284
+ if (call.settled) return;
2285
+ cleanupCall(call);
2286
+ originalFail?.(error);
2287
+ drainQueue(bucket);
381
2288
  };
382
2289
  options.complete = (res) => {
383
- if (!settled) resolve(mapResult ? mapResult(res) : res);
2290
+ if (call.settled) return;
2291
+ cleanupCall(call);
2292
+ originalComplete?.(res);
2293
+ drainQueue(bucket);
384
2294
  };
385
- try {
386
- method.apply(context, nextArgs);
387
- } catch (err) {
388
- reject(err);
389
- }
390
- });
2295
+ const startInvoke = (invokeRuntime) => {
2296
+ if (call.settled) return;
2297
+ activeCountByBucket[bucket] += 1;
2298
+ activeCalls.add(call);
2299
+ call.timeoutTimer = setTimeout(() => {
2300
+ call.abort?.();
2301
+ call.failWith(createNetworkError(methodName, platform, "timeout"));
2302
+ }, timeout);
2303
+ if (isBackground) scheduleBackgroundInterrupt(call);
2304
+ try {
2305
+ const result = invokeRuntime();
2306
+ if (isPlainObject(result) && typeof result.abort === "function") call.abort = result.abort.bind(result);
2307
+ return result;
2308
+ } catch (error) {
2309
+ call.failWith(error);
2310
+ return;
2311
+ }
2312
+ };
2313
+ return {
2314
+ args: nextArgs,
2315
+ invoke(invokeRuntime) {
2316
+ if (activeCountByBucket[bucket] < limit) return startInvoke(invokeRuntime);
2317
+ if (overflowPolicy !== "queue") return;
2318
+ queue.push({ start: () => startInvoke(invokeRuntime) });
2319
+ }
2320
+ };
2321
+ };
2322
+ return {
2323
+ bindAdapter,
2324
+ prepareCall
2325
+ };
391
2326
  }
392
- function callMissingApi(methodName, platform, args) {
393
- const lastArg = args.length > 0 ? args[args.length - 1] : void 0;
394
- const error = createNotSupportedError(methodName, platform);
395
- if (hasCallbacks(lastArg)) {
396
- lastArg.fail?.(error);
397
- lastArg.complete?.(error);
398
- return;
399
- }
400
- return Promise.reject(error);
2327
+ //#endregion
2328
+ //#region src/core/createWeapi.ts
2329
+ const INTERNAL_KEYS = new Set([
2330
+ "setAdapter",
2331
+ "getAdapter",
2332
+ "platform",
2333
+ "raw",
2334
+ "resolveTarget",
2335
+ "supports"
2336
+ ]);
2337
+ const PLATFORM_ALIASES = {
2338
+ alipay: "my",
2339
+ douyin: "tt"
2340
+ };
2341
+ function normalizePlatformName(value) {
2342
+ if (!value) return;
2343
+ const normalized = value.trim().toLowerCase();
2344
+ if (!normalized) return;
2345
+ return PLATFORM_ALIASES[normalized] ?? normalized;
401
2346
  }
402
2347
  /**
403
2348
  * @description 创建跨平台 API 实例
@@ -405,7 +2350,9 @@ function callMissingApi(methodName, platform, args) {
405
2350
  function createWeapi(options = {}) {
406
2351
  let adapter = options.adapter;
407
2352
  let platformName = normalizePlatformName(options.platform);
2353
+ const allowFallback = false;
408
2354
  const cache = /* @__PURE__ */ new Map();
2355
+ const networkPolicy = createNetworkRequestPolicy(() => platformName, options.network);
409
2356
  const resolveAdapter = () => {
410
2357
  if (adapter) return adapter;
411
2358
  const detected = detectGlobalAdapter();
@@ -428,6 +2375,28 @@ function createWeapi(options = {}) {
428
2375
  if (!platformName) resolveAdapter();
429
2376
  return platformName;
430
2377
  };
2378
+ const resolveTarget = (methodName) => {
2379
+ const runtimeAdapter = resolveAdapter();
2380
+ const platform = getPlatform();
2381
+ const mappingInfo = resolveMethodMappingWithMeta(platform, methodName, { allowFallback });
2382
+ const target = mappingInfo?.target ?? methodName;
2383
+ const supported = typeof (runtimeAdapter ? runtimeAdapter[target] : void 0) === "function";
2384
+ const supportLevel = !supported ? "unsupported" : mappingInfo?.source === "fallback" ? "fallback" : mappingInfo?.source === "explicit" ? "mapped" : "native";
2385
+ return {
2386
+ method: methodName,
2387
+ target,
2388
+ platform,
2389
+ mapped: target !== methodName,
2390
+ supported,
2391
+ supportLevel,
2392
+ semanticAligned: supportLevel === "native" || supportLevel === "mapped"
2393
+ };
2394
+ };
2395
+ const supports = (methodName, queryOptions = {}) => {
2396
+ const resolved = resolveTarget(methodName);
2397
+ if (queryOptions.semantic === true) return resolved.semanticAligned;
2398
+ return resolved.supported;
2399
+ };
431
2400
  return new Proxy({}, { get(_target, prop) {
432
2401
  if (prop === Symbol.toStringTag) return "Weapi";
433
2402
  if (prop === "then") return;
@@ -436,6 +2405,8 @@ function createWeapi(options = {}) {
436
2405
  if (prop === "getAdapter") return getAdapter;
437
2406
  if (prop === "platform") return getPlatform();
438
2407
  if (prop === "raw") return getAdapter();
2408
+ if (prop === "resolveTarget") return resolveTarget;
2409
+ if (prop === "supports") return supports;
439
2410
  }
440
2411
  if (cache.has(prop)) return cache.get(prop);
441
2412
  const currentAdapter = resolveAdapter();
@@ -444,7 +2415,7 @@ function createWeapi(options = {}) {
444
2415
  return (...args) => callMissingApi(prop, getPlatform(), args);
445
2416
  }
446
2417
  const platform = getPlatform();
447
- const value = currentAdapter[(typeof prop === "string" ? resolveMethodMapping(platform, prop) : void 0)?.target ?? prop];
2418
+ const value = currentAdapter[(typeof prop === "string" ? resolveMethodMappingWithMeta(platform, prop, { allowFallback }) : void 0)?.target ?? prop];
448
2419
  if (typeof value !== "function") {
449
2420
  if (value === void 0 && typeof prop === "string") {
450
2421
  const missing = (...args) => callMissingApi(prop, getPlatform(), args);
@@ -456,14 +2427,26 @@ function createWeapi(options = {}) {
456
2427
  }
457
2428
  const wrapped = (...args) => {
458
2429
  const runtimeAdapter = resolveAdapter();
459
- const mappingRule = resolveMethodMapping(getPlatform(), prop);
460
- const methodName = mappingRule?.target ?? prop;
2430
+ const mappingInfo = resolveMethodMappingWithMeta(getPlatform(), prop, { allowFallback });
2431
+ const mappingRule = mappingInfo?.rule;
2432
+ const methodName = mappingInfo?.target ?? prop;
461
2433
  const runtimeMethod = runtimeAdapter ? runtimeAdapter[methodName] : void 0;
462
- const runtimeArgs = mappingRule?.mapArgs ? mappingRule.mapArgs(args) : args;
2434
+ let runtimeArgs = args;
2435
+ try {
2436
+ runtimeArgs = mappingRule?.mapArgs ? mappingRule.mapArgs(args) : args;
2437
+ } catch (error) {
2438
+ const lastArg = args.length > 0 ? args[args.length - 1] : void 0;
2439
+ if (hasCallbacks(lastArg)) {
2440
+ lastArg.fail?.(error);
2441
+ lastArg.complete?.(error);
2442
+ return;
2443
+ }
2444
+ return Promise.reject(error);
2445
+ }
463
2446
  if (typeof runtimeMethod !== "function") return callMissingApi(prop, getPlatform(), args);
464
2447
  if (shouldSkipPromise(prop)) {
465
2448
  const result = runtimeMethod.apply(runtimeAdapter, runtimeArgs);
466
- return mappingRule?.mapResult ? mappingRule.mapResult(result) : result;
2449
+ return mappingRule?.mapResult ? mappingRule.mapResult(result, runtimeArgs) : result;
467
2450
  }
468
2451
  const lastArg = runtimeArgs.length > 0 ? runtimeArgs[runtimeArgs.length - 1] : void 0;
469
2452
  if (hasCallbacks(lastArg)) {
@@ -472,22 +2455,42 @@ function createWeapi(options = {}) {
472
2455
  const originalSuccess = options.success;
473
2456
  const originalComplete = options.complete;
474
2457
  options.success = (res) => {
475
- originalSuccess?.(mappingRule.mapResult(res));
2458
+ originalSuccess?.(mappingRule.mapResult(res, runtimeArgs));
476
2459
  };
477
2460
  options.complete = (res) => {
478
- originalComplete?.(mappingRule.mapResult(res));
2461
+ originalComplete?.(mappingRule.mapResult(res, runtimeArgs));
479
2462
  };
480
2463
  }
481
- const result = runtimeMethod.apply(runtimeAdapter, runtimeArgs);
482
- return mappingRule?.mapResult ? mappingRule.mapResult(result) : result;
2464
+ networkPolicy.bindAdapter(runtimeAdapter);
2465
+ const networkCall = networkPolicy.prepareCall(prop, runtimeArgs);
2466
+ if (networkCall?.blockedError) return callWithError(networkCall.blockedError, runtimeArgs);
2467
+ const nextRuntimeArgs = networkCall?.args ?? runtimeArgs;
2468
+ const invokeRuntime = () => runtimeMethod.apply(runtimeAdapter, nextRuntimeArgs);
2469
+ const result = networkCall ? networkCall.invoke(invokeRuntime) : invokeRuntime();
2470
+ return mappingRule?.mapResult ? mappingRule.mapResult(result, nextRuntimeArgs) : result;
483
2471
  }
484
- return callWithPromise(runtimeAdapter, runtimeMethod, runtimeArgs, mappingRule?.mapResult);
2472
+ let networkCall;
2473
+ return callWithPromise(runtimeAdapter, runtimeMethod, runtimeArgs, mappingRule?.mapResult, {
2474
+ onOptions: (_options, nextArgs) => {
2475
+ networkPolicy.bindAdapter(runtimeAdapter);
2476
+ networkCall = networkPolicy.prepareCall(prop, nextArgs);
2477
+ if (networkCall?.blockedError) throw networkCall.blockedError;
2478
+ if (!networkCall) return;
2479
+ nextArgs.splice(0, nextArgs.length, ...networkCall.args);
2480
+ },
2481
+ invoke: (invoke) => {
2482
+ if (networkCall) {
2483
+ networkCall.invoke(invoke);
2484
+ return;
2485
+ }
2486
+ invoke();
2487
+ }
2488
+ });
485
2489
  };
486
2490
  cache.set(prop, wrapped);
487
2491
  return wrapped;
488
2492
  } });
489
2493
  }
490
-
491
2494
  //#endregion
492
2495
  //#region src/index.ts
493
2496
  /**
@@ -503,6 +2506,5 @@ function createWeapi(options = {}) {
503
2506
  * @generated weapi-platform-matrix:end
504
2507
  */
505
2508
  const wpi = createWeapi();
506
-
507
2509
  //#endregion
508
- export { createWeapi, wpi };
2510
+ export { createWeapi, wpi };