zcw-shared 1.37.0 → 1.38.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.
Files changed (59) hide show
  1. package/README.md +8 -0
  2. package/dist/functions/android/modifyGradle.d.ts +1 -0
  3. package/dist/functions/android/modifyGradle.js +45 -0
  4. package/dist/functions/android/modifyGradle.js.map +1 -1
  5. package/dist/functions/auth/parseJwtPayload.d.ts +7 -0
  6. package/dist/functions/auth/parseJwtPayload.js +33 -0
  7. package/dist/functions/auth/parseJwtPayload.js.map +1 -0
  8. package/dist/functions/browser/isWeChat.d.ts +5 -0
  9. package/dist/functions/browser/isWeChat.js +5 -0
  10. package/dist/functions/browser/isWeChat.js.map +1 -0
  11. package/dist/functions/ios/integrateNativePlugin.d.ts +31 -0
  12. package/dist/functions/ios/integrateNativePlugin.js +597 -0
  13. package/dist/functions/ios/integrateNativePlugin.js.map +1 -0
  14. package/dist/functions/ios/integrateQQShare.d.ts +14 -0
  15. package/dist/functions/ios/integrateQQShare.js +132 -0
  16. package/dist/functions/ios/integrateQQShare.js.map +1 -0
  17. package/dist/functions/ios/integrateSinaShare.d.ts +16 -0
  18. package/dist/functions/ios/integrateSinaShare.js +108 -0
  19. package/dist/functions/ios/integrateSinaShare.js.map +1 -0
  20. package/dist/functions/ios/integrateThirdPartyModule.d.ts +62 -0
  21. package/dist/functions/ios/integrateThirdPartyModule.js +874 -0
  22. package/dist/functions/ios/integrateThirdPartyModule.js.map +1 -0
  23. package/dist/functions/ios/integrateWechatOauth.d.ts +14 -0
  24. package/dist/functions/ios/integrateWechatOauth.js +107 -0
  25. package/dist/functions/ios/integrateWechatOauth.js.map +1 -0
  26. package/dist/functions/ios/integrateWechatShare.d.ts +14 -0
  27. package/dist/functions/ios/integrateWechatShare.js +101 -0
  28. package/dist/functions/ios/integrateWechatShare.js.map +1 -0
  29. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +128 -35
  30. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  31. package/dist/functions/uniapp/app-plus/buildIOSApp.d.ts +27 -0
  32. package/dist/functions/uniapp/app-plus/buildIOSApp.js +849 -0
  33. package/dist/functions/uniapp/app-plus/buildIOSApp.js.map +1 -0
  34. package/dist/functions/uniapp/parseManifest.d.ts +2 -0
  35. package/dist/functions/uniapp/parseManifest.js +3 -1
  36. package/dist/functions/uniapp/parseManifest.js.map +1 -1
  37. package/dist/vue-hooks/browser/useWechatEnv.d.ts +10 -0
  38. package/dist/vue-hooks/browser/useWechatEnv.js +23 -0
  39. package/dist/vue-hooks/browser/useWechatEnv.js.map +1 -0
  40. package/dist/vue-hooks/browser/useWechatJSSDK.d.ts +47 -0
  41. package/dist/vue-hooks/browser/useWechatJSSDK.js +174 -0
  42. package/dist/vue-hooks/browser/useWechatJSSDK.js.map +1 -0
  43. package/dist/vue-hooks/state/useGlobalSettingsManager.d.ts +2 -6
  44. package/dist/vue-hooks/state/useGlobalSettingsManager.js +20 -19
  45. package/dist/vue-hooks/state/useGlobalSettingsManager.js.map +1 -1
  46. package/dist/vue-hooks/state/useSystemSettingsManager.d.ts +2 -6
  47. package/dist/vue-hooks/state/useSystemSettingsManager.js +16 -15
  48. package/dist/vue-hooks/state/useSystemSettingsManager.js.map +1 -1
  49. package/dist/vue-hooks/state/useTokenManager.d.ts +2 -6
  50. package/dist/vue-hooks/state/useTokenManager.js +16 -15
  51. package/dist/vue-hooks/state/useTokenManager.js.map +1 -1
  52. package/dist/vue-hooks/state/useUserManager.d.ts +2 -6
  53. package/dist/vue-hooks/state/useUserManager.js +14 -13
  54. package/dist/vue-hooks/state/useUserManager.js.map +1 -1
  55. package/package.json +14 -1
  56. package/references/wechat.d.ts +8 -0
  57. package/types/ios-build.d.ts +47 -0
  58. package/types/uniapp-android-build.d.ts +10 -0
  59. package/types/uniapp-ios-build.d.ts +131 -0
