zcw-shared 1.40.1 → 1.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/functions/android/configureAppIcon.d.ts +17 -0
  2. package/dist/functions/android/configureAppIcon.js +106 -0
  3. package/dist/functions/android/configureAppIcon.js.map +1 -0
  4. package/dist/functions/android/configureLaunchScreen.d.ts +5 -1
  5. package/dist/functions/android/configureLaunchScreen.js +115 -20
  6. package/dist/functions/android/configureLaunchScreen.js.map +1 -1
  7. package/dist/functions/android/modifyGradle.d.ts +1 -0
  8. package/dist/functions/android/modifyGradle.js +5 -0
  9. package/dist/functions/android/modifyGradle.js.map +1 -1
  10. package/dist/functions/android/permission.d.ts +17 -3
  11. package/dist/functions/android/permission.js +26 -6
  12. package/dist/functions/android/permission.js.map +1 -1
  13. package/dist/functions/ios/configureAppIcon.d.ts +17 -0
  14. package/dist/functions/ios/configureAppIcon.js +149 -0
  15. package/dist/functions/ios/configureAppIcon.js.map +1 -0
  16. package/dist/functions/ios/configureLaunchScreen.js +70 -57
  17. package/dist/functions/ios/configureLaunchScreen.js.map +1 -1
  18. package/dist/functions/ios/configurePermissions.d.ts +19 -0
  19. package/dist/functions/ios/configurePermissions.js +120 -0
  20. package/dist/functions/ios/configurePermissions.js.map +1 -0
  21. package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +2 -1
  22. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +100 -34
  23. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  24. package/dist/functions/uniapp/app-plus/buildAndroidPlugin.js +42 -34
  25. package/dist/functions/uniapp/app-plus/buildAndroidPlugin.js.map +1 -1
  26. package/dist/functions/uniapp/app-plus/buildIOSApp.js +92 -28
  27. package/dist/functions/uniapp/app-plus/buildIOSApp.js.map +1 -1
  28. package/dist/functions/uniapp/app-plus/buildIOSPlugin.js +50 -27
  29. package/dist/functions/uniapp/app-plus/buildIOSPlugin.js.map +1 -1
  30. package/package.json +4 -1
  31. package/types/uniapp-android-build.d.ts +18 -0
  32. package/types/uniapp-ios-build.d.ts +18 -0
  33. package/dist/functions/functional/constant.d.ts +0 -1
  34. package/dist/functions/functional/constant.js +0 -4
  35. package/dist/functions/functional/constant.js.map +0 -1
  36. package/dist/functions/functional/identity.d.ts +0 -1
  37. package/dist/functions/functional/identity.js +0 -4
  38. package/dist/functions/functional/identity.js.map +0 -1
  39. package/dist/functions/functional/noop.d.ts +0 -1
  40. package/dist/functions/functional/noop.js +0 -3
  41. package/dist/functions/functional/noop.js.map +0 -1
  42. package/dist/functions/tencent-cloud/getSecret.d.ts +0 -4
  43. package/dist/functions/tencent-cloud/getSecret.js +0 -19
  44. package/dist/functions/tencent-cloud/getSecret.js.map +0 -1
  45. package/dist/functions/wechat/useWxWebShare.d.ts +0 -26
  46. package/dist/functions/wechat/useWxWebShare.js +0 -141
  47. package/dist/functions/wechat/useWxWebShare.js.map +0 -1
  48. package/dist/hybrid/constants.d.ts +0 -37
  49. package/dist/hybrid/constants.js +0 -38
  50. package/dist/hybrid/constants.js.map +0 -1
  51. package/dist/hybrid/createBridgeMessage.d.ts +0 -17
  52. package/dist/hybrid/createBridgeMessage.js +0 -81
  53. package/dist/hybrid/createBridgeMessage.js.map +0 -1
  54. package/dist/hybrid/types.d.ts +0 -88
  55. package/dist/hybrid/types.js +0 -2
  56. package/dist/hybrid/types.js.map +0 -1
  57. package/dist/vue-hooks/browser/useWechatEnv.d.ts +0 -10
  58. package/dist/vue-hooks/browser/useWechatEnv.js +0 -23
  59. package/dist/vue-hooks/browser/useWechatEnv.js.map +0 -1
@@ -96,6 +96,14 @@ export interface UniAppIOSBuildOptions extends IOSBuildOptions {
96
96
  uniappProjectPath: string
97
97
  /** UniApp 编译结果路径(可选,如果提供则跳过构建步骤,直接使用此路径) */
98
98
  uniappBuildOutputPath?: string
99
+ /** UniApp 应用 ID(如 __UNI__7AE6056) */
100
+ uniAppId: string
101
+ /** 应用显示名称 */
102
+ displayName: string
103
+ /** 版本名称(如 1.0.0) */
104
+ versionName: string
105
+ /** 版本代码(如 1) */
106
+ versionCode: string
99
107
  /** iOS Bundle Identifier */
100
108
  bundleId?: string
101
109
  /** UniApp 应用密钥 */
@@ -108,6 +116,8 @@ export interface UniAppIOSBuildOptions extends IOSBuildOptions {
108
116
  appIconPath?: string
109
117
  /** 启动屏路径(可选,如果提供则配置 LaunchScreen) */
110
118
  launchScreenPath?: string
119
+ /** iOS 权限列表(可选,如 ['CAMERA', 'READ_EXTERNAL_STORAGE'],会自动映射到对应的 iOS 权限 key) */
120
+ permissions?: string[]
111
121
  /** 是否开启 IDFA(可选,默认为 false) */
112
122
  enableIDFA?: boolean
113
123
  /** 微信分享配置(可选) */
@@ -165,6 +175,14 @@ export interface UniAppIOSPluginBuildOptions extends IOSBuildOptions {
165
175
  uniappProjectPath: string
166
176
  /** UniApp 编译结果路径(可选,如果提供则跳过构建步骤,直接使用此路径) */
167
177
  uniappBuildOutputPath?: string
178
+ /** UniApp 应用 ID(如 __UNI__7AE6056) */
179
+ uniAppId: string
180
+ /** 应用显示名称 */
181
+ displayName: string
182
+ /** 版本名称(如 1.0.0) */
183
+ versionName: string
184
+ /** 版本代码(如 1) */
185
+ versionCode: string
168
186
  /** iOS Bundle Identifier */
169
187
  bundleId?: string
170
188
  /** UniApp 应用密钥 */
@@ -1 +0,0 @@
1
- export declare function constant<T>(value: T): (...args: any[]) => T;
@@ -1,4 +0,0 @@
1
- export function constant(value) {
2
- return () => value;
3
- }
4
- //# sourceMappingURL=constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../src/functions/functional/constant.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,QAAQ,CAAI,KAAQ;IAClC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAA;AACpB,CAAC"}
@@ -1 +0,0 @@
1
- export declare function identity<T>(value: T): T;
@@ -1,4 +0,0 @@
1
- export function identity(value) {
2
- return value;
3
- }
4
- //# sourceMappingURL=identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/functions/functional/identity.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1 +0,0 @@
1
- export declare function noop(...args: any[]): void;
@@ -1,3 +0,0 @@
1
- export function noop(...args) {
2
- }
3
- //# sourceMappingURL=noop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noop.js","sourceRoot":"","sources":["../../../src/functions/functional/noop.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,IAAI,CAAC,GAAG,IAAW;AAEnC,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { TencentCloudSecret } from '../../../references/tencent-cloud.d';
2
- import type { SecretType } from '../../../types/tencent-cloud.d';
3
- export declare function getSecret(type: SecretType): TencentCloudSecret;
4
- export default getSecret;
@@ -1,19 +0,0 @@
1
- const secretMap = {
2
- personal: {
3
- secretId: 'AKIDKVQ5VjiQu73j9IBnFRN2QYQ2MQEl22mI',
4
- secretKey: 'IL7cqoWy94lDsGSXP9gxzkGXcSFrDJ8h',
5
- },
6
- individual: {
7
- secretId: 'AKID2A6oIZcT5TcWBetteARULxKSM1ResARl',
8
- secretKey: 'INFtISN3VmocDZgYBZicIitpWyEG4f2B',
9
- },
10
- enterprise: {
11
- secretId: 'AKIDRhqpgKn46uVvACzd7ORGTbaLtHSSEn8H',
12
- secretKey: '95tV4Ql02wpY5QaaOzTlrjOr8OQFsHUW',
13
- },
14
- };
15
- export function getSecret(type) {
16
- return secretMap[type];
17
- }
18
- export default getSecret;
19
- //# sourceMappingURL=getSecret.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSecret.js","sourceRoot":"","sources":["../../../src/functions/tencent-cloud/getSecret.ts"],"names":[],"mappings":"AAIA,MAAM,SAAS,GAA2C;IACxD,QAAQ,EAAE;QAER,QAAQ,EAAE,sCAAsC;QAChD,SAAS,EAAE,kCAAkC;KAC9C;IACD,UAAU,EAAE;QAEV,QAAQ,EAAE,sCAAsC;QAChD,SAAS,EAAE,kCAAkC;KAC9C;IACD,UAAU,EAAE;QAEV,QAAQ,EAAE,sCAAsC;QAChD,SAAS,EAAE,kCAAkC;KAC9C;CACF,CAAA;AAoCD,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAKD,eAAe,SAAS,CAAA"}
@@ -1,26 +0,0 @@
1
- import type { Navigator } from '../../../references/browser.d';
2
- import type { Console } from '../../../references/console.d';
3
- import type { WxWeb } from '../../../references/wechat.d';
4
- export interface UseWxWebShareOptions {
5
- title: string;
6
- desc?: string;
7
- link: string;
8
- imgUrl?: string;
9
- timelineTitle?: string;
10
- onSuccess?: () => void;
11
- onCancel?: () => void;
12
- onFail?: (error: Error) => void;
13
- }
14
- export interface UseWxWebShareDeps {
15
- getUserAgent: () => Navigator['userAgent'];
16
- getWx: () => WxWeb | undefined;
17
- loadWxScript?: (url: string) => Promise<void>;
18
- jssdkUrl?: string;
19
- warn?: Console['warn'];
20
- errorLog?: Console['error'];
21
- }
22
- export interface UseWxWebShareResult {
23
- isWeChat: boolean;
24
- applied: boolean;
25
- }
26
- export declare const useWxWebShare: (options: UseWxWebShareOptions, deps: UseWxWebShareDeps) => Promise<UseWxWebShareResult>;
@@ -1,141 +0,0 @@
1
- const WECHAT_UA_REGEXP = /MicroMessenger/i;
2
- const DEFAULT_JSSDK_URL = 'https://res.wx.qq.com/open/js/jweixin-1.6.0.js';
3
- let cachedWx;
4
- let wxLoadingPromise;
5
- const normalizeError = (source) => {
6
- if (source instanceof Error) {
7
- return source;
8
- }
9
- if (typeof source === 'string') {
10
- return new Error(source);
11
- }
12
- if (source && typeof source === 'object') {
13
- const maybeError = source;
14
- if (maybeError.errMsg) {
15
- return new Error(maybeError.errMsg);
16
- }
17
- }
18
- return new Error('微信分享调用失败');
19
- };
20
- const ensureWxInstance = async (deps) => {
21
- if (cachedWx) {
22
- return cachedWx;
23
- }
24
- const existing = deps.getWx();
25
- if (existing) {
26
- cachedWx = existing;
27
- return existing;
28
- }
29
- if (!deps.loadWxScript) {
30
- throw new Error('useWxWebShare: 未检测到微信 JSSDK 实例,且缺少 loadWxScript 依赖用以加载脚本');
31
- }
32
- if (!wxLoadingPromise) {
33
- wxLoadingPromise = deps
34
- .loadWxScript(deps.jssdkUrl ?? DEFAULT_JSSDK_URL)
35
- .then(() => {
36
- const loaded = deps.getWx();
37
- if (!loaded) {
38
- throw new Error('useWxWebShare: 微信 JSSDK 脚本加载后仍未检测到 wx 实例');
39
- }
40
- cachedWx = loaded;
41
- return loaded;
42
- })
43
- .finally(() => {
44
- wxLoadingPromise = undefined;
45
- });
46
- }
47
- return wxLoadingPromise;
48
- };
49
- const isWeChatEnvironment = (userAgent) => {
50
- return typeof userAgent === 'string' && WECHAT_UA_REGEXP.test(userAgent);
51
- };
52
- const buildAppMessageOptions = (params) => {
53
- const { title, desc, link, imgUrl, onSuccess, onCancel, onFail } = params;
54
- return {
55
- title,
56
- desc,
57
- link,
58
- imgUrl,
59
- success: onSuccess,
60
- cancel: onCancel,
61
- fail: (error) => {
62
- onFail?.(normalizeError(error));
63
- }
64
- };
65
- };
66
- const buildTimelineOptions = (params) => {
67
- const { timelineTitle, title, link, imgUrl, onSuccess, onCancel, onFail } = params;
68
- return {
69
- title: timelineTitle ?? title,
70
- link,
71
- imgUrl,
72
- success: onSuccess,
73
- cancel: onCancel,
74
- fail: (error) => {
75
- onFail?.(normalizeError(error));
76
- }
77
- };
78
- };
79
- export const useWxWebShare = async (options, deps) => {
80
- const userAgent = deps.getUserAgent();
81
- if (!isWeChatEnvironment(userAgent)) {
82
- deps.warn?.('useWxWebShare: 当前环境不是微信内置浏览器,跳过分享设置');
83
- return {
84
- isWeChat: false,
85
- applied: false
86
- };
87
- }
88
- if (!options || typeof options !== 'object') {
89
- throw new Error('useWxWebShare: 必须提供分享配置参数');
90
- }
91
- if (!options.title || !options.link) {
92
- throw new Error('useWxWebShare: title 和 link 为必填项');
93
- }
94
- const messageOptions = buildAppMessageOptions(options);
95
- const timelineOptions = buildTimelineOptions(options);
96
- const wx = await ensureWxInstance(deps);
97
- const shareToFriend = wx.updateAppMessageShareData ?? wx.onMenuShareAppMessage;
98
- const shareToTimeline = wx.updateTimelineShareData ?? wx.onMenuShareTimeline;
99
- if (!shareToFriend) {
100
- throw new Error('useWxWebShare: 当前微信环境缺少 updateAppMessageShareData/onMenuShareAppMessage 接口');
101
- }
102
- if (!shareToTimeline) {
103
- throw new Error('useWxWebShare: 当前微信环境缺少 updateTimelineShareData/onMenuShareTimeline 接口');
104
- }
105
- return new Promise((resolve, reject) => {
106
- let resolved = false;
107
- const handleReady = () => {
108
- try {
109
- shareToFriend(messageOptions);
110
- shareToTimeline(timelineOptions);
111
- resolved = true;
112
- resolve({
113
- isWeChat: true,
114
- applied: true
115
- });
116
- }
117
- catch (error) {
118
- const normalized = normalizeError(error);
119
- options.onFail?.(normalized);
120
- deps.errorLog?.('useWxWebShare: 注册分享时出现错误', normalized);
121
- reject(normalized);
122
- }
123
- };
124
- const handleError = (error) => {
125
- const normalized = normalizeError(error);
126
- deps.errorLog?.('useWxWebShare: 微信 JSSDK 初始化失败', normalized);
127
- options.onFail?.(normalized);
128
- if (!resolved) {
129
- reject(normalized);
130
- }
131
- };
132
- try {
133
- wx.ready(handleReady);
134
- wx.error(handleError);
135
- }
136
- catch (error) {
137
- handleError(error);
138
- }
139
- });
140
- };
141
- //# sourceMappingURL=useWxWebShare.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWxWebShare.js","sourceRoot":"","sources":["../../../src/functions/wechat/useWxWebShare.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- export declare const DEFAULT_TIMEOUT = 5000;
2
- export declare const DEFAULT_RETRY = 0;
3
- export declare const DEFAULT_ENABLE_LOG = false;
4
- export declare const MESSAGE_TYPES: {
5
- readonly REQUEST: "request";
6
- readonly RESPONSE: "response";
7
- readonly EVENT: "event";
8
- readonly ERROR: "error";
9
- };
10
- export declare const ACTIONS: {
11
- readonly SHARE: "share";
12
- readonly LOGIN: "login";
13
- readonly PAY: "pay";
14
- readonly LOCATION: "location";
15
- readonly FILE: "file";
16
- readonly SCAN: "scan";
17
- readonly USER_INFO: "userInfo";
18
- readonly CUSTOM: "custom";
19
- };
20
- export declare const ERROR_CODES: {
21
- readonly TIMEOUT: "TIMEOUT";
22
- readonly NOT_AVAILABLE: "NOT_AVAILABLE";
23
- readonly INVALID_MESSAGE: "INVALID_MESSAGE";
24
- readonly NETWORK_ERROR: "NETWORK_ERROR";
25
- readonly UNKNOWN_ERROR: "UNKNOWN_ERROR";
26
- readonly TARGET_NOT_FOUND: "TARGET_NOT_FOUND";
27
- readonly METHOD_NOT_SUPPORTED: "METHOD_NOT_SUPPORTED";
28
- };
29
- export declare const ERROR_MESSAGES: {
30
- readonly TIMEOUT: "请求超时";
31
- readonly NOT_AVAILABLE: "当前环境不支持此功能";
32
- readonly INVALID_MESSAGE: "无效的消息格式";
33
- readonly NETWORK_ERROR: "网络错误";
34
- readonly UNKNOWN_ERROR: "未知错误";
35
- readonly TARGET_NOT_FOUND: "目标环境未找到";
36
- readonly METHOD_NOT_SUPPORTED: "不支持的方法";
37
- };
@@ -1,38 +0,0 @@
1
- export const DEFAULT_TIMEOUT = 5000;
2
- export const DEFAULT_RETRY = 0;
3
- export const DEFAULT_ENABLE_LOG = false;
4
- export const MESSAGE_TYPES = {
5
- REQUEST: 'request',
6
- RESPONSE: 'response',
7
- EVENT: 'event',
8
- ERROR: 'error'
9
- };
10
- export const ACTIONS = {
11
- SHARE: 'share',
12
- LOGIN: 'login',
13
- PAY: 'pay',
14
- LOCATION: 'location',
15
- FILE: 'file',
16
- SCAN: 'scan',
17
- USER_INFO: 'userInfo',
18
- CUSTOM: 'custom'
19
- };
20
- export const ERROR_CODES = {
21
- TIMEOUT: 'TIMEOUT',
22
- NOT_AVAILABLE: 'NOT_AVAILABLE',
23
- INVALID_MESSAGE: 'INVALID_MESSAGE',
24
- NETWORK_ERROR: 'NETWORK_ERROR',
25
- UNKNOWN_ERROR: 'UNKNOWN_ERROR',
26
- TARGET_NOT_FOUND: 'TARGET_NOT_FOUND',
27
- METHOD_NOT_SUPPORTED: 'METHOD_NOT_SUPPORTED'
28
- };
29
- export const ERROR_MESSAGES = {
30
- [ERROR_CODES.TIMEOUT]: '请求超时',
31
- [ERROR_CODES.NOT_AVAILABLE]: '当前环境不支持此功能',
32
- [ERROR_CODES.INVALID_MESSAGE]: '无效的消息格式',
33
- [ERROR_CODES.NETWORK_ERROR]: '网络错误',
34
- [ERROR_CODES.UNKNOWN_ERROR]: '未知错误',
35
- [ERROR_CODES.TARGET_NOT_FOUND]: '目标环境未找到',
36
- [ERROR_CODES.METHOD_NOT_SUPPORTED]: '不支持的方法'
37
- };
38
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/hybrid/constants.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAA;AAEV,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,QAAQ;CACR,CAAA;AAEV,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;CACpC,CAAA;AAEV,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM;IAC7B,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,YAAY;IACzC,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,SAAS;IACxC,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM;IACnC,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM;IACnC,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,SAAS;IACzC,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,QAAQ;CACpC,CAAA"}
@@ -1,17 +0,0 @@
1
- import type { PlatformDeps } from './types';
2
- export interface BridgeMessageData {
3
- [key: string]: any;
4
- }
5
- export interface SendOptions {
6
- useTransferPage?: boolean;
7
- autoNavigateBack?: boolean;
8
- navigateBackDelay?: number;
9
- }
10
- export declare function createBridgeMessage(deps: PlatformDeps): {
11
- environment: string;
12
- postMessage: (data: BridgeMessageData, options?: SendOptions) => Promise<void>;
13
- loadWechatJSSDK: () => Promise<void>;
14
- isInWechatMiniprogram: () => boolean;
15
- isInAppWebview: () => boolean;
16
- isBridgeSupported: () => boolean;
17
- };
@@ -1,81 +0,0 @@
1
- export function createBridgeMessage(deps) {
2
- const { window: win, navigator: nav, isServer, setTimeout, clearTimeout, setInterval, clearInterval } = deps;
3
- const detectEnvironment = () => {
4
- if (isServer())
5
- return 'unknown';
6
- if (!win)
7
- return 'unknown';
8
- const ua = nav?.userAgent?.toLowerCase() || '';
9
- if (ua.includes('miniprogram') || (win.wx && win.wx.miniProgram)) {
10
- return 'wechat-miniprogram';
11
- }
12
- if (win.self !== win.top || ua.includes('app-webview') || ua.includes('uniapp') || win.uni) {
13
- return 'app-webview';
14
- }
15
- return 'browser';
16
- };
17
- const environment = detectEnvironment();
18
- const loadWechatJSSDK = () => {
19
- if (isServer() || !win)
20
- return Promise.reject(new Error('服务端环境'));
21
- return new Promise((resolve, reject) => {
22
- if (win.wx && win.wx.miniProgram) {
23
- resolve();
24
- return;
25
- }
26
- const script = win.document.createElement('script');
27
- script.src = 'https://res.wx.qq.com/open/js/jweixin-1.3.2.js';
28
- script.onload = () => {
29
- const check = setInterval(() => {
30
- if (win.wx && win.wx.miniProgram) {
31
- clearInterval(check);
32
- resolve();
33
- }
34
- }, 50);
35
- setTimeout(() => { clearInterval(check); reject(new Error('超时')); }, 3000);
36
- };
37
- script.onerror = () => reject(new Error('加载失败'));
38
- win.document.head.appendChild(script);
39
- });
40
- };
41
- const postMessage = async (data, options) => {
42
- if (isServer() || !win)
43
- throw new Error('服务端环境');
44
- await loadWechatJSSDK();
45
- const wx = win.wx;
46
- if (!wx || !wx.miniProgram)
47
- throw new Error('wx.miniProgram 不可用');
48
- if (environment === 'wechat-miniprogram' && options?.useTransferPage) {
49
- const messageData = { ...data, timestamp: Date.now(), source: 'h5-webview' };
50
- const h5BaseUrl = win.location.origin;
51
- const messageParam = encodeURIComponent(JSON.stringify(messageData));
52
- const transferH5Url = `${h5BaseUrl}/bridge-transfer?message=${messageParam}`;
53
- const miniprogramUrl = `/pages/webview/webview?url=${encodeURIComponent(transferH5Url)}`;
54
- return new Promise((resolve, reject) => {
55
- wx.miniProgram.navigateTo({
56
- url: miniprogramUrl,
57
- success: () => resolve(),
58
- fail: (err) => reject(new Error(err.errMsg || '跳转失败'))
59
- });
60
- });
61
- }
62
- wx.miniProgram.postMessage({ data: { ...data, timestamp: Date.now() } });
63
- if (options?.autoNavigateBack) {
64
- return new Promise((resolve) => {
65
- setTimeout(() => {
66
- wx.miniProgram.navigateBack();
67
- resolve();
68
- }, options.navigateBackDelay || 300);
69
- });
70
- }
71
- };
72
- return {
73
- environment,
74
- postMessage,
75
- loadWechatJSSDK,
76
- isInWechatMiniprogram: () => environment === 'wechat-miniprogram',
77
- isInAppWebview: () => environment === 'app-webview',
78
- isBridgeSupported: () => environment === 'wechat-miniprogram' || environment === 'app-webview'
79
- };
80
- }
81
- //# sourceMappingURL=createBridgeMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBridgeMessage.js","sourceRoot":"","sources":["../../src/hybrid/createBridgeMessage.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- export type Environment = 'h5' | 'miniapp' | 'app' | 'unknown';
2
- export type BridgeDirection = 'h5-to-miniapp' | 'h5-to-app' | 'miniapp-to-h5' | 'app-to-h5';
3
- export type MessageType = 'request' | 'response' | 'event' | 'error';
4
- export interface BaseMessage {
5
- id: string;
6
- type: MessageType;
7
- action: string;
8
- method?: string;
9
- timestamp: number;
10
- }
11
- export interface RequestMessage extends BaseMessage {
12
- type: 'request';
13
- method: string;
14
- params?: any;
15
- }
16
- export interface ResponseMessage extends BaseMessage {
17
- type: 'response';
18
- success: boolean;
19
- data?: any;
20
- error?: {
21
- code: string | number;
22
- message: string;
23
- details?: any;
24
- };
25
- }
26
- export interface EventMessage extends BaseMessage {
27
- type: 'event';
28
- event: string;
29
- data?: any;
30
- }
31
- export interface ErrorMessage extends BaseMessage {
32
- type: 'error';
33
- error: {
34
- code: string | number;
35
- message: string;
36
- details?: any;
37
- };
38
- }
39
- export type BridgeMessage = RequestMessage | ResponseMessage | EventMessage | ErrorMessage;
40
- export type MessageHandler = (message: BridgeMessage) => void | Promise<void>;
41
- export type EventListener = (data?: any) => void;
42
- export interface BridgeOptions {
43
- timeout?: number;
44
- retry?: number;
45
- enableLog?: boolean;
46
- useTransferPage?: boolean;
47
- }
48
- export interface CapabilityCheck {
49
- available: boolean;
50
- reason?: string;
51
- details?: any;
52
- }
53
- export interface PendingRequest {
54
- id: string;
55
- resolve: (value: ResponseMessage) => void;
56
- reject: (error: any) => void;
57
- timeout: any;
58
- timestamp: number;
59
- }
60
- export interface PlatformDeps {
61
- window: {
62
- wx?: any;
63
- uni?: any;
64
- plus?: any;
65
- document: {
66
- createElement: (tag: string) => any;
67
- querySelector: (selector: string) => any;
68
- head: {
69
- appendChild: (el: any) => any;
70
- };
71
- };
72
- location: {
73
- origin: string;
74
- href: string;
75
- };
76
- self: any;
77
- top: any;
78
- parent: any;
79
- };
80
- navigator: {
81
- userAgent: string;
82
- };
83
- isServer: () => boolean;
84
- setTimeout: (callback: () => void, ms: number) => any;
85
- clearTimeout: (id: any) => void;
86
- setInterval: (callback: () => void, ms: number) => any;
87
- clearInterval: (id: any) => void;
88
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hybrid/types.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import type { Navigator } from '../../../references/browser.d';
2
- export interface UseWechatEnvDeps {
3
- getUserAgent: () => Navigator['userAgent'];
4
- }
5
- export interface UseWechatEnvReturn {
6
- isWechatBrowser: () => boolean;
7
- getWechatVersion: () => string | null;
8
- isWechatMiniProgram: () => boolean;
9
- }
10
- export declare function useWechatEnv(deps: UseWechatEnvDeps): UseWechatEnvReturn;
@@ -1,23 +0,0 @@
1
- import { isWeChat } from '../../functions/browser/isWeChat';
2
- export function useWechatEnv(deps) {
3
- const isWechatBrowser = () => {
4
- return isWeChat({
5
- userAgent: deps.getUserAgent()
6
- });
7
- };
8
- const getWechatVersion = () => {
9
- const ua = deps.getUserAgent().toLowerCase();
10
- const match = ua.match(/micromessenger\/([\d.]+)/);
11
- return match ? match[1] : null;
12
- };
13
- const isWechatMiniProgram = () => {
14
- const ua = deps.getUserAgent().toLowerCase();
15
- return /miniprogram/.test(ua);
16
- };
17
- return {
18
- isWechatBrowser,
19
- getWechatVersion,
20
- isWechatMiniProgram
21
- };
22
- }
23
- //# sourceMappingURL=useWechatEnv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWechatEnv.js","sourceRoot":"","sources":["../../../src/vue-hooks/browser/useWechatEnv.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAwC3D,MAAM,UAAU,YAAY,CAAC,IAAsB;IAIjD,MAAM,eAAe,GAAG,GAAY,EAAE;QACpC,OAAO,QAAQ,CAAC;YACd,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;SAC/B,CAAC,CAAA;IACJ,CAAC,CAAA;IAKD,MAAM,gBAAgB,GAAG,GAAkB,EAAE;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAClD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAChC,CAAC,CAAA;IAKD,MAAM,mBAAmB,GAAG,GAAY,EAAE;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5C,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,OAAO;QACL,eAAe;QACf,gBAAgB;QAChB,mBAAmB;KACpB,CAAA;AACH,CAAC"}