@@ -0,0 +1,132 @@
1
+ import { integrateIOSThirdPartyModule } from './integrateThirdPartyModule';
2
+ export async function integrateQQShareIOS(projectPath, projectName, bundleId, config, deps) {
3
+ const logs = [];
4
+ try {
5
+ logs.push('开始集成QQ分享模块(iOS)');
6
+ const staticLibraries = [];
7
+ const frameworks = [];
8
+ if (config.liblibSharePath && deps.existsSync(config.liblibSharePath)) {
9
+ staticLibraries.push({
10
+ source: config.liblibSharePath,
11
+ targetName: 'liblibShare.a'
12
+ });
13
+ }
14
+ if (config.libQQSharePath && deps.existsSync(config.libQQSharePath)) {
15
+ staticLibraries.push({
16
+ source: config.libQQSharePath,
17
+ targetName: 'libQQShare.a'
18
+ });
19
+ }
20
+ if (config.tencentOpenAPIPath && deps.existsSync(config.tencentOpenAPIPath)) {
21
+ frameworks.push({
22
+ source: config.tencentOpenAPIPath,
23
+ targetName: 'TencentOpenAPI.xcframework'
24
+ });
25
+ }
26
+ const moduleConfig = {
27
+ name: 'QQ分享',
28
+ staticLibraries,
29
+ frameworks,
30
+ infoPlistModifications: [
31
+ {
32
+ action: 'addKeyValue',
33
+ key: 'UniversalLinks',
34
+ value: config.universalLinks.replace(/^applinks:/, 'https://')
35
+ },
36
+ {
37
+ action: 'addDictKeyValue',
38
+ key: 'qq',
39
+ dictValue: {
40
+ appid: config.appId,
41
+ UniversalLinks: config.universalLinks.replace(/^applinks:/, 'https://')
42
+ }
43
+ },
44
+ {
45
+ action: 'addURLScheme',
46
+ urlScheme: config.appId.startsWith('tencent') ? config.appId : `tencent${config.appId}`
47
+ },
48
+ {
49
+ action: 'addLSApplicationQueriesSchemes',
50
+ queriesScheme: 'mqqapi'
51
+ },
52
+ {
53
+ action: 'addLSApplicationQueriesSchemes',
54
+ queriesScheme: 'mqq'
55
+ },
56
+ {
57
+ action: 'addLSApplicationQueriesSchemes',
58
+ queriesScheme: 'mqqOpensdkSSoLogin'
59
+ },
60
+ {
61
+ action: 'addLSApplicationQueriesSchemes',
62
+ queriesScheme: 'mqqconnect'
63
+ },
64
+ {
65
+ action: 'addLSApplicationQueriesSchemes',
66
+ queriesScheme: 'mqqopensdkapi'
67
+ },
68
+ {
69
+ action: 'addLSApplicationQueriesSchemes',
70
+ queriesScheme: 'mqqopensdkapiV2'
71
+ },
72
+ {
73
+ action: 'addLSApplicationQueriesSchemes',
74
+ queriesScheme: 'mqqopensdkapiV3'
75
+ },
76
+ {
77
+ action: 'addLSApplicationQueriesSchemes',
78
+ queriesScheme: 'mqqopensdkapiV4'
79
+ },
80
+ {
81
+ action: 'addAssociatedDomain',
82
+ associatedDomain: config.universalLinks
83
+ }
84
+ ],
85
+ appDelegateMethods: [
86
+ {
87
+ code: `- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
88
+ [PDRCore handleSysEvent:PDRCoreSysEventContinueUserActivity withObject:userActivity];
89
+ restorationHandler(nil);
90
+ return YES;
91
+ }`,
92
+ position: 'after',
93
+ referenceMethod: '@end'
94
+ },
95
+ {
96
+ code: `- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
97
+ {
98
+ [PDRCore handleSysEvent:PDRCoreSysEventOpenURL withObject:url];
99
+ return YES;
100
+ }
101
+
102
+ - (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
103
+ [PDRCore handleSysEvent:PDRCoreSysEventOpenURLWithOptions withObject:@[url,options]];
104
+ return YES;
105
+ }`,
106
+ position: 'after',
107
+ referenceMethod: '@end'
108
+ }
109
+ ]
110
+ };
111
+ const result = await integrateIOSThirdPartyModule(projectPath, projectName, bundleId, moduleConfig, deps);
112
+ logs.push(...result.logs);
113
+ if (result.success) {
114
+ logs.push('QQ分享模块集成完成');
115
+ logs.push('注意: 请确保以下配置已正确设置:');
116
+ logs.push(` 1. Info.plist 中的 qq 字段: ${config.appId}`);
117
+ logs.push(` 2. URL Schemes: tencent${config.appId}`);
118
+ logs.push(` 3. Associated Domains: ${config.universalLinks} (已自动配置到 entitlements 文件)`);
119
+ logs.push(' 4. 在 Xcode 中手动添加静态库和框架到项目');
120
+ logs.push(' 5. 如果创建了新的 entitlements 文件,需要在 Xcode 的 Build Settings 中配置 Code Signing Entitlements');
121
+ }
122
+ return result;
123
+ }
124
+ catch (error) {
125
+ return {
126
+ success: false,
127
+ error: `集成QQ分享模块失败: ${error instanceof Error ? error.message : String(error)}`,
128
+ logs
129
+ };
130
+ }
131
+ }
132
+ //# sourceMappingURL=integrateQQShare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrateQQShare.js","sourceRoot":"","sources":["../../../src/functions/ios/integrateQQShare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { IntegrateIOSThirdPartyModuleDeps } from './integrateThirdPartyModule';
2
+ export interface SinaShareIOSConfig {
3
+ appKey: string;
4
+ appSecret: string;
5
+ redirectUri: string;
6
+ liblibSharePath?: string;
7
+ libSinaSharePath?: string;
8
+ libWeiboSDKPath?: string;
9
+ weiboSDKBundlePath?: string;
10
+ }
11
+ export declare function integrateSinaShareIOS(projectPath: string, projectName: string, bundleId: string, config: SinaShareIOSConfig, deps: IntegrateIOSThirdPartyModuleDeps): Promise<{
12
+ success: boolean;
13
+ message?: string;
14
+ error?: string;
15
+ logs: string[];
16
+ }>;
@@ -0,0 +1,108 @@
1
+ import { integrateIOSThirdPartyModule } from './integrateThirdPartyModule';
2
+ export async function integrateSinaShareIOS(projectPath, projectName, bundleId, config, deps) {
3
+ const logs = [];
4
+ try {
5
+ logs.push('开始集成新浪微博分享模块(iOS)');
6
+ const staticLibraries = [];
7
+ const bundles = [];
8
+ if (config.liblibSharePath && deps.existsSync(config.liblibSharePath)) {
9
+ staticLibraries.push({
10
+ source: config.liblibSharePath,
11
+ targetName: 'liblibShare.a'
12
+ });
13
+ }
14
+ if (config.libSinaSharePath && deps.existsSync(config.libSinaSharePath)) {
15
+ staticLibraries.push({
16
+ source: config.libSinaSharePath,
17
+ targetName: 'libSinaShare.a'
18
+ });
19
+ }
20
+ if (config.libWeiboSDKPath && deps.existsSync(config.libWeiboSDKPath)) {
21
+ staticLibraries.push({
22
+ source: config.libWeiboSDKPath,
23
+ targetName: 'libWeiboSDK.a'
24
+ });
25
+ }
26
+ if (config.weiboSDKBundlePath && deps.existsSync(config.weiboSDKBundlePath)) {
27
+ bundles.push({
28
+ source: config.weiboSDKBundlePath,
29
+ targetName: 'WeiboSDK.bundle'
30
+ });
31
+ }
32
+ const moduleConfig = {
33
+ name: '新浪微博分享',
34
+ staticLibraries,
35
+ bundles,
36
+ infoPlistModifications: [
37
+ {
38
+ action: 'addDictKeyValue',
39
+ key: 'sinaweibo',
40
+ dictValue: {
41
+ appkey: config.appKey,
42
+ appsecret: config.appSecret,
43
+ redirect_uri: config.redirectUri
44
+ }
45
+ },
46
+ {
47
+ action: 'addURLScheme',
48
+ urlScheme: config.appKey.startsWith('wb') ? config.appKey : `wb${config.appKey}`
49
+ },
50
+ {
51
+ action: 'addLSApplicationQueriesSchemes',
52
+ queriesScheme: 'sinaweibohd'
53
+ },
54
+ {
55
+ action: 'addLSApplicationQueriesSchemes',
56
+ queriesScheme: 'sinaweibo'
57
+ },
58
+ {
59
+ action: 'addLSApplicationQueriesSchemes',
60
+ queriesScheme: 'sinaweibosso'
61
+ },
62
+ {
63
+ action: 'addLSApplicationQueriesSchemes',
64
+ queriesScheme: 'weibosdk'
65
+ },
66
+ {
67
+ action: 'addLSApplicationQueriesSchemes',
68
+ queriesScheme: 'weibosdk2.5'
69
+ }
70
+ ],
71
+ appDelegateMethods: [
72
+ {
73
+ code: `- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
74
+ {
75
+ [PDRCore handleSysEvent:PDRCoreSysEventOpenURL withObject:url];
76
+ return YES;
77
+ }
78
+
79
+ - (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
80
+ [PDRCore handleSysEvent:PDRCoreSysEventOpenURLWithOptions withObject:@[url,options]];
81
+ return YES;
82
+ }`,
83
+ position: 'after',
84
+ referenceMethod: '@end'
85
+ }
86
+ ]
87
+ };
88
+ const result = await integrateIOSThirdPartyModule(projectPath, projectName, bundleId, moduleConfig, deps);
89
+ logs.push(...result.logs);
90
+ if (result.success) {
91
+ logs.push('新浪微博分享模块集成完成');
92
+ logs.push('注意: 请确保以下配置已正确设置:');
93
+ logs.push(` 1. Info.plist 中的 sinaweibo 字段(包含 appkey、appsecret、redirect_uri)`);
94
+ logs.push(` 2. URL Schemes: wb${config.appKey}`);
95
+ logs.push(' 3. 在 Xcode 中手动添加静态库和 bundle 到项目');
96
+ logs.push(' 4. 在 Xcode 中添加系统库依赖: ImageIO.framework、libsqlite3.0.tbd');
97
+ }
98
+ return result;
99
+ }
100
+ catch (error) {
101
+ return {
102
+ success: false,
103
+ error: `集成新浪微博分享模块失败: ${error instanceof Error ? error.message : String(error)}`,
104
+ logs
105
+ };
106
+ }
107
+ }
108
+ //# sourceMappingURL=integrateSinaShare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrateSinaShare.js","sourceRoot":"","sources":["../../../src/functions/ios/integrateSinaShare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { FileSystem, Path } from '../../../references/node.d';
2
+ import type { XMLParserConstructor, XMLSerializerConstructor } from '../../../references/xml.d';
3
+ import type { XPath } from '../../../references/xpath.d';
4
+ export interface IntegrateIOSThirdPartyModuleDeps {
5
+ existsSync: FileSystem['existsSync'];
6
+ readFileSync: FileSystem['readFileSync'];
7
+ writeFileSync: FileSystem['writeFileSync'];
8
+ copyFileSync: FileSystem['copyFileSync'];
9
+ statSync: FileSystem['statSync'];
10
+ mkdirSync: FileSystem['mkdirSync'];
11
+ readdirSync: FileSystem['readdirSync'];
12
+ cp: FileSystem['promises']['cp'];
13
+ join: Path['join'];
14
+ dirname: Path['dirname'];
15
+ basename: Path['basename'];
16
+ xmlParser: XMLParserConstructor;
17
+ xmlSerializer: XMLSerializerConstructor;
18
+ xpath: XPath;
19
+ }
20
+ export interface IOSThirdPartyModuleConfig {
21
+ name: string;
22
+ frameworks?: Array<{
23
+ source: string;
24
+ targetName?: string;
25
+ }>;
26
+ staticLibraries?: Array<{
27
+ source: string;
28
+ targetName?: string;
29
+ }>;
30
+ bundles?: Array<{
31
+ source: string;
32
+ targetName?: string;
33
+ }>;
34
+ infoPlistModifications?: Array<{
35
+ action: 'addKeyValue' | 'modifyKeyValue' | 'addURLScheme' | 'addAssociatedDomain' | 'addLSApplicationQueriesSchemes' | 'addDictKeyValue';
36
+ key?: string;
37
+ value?: string | boolean;
38
+ dictValue?: Record<string, string>;
39
+ urlScheme?: string;
40
+ associatedDomain?: string;
41
+ queriesScheme?: string;
42
+ }>;
43
+ appDelegateMethods?: Array<{
44
+ code: string;
45
+ position?: 'before' | 'after';
46
+ referenceMethod?: string;
47
+ }>;
48
+ }
49
+ export declare function addFileToEmbedFrameworks(projectPbxprojPath: string, filePath: string, deps: Pick<IntegrateIOSThirdPartyModuleDeps, 'existsSync' | 'readFileSync' | 'writeFileSync'>): {
50
+ success: boolean;
51
+ error?: string;
52
+ };
53
+ export declare function addFileToXcodeProject(projectPbxprojPath: string, filePath: string, fileType: 'framework' | 'staticLibrary' | 'bundle', deps: Pick<IntegrateIOSThirdPartyModuleDeps, 'existsSync' | 'readFileSync' | 'writeFileSync'>): {
54
+ success: boolean;
55
+ error?: string;
56
+ };
57
+ export declare function integrateIOSThirdPartyModule(projectPath: string, projectName: string, bundleId: string, config: IOSThirdPartyModuleConfig, deps: IntegrateIOSThirdPartyModuleDeps): Promise<{
58
+ success: boolean;
59
+ message?: string;
60
+ error?: string;
61
+ logs: string[];
62
+ }>;