zcw-shared 1.33.0 → 1.34.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 (62) hide show
  1. package/README.md +13 -13
  2. package/dist/functions/android/integrateFacebookLogin.d.ts +12 -0
  3. package/dist/functions/android/integrateFacebookLogin.js +91 -0
  4. package/dist/functions/android/integrateFacebookLogin.js.map +1 -0
  5. package/dist/functions/android/integrateGoogleLogin.d.ts +10 -0
  6. package/dist/functions/android/integrateGoogleLogin.js +199 -0
  7. package/dist/functions/android/integrateGoogleLogin.js.map +1 -0
  8. package/dist/functions/android/integrateMiuiLogin.d.ts +13 -0
  9. package/dist/functions/android/integrateMiuiLogin.js +115 -0
  10. package/dist/functions/android/integrateMiuiLogin.js.map +1 -0
  11. package/dist/functions/android/integrateQQLogin.d.ts +12 -0
  12. package/dist/functions/android/integrateQQLogin.js +130 -0
  13. package/dist/functions/android/integrateQQLogin.js.map +1 -0
  14. package/dist/functions/android/integrateShareTrace.d.ts +10 -0
  15. package/dist/functions/android/integrateShareTrace.js +181 -0
  16. package/dist/functions/android/integrateShareTrace.js.map +1 -0
  17. package/dist/functions/android/integrateSinaLogin.d.ts +13 -0
  18. package/dist/functions/android/integrateSinaLogin.js +85 -0
  19. package/dist/functions/android/integrateSinaLogin.js.map +1 -0
  20. package/dist/functions/android/integrateThirdPartyModule.d.ts +46 -0
  21. package/dist/functions/android/integrateThirdPartyModule.js +251 -0
  22. package/dist/functions/android/integrateThirdPartyModule.js.map +1 -0
  23. package/dist/functions/android/integrateUniverifyLogin.d.ts +11 -0
  24. package/dist/functions/android/integrateUniverifyLogin.js +314 -0
  25. package/dist/functions/android/integrateUniverifyLogin.js.map +1 -0
  26. package/dist/functions/android/integrateWechatLogin.d.ts +13 -0
  27. package/dist/functions/android/integrateWechatLogin.js +154 -0
  28. package/dist/functions/android/integrateWechatLogin.js.map +1 -0
  29. package/dist/functions/android/modifyManifest.d.ts +7 -0
  30. package/dist/functions/android/modifyManifest.js +24 -0
  31. package/dist/functions/android/modifyManifest.js.map +1 -1
  32. package/dist/functions/image/compressImageToWidth.d.ts +12 -0
  33. package/dist/functions/image/compressImageToWidth.js +44 -0
  34. package/dist/functions/image/compressImageToWidth.js.map +1 -0
  35. package/dist/functions/image/generateFavIcon.d.ts +8 -0
  36. package/dist/functions/image/generateFavIcon.js +13 -0
  37. package/dist/functions/image/generateFavIcon.js.map +1 -0
  38. package/dist/functions/image/renderBusinessLicense.d.ts +47 -0
  39. package/dist/functions/image/renderBusinessLicense.js +187 -0
  40. package/dist/functions/image/renderBusinessLicense.js.map +1 -0
  41. package/dist/functions/image/renderDrivingLicense.d.ts +48 -0
  42. package/dist/functions/image/renderDrivingLicense.js +201 -0
  43. package/dist/functions/image/renderDrivingLicense.js.map +1 -0
  44. package/dist/functions/image/renderLicensePlate.d.ts +47 -0
  45. package/dist/functions/image/renderLicensePlate.js +85 -0
  46. package/dist/functions/image/renderLicensePlate.js.map +1 -0
  47. package/dist/functions/tencent-cloud/deploy.tcb.js +1 -1
  48. package/dist/functions/tencent-cloud/deploy.tcb.js.map +1 -1
  49. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +258 -0
  50. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  51. package/dist/functions/validation/generateFakeBusinessLicense.d.ts +21 -0
  52. package/dist/functions/validation/generateFakeBusinessLicense.js +160 -0
  53. package/dist/functions/validation/generateFakeBusinessLicense.js.map +1 -0
  54. package/dist/functions/validation/generateFakeDrivingLicense.d.ts +31 -0
  55. package/dist/functions/validation/generateFakeDrivingLicense.js +119 -0
  56. package/dist/functions/validation/generateFakeDrivingLicense.js.map +1 -0
  57. package/dist/functions/validation/generateFakeLicensePlate.d.ts +13 -0
  58. package/dist/functions/validation/generateFakeLicensePlate.js +87 -0
  59. package/dist/functions/validation/generateFakeLicensePlate.js.map +1 -0
  60. package/package.json +19 -4
  61. package/references/sharp.d.ts +1 -0
  62. package/types/uniapp-android-build.d.ts +108 -0
package/README.md CHANGED
@@ -383,7 +383,7 @@ export interface AndroidBuildOptions {
383
383
  // Node.js 环境
384
384
  import fs from 'fs'
385
385
  import path from 'path'
386
- import { buildProject } from 'shared/functions/android/buildProject'
386
+ import { buildProject } from 'zcw-shared/functions/android/buildProject'
387
387
 
388
388
  const result = await buildProject(options, {
389
389
  existsSync: fs.existsSync,
@@ -397,7 +397,7 @@ const result = await buildProject(options, {
397
397
 
398
398
  // 浏览器 Vue 环境
399
399
  import { ref, shallowRef, watch } from 'vue'
400
- import { useAsyncState } from 'shared/vue-hooks/state/useAsyncState'
400
+ import { useAsyncState } from 'zcw-shared/vue-hooks/state/useAsyncState'
401
401
 
402
402
  // 传入 Vue 运行时函数和浏览器 API(注意:运行时函数通过依赖注入传入,类型通过 import type 导入)
403
403
  const { state, isLoading } = useAsyncState(
@@ -413,7 +413,7 @@ const { state, isLoading } = useAsyncState(
413
413
  )
414
414
 
415
415
  // 浏览器 DOM 操作
416
- import { getViewportRect } from 'shared/functions/dom/getViewportRect'
416
+ import { getViewportRect } from 'zcw-shared/functions/dom/getViewportRect'
417
417
 
418
418
  const viewport = getViewportRect({
419
419
  innerWidth: window.innerWidth,
@@ -445,17 +445,17 @@ const viewport = getViewportRect({
445
445
 
446
446
  ```typescript
447
447
  // 导入单个函数
448
- import { convertColor } from 'shared/functions/color/convertColor'
449
- import type { RgbColor } from 'shared/types/color'
448
+ import { convertColor } from 'zcw-shared/functions/color/convertColor'
449
+ import type { RgbColor } from 'zcw-shared/types/color'
450
450
 
451
451
  // 导入环境类型
452
- import type { FileSystem } from 'shared/references/node'
452
+ import type { FileSystem } from 'zcw-shared/references/node'
453
453
 
454
454
  // 导入常量
455
- import { COLOR_VALIDATION_PATTERNS } from 'shared/constants/colorPatterns'
455
+ import { COLOR_VALIDATION_PATTERNS } from 'zcw-shared/constants/colorPatterns'
456
456
 
457
457
  // 导入Hooks
458
- import { useStorage } from 'shared/hooks/useStorage'
458
+ import { useStorage } from 'zcw-shared/hooks/useStorage'
459
459
  ```
460
460
 
461
461
  ### Playground 集成
@@ -475,8 +475,8 @@ import { useStorage } from 'shared/hooks/useStorage'
475
475
 
476
476
  ```typescript
477
477
  // playground/tests/convertColor.test.ts
478
- import { convertColor } from 'shared/functions/color/convertColor'
479
- import type { RgbColor } from 'shared/types/color'
478
+ import { convertColor } from 'zcw-shared/functions/color/convertColor'
479
+ import type { RgbColor } from 'zcw-shared/types/color'
480
480
  ```
481
481
 
482
482
  ## Playground 测试指南
@@ -506,8 +506,8 @@ playground/tests/
506
506
  #### 1. 基础功能测试
507
507
 
508
508
  ```typescript
509
- import { convertColor } from 'shared/functions/color/convertColor'
510
- import type { ColorFormat } from 'shared/types/color'
509
+ import { convertColor } from 'zcw-shared/functions/color/convertColor'
510
+ import type { ColorFormat } from 'zcw-shared/types/color'
511
511
 
512
512
  // 基础测试用例
513
513
  const testCases = [
@@ -549,7 +549,7 @@ const edgeCases = [
549
549
  对于需要特殊环境模拟的函数:
550
550
 
551
551
  ```typescript
552
- import { buildProject } from 'shared/functions/android/buildProject'
552
+ import { buildProject } from 'zcw-shared/functions/android/buildProject'
553
553
 
554
554
  // 创建模拟的依赖函数
555
555
  const mockDeps = {
@@ -0,0 +1,12 @@
1
+ import { type IntegrateThirdPartyModuleDeps } from './integrateThirdPartyModule';
2
+ export interface FacebookLoginConfig {
3
+ appId: string;
4
+ clientToken: string;
5
+ oauthAarPath: string;
6
+ }
7
+ export declare function integrateFacebookLogin(projectPath: string, moduleDir: string, packageName: string, config: FacebookLoginConfig, deps: IntegrateThirdPartyModuleDeps): Promise<{
8
+ success: boolean;
9
+ message?: string;
10
+ error?: string;
11
+ logs: string[];
12
+ }>;
@@ -0,0 +1,91 @@
1
+ import { integrateThirdPartyModule } from './integrateThirdPartyModule';
2
+ export async function integrateFacebookLogin(projectPath, moduleDir, packageName, config, deps) {
3
+ const logs = [];
4
+ try {
5
+ logs.push('开始集成Facebook登录模块');
6
+ const libFiles = [
7
+ {
8
+ source: config.oauthAarPath,
9
+ targetName: 'oauth-facebook-release.aar'
10
+ }
11
+ ];
12
+ const moduleConfig = {
13
+ name: 'Facebook登录',
14
+ libFiles,
15
+ gradleDependencies: [
16
+ 'com.facebook.android:facebook-login:17.0.2'
17
+ ],
18
+ dcloudPropertiesConfig: {
19
+ featureName: 'OAuth',
20
+ featureImpl: 'io.dcloud.feature.oauth.OAuthFeatureImpl',
21
+ moduleName: 'OAuth-Facebook',
22
+ moduleImpl: 'io.dcloud.feature.facebook.FacebookOAuthService'
23
+ }
24
+ };
25
+ const result = await integrateThirdPartyModule(projectPath, moduleDir, packageName, moduleConfig, deps);
26
+ logs.push(...result.logs);
27
+ logs.push('配置strings.xml(Facebook资源)');
28
+ const stringsXmlPath = deps.join(projectPath, moduleDir, 'src', 'main', 'res', 'values', 'strings.xml');
29
+ if (!deps.existsSync(stringsXmlPath)) {
30
+ const stringsDir = deps.dirname(stringsXmlPath);
31
+ if (!deps.existsSync(stringsDir)) {
32
+ deps.mkdirSync(stringsDir, { recursive: true });
33
+ }
34
+ const initialXml = `<?xml version="1.0" encoding="utf-8"?>
35
+ <resources>
36
+ </resources>`;
37
+ deps.writeFileSync(stringsXmlPath, initialXml, 'utf8');
38
+ }
39
+ let xmlContent = deps.readFileSync(stringsXmlPath, 'utf8');
40
+ const parser = new deps.xmlParser();
41
+ const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');
42
+ const resourcesElements = xmlDoc.getElementsByTagName('resources');
43
+ if (resourcesElements.length === 0) {
44
+ logs.push('strings.xml格式错误:找不到resources元素');
45
+ }
46
+ else {
47
+ const resourcesElement = resourcesElements[0];
48
+ const existingStrings = xmlDoc.getElementsByTagName('string');
49
+ const stringsToAdd = [
50
+ { name: 'facebook_app_id', value: config.appId },
51
+ { name: 'fb_login_protocol_scheme', value: `fb${config.appId}` },
52
+ { name: 'facebook_client_token', value: config.clientToken }
53
+ ];
54
+ for (const { name, value } of stringsToAdd) {
55
+ let exists = false;
56
+ for (let i = 0; i < existingStrings.length; i++) {
57
+ const strElement = existingStrings[i];
58
+ if (strElement.getAttribute('name') === name) {
59
+ strElement.textContent = value;
60
+ exists = true;
61
+ break;
62
+ }
63
+ }
64
+ if (!exists) {
65
+ const newString = xmlDoc.createElement('string');
66
+ newString.setAttribute('name', name);
67
+ newString.textContent = value;
68
+ resourcesElement.appendChild(newString);
69
+ }
70
+ }
71
+ const serializer = new deps.xmlSerializer();
72
+ const newXmlContent = serializer.serializeToString(xmlDoc);
73
+ deps.writeFileSync(stringsXmlPath, newXmlContent, 'utf8');
74
+ logs.push('strings.xml配置完成');
75
+ }
76
+ return {
77
+ success: result.success,
78
+ message: result.message,
79
+ error: result.error,
80
+ logs
81
+ };
82
+ }
83
+ catch (error) {
84
+ return {
85
+ success: false,
86
+ error: `集成Facebook登录失败: ${error instanceof Error ? error.message : String(error)}`,
87
+ logs
88
+ };
89
+ }
90
+ }
91
+ //# sourceMappingURL=integrateFacebookLogin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrateFacebookLogin.js","sourceRoot":"","sources":["../../../src/functions/android/integrateFacebookLogin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type IntegrateThirdPartyModuleDeps } from './integrateThirdPartyModule';
2
+ export interface GoogleLoginConfig {
3
+ oauthAarPath: string;
4
+ }
5
+ export declare function integrateGoogleLogin(projectPath: string, moduleDir: string, packageName: string, config: GoogleLoginConfig, deps: IntegrateThirdPartyModuleDeps): Promise<{
6
+ success: boolean;
7
+ message?: string;
8
+ error?: string;
9
+ logs: string[];
10
+ }>;
@@ -0,0 +1,199 @@
1
+ import { integrateThirdPartyModule } from './integrateThirdPartyModule';
2
+ function addGoogleServicesPlugin(rootBuildGradlePath, deps) {
3
+ try {
4
+ if (!deps.existsSync(rootBuildGradlePath)) {
5
+ return {
6
+ success: false,
7
+ error: `根目录build.gradle文件不存在: ${rootBuildGradlePath}`
8
+ };
9
+ }
10
+ let gradleContent = deps.readFileSync(rootBuildGradlePath, 'utf8');
11
+ const buildscriptRegex = /buildscript\s*\{/;
12
+ if (buildscriptRegex.test(gradleContent)) {
13
+ const buildscriptMatch = gradleContent.match(buildscriptRegex);
14
+ if (buildscriptMatch) {
15
+ let braceCount = 0;
16
+ let inBuildscriptBlock = false;
17
+ let buildscriptBlockEnd = -1;
18
+ const startPos = buildscriptMatch.index + buildscriptMatch[0].length;
19
+ for (let i = startPos; i < gradleContent.length; i++) {
20
+ if (gradleContent[i] === '{') {
21
+ if (!inBuildscriptBlock)
22
+ inBuildscriptBlock = true;
23
+ braceCount++;
24
+ }
25
+ if (gradleContent[i] === '}') {
26
+ braceCount--;
27
+ if (braceCount === 0 && inBuildscriptBlock) {
28
+ buildscriptBlockEnd = i;
29
+ break;
30
+ }
31
+ }
32
+ }
33
+ if (buildscriptBlockEnd !== -1) {
34
+ const buildscriptContent = gradleContent.slice(startPos, buildscriptBlockEnd);
35
+ const googleServicesRegex = /com\.google\.gms:google-services:/;
36
+ if (googleServicesRegex.test(buildscriptContent)) {
37
+ return {
38
+ success: true,
39
+ message: 'google-services插件已存在于buildscript/dependencies中'
40
+ };
41
+ }
42
+ }
43
+ }
44
+ }
45
+ if (buildscriptRegex.test(gradleContent)) {
46
+ const buildscriptMatch = gradleContent.match(buildscriptRegex);
47
+ if (buildscriptMatch) {
48
+ let braceCount = 0;
49
+ let inBuildscriptBlock = false;
50
+ let buildscriptBlockEnd = -1;
51
+ const startPos = buildscriptMatch.index + buildscriptMatch[0].length;
52
+ for (let i = startPos; i < gradleContent.length; i++) {
53
+ if (gradleContent[i] === '{') {
54
+ if (!inBuildscriptBlock)
55
+ inBuildscriptBlock = true;
56
+ braceCount++;
57
+ }
58
+ if (gradleContent[i] === '}') {
59
+ braceCount--;
60
+ if (braceCount === 0 && inBuildscriptBlock) {
61
+ buildscriptBlockEnd = i;
62
+ break;
63
+ }
64
+ }
65
+ }
66
+ if (buildscriptBlockEnd !== -1) {
67
+ const buildscriptContent = gradleContent.slice(startPos, buildscriptBlockEnd);
68
+ const dependenciesRegex = /dependencies\s*\{/;
69
+ if (dependenciesRegex.test(buildscriptContent)) {
70
+ const depsMatch = buildscriptContent.match(dependenciesRegex);
71
+ if (depsMatch) {
72
+ let depsBraceCount = 0;
73
+ let inDepsBlock = false;
74
+ let depsBlockEnd = -1;
75
+ const depsStartPos = depsMatch.index + depsMatch[0].length;
76
+ for (let i = depsStartPos; i < buildscriptContent.length; i++) {
77
+ if (buildscriptContent[i] === '{') {
78
+ if (!inDepsBlock)
79
+ inDepsBlock = true;
80
+ depsBraceCount++;
81
+ }
82
+ if (buildscriptContent[i] === '}') {
83
+ depsBraceCount--;
84
+ if (depsBraceCount === 0 && inDepsBlock) {
85
+ depsBlockEnd = startPos + depsStartPos + i;
86
+ break;
87
+ }
88
+ }
89
+ }
90
+ if (depsBlockEnd !== -1) {
91
+ const googleServicesDep = ` classpath 'com.google.gms:google-services:4.2.0'`;
92
+ gradleContent = gradleContent.slice(0, depsBlockEnd) + '\n' + googleServicesDep + '\n ' + gradleContent.slice(depsBlockEnd);
93
+ deps.writeFileSync(rootBuildGradlePath, gradleContent, 'utf8');
94
+ return {
95
+ success: true,
96
+ message: '已在buildscript/dependencies中添加google-services插件'
97
+ };
98
+ }
99
+ }
100
+ }
101
+ else {
102
+ const insertPos = buildscriptBlockEnd;
103
+ const depsBlock = `
104
+ dependencies {
105
+ classpath 'com.google.gms:google-services:4.2.0'
106
+ }`;
107
+ gradleContent = gradleContent.slice(0, insertPos) + depsBlock + gradleContent.slice(insertPos);
108
+ deps.writeFileSync(rootBuildGradlePath, gradleContent, 'utf8');
109
+ return {
110
+ success: true,
111
+ message: '已在buildscript中创建dependencies并添加google-services插件'
112
+ };
113
+ }
114
+ }
115
+ }
116
+ }
117
+ else {
118
+ const googleServicesBlock = `
119
+ buildscript {
120
+ repositories {
121
+ google()
122
+ }
123
+ dependencies {
124
+ classpath 'com.google.gms:google-services:4.2.0'
125
+ }
126
+ }`;
127
+ gradleContent = googleServicesBlock + '\n' + gradleContent;
128
+ deps.writeFileSync(rootBuildGradlePath, gradleContent, 'utf8');
129
+ return {
130
+ success: true,
131
+ message: '已创建buildscript并添加google-services插件'
132
+ };
133
+ }
134
+ return {
135
+ success: false,
136
+ error: '无法找到合适的插入位置'
137
+ };
138
+ }
139
+ catch (error) {
140
+ return {
141
+ success: false,
142
+ error: `添加google-services插件失败: ${error instanceof Error ? error.message : String(error)}`
143
+ };
144
+ }
145
+ }
146
+ export async function integrateGoogleLogin(projectPath, moduleDir, packageName, config, deps) {
147
+ const logs = [];
148
+ try {
149
+ logs.push('开始集成Google登录模块');
150
+ const libFiles = [
151
+ {
152
+ source: config.oauthAarPath,
153
+ targetName: 'oauth-google-release.aar'
154
+ }
155
+ ];
156
+ const moduleConfig = {
157
+ name: 'Google登录',
158
+ libFiles,
159
+ gradleDependencies: [
160
+ 'com.google.android.gms:play-services-auth:19.2.0'
161
+ ],
162
+ dcloudPropertiesConfig: {
163
+ featureName: 'OAuth',
164
+ featureImpl: 'io.dcloud.feature.oauth.OAuthFeatureImpl',
165
+ moduleName: 'OAuth-Google',
166
+ moduleImpl: 'io.dcloud.feature.google.GoogleOAuthService'
167
+ }
168
+ };
169
+ const result = await integrateThirdPartyModule(projectPath, moduleDir, packageName, moduleConfig, deps);
170
+ logs.push(...result.logs);
171
+ logs.push('配置google-services插件');
172
+ const rootBuildGradlePath = deps.join(projectPath, 'build.gradle');
173
+ const pluginResult = addGoogleServicesPlugin(rootBuildGradlePath, {
174
+ existsSync: deps.existsSync,
175
+ readFileSync: deps.readFileSync,
176
+ writeFileSync: deps.writeFileSync
177
+ });
178
+ if (pluginResult.success) {
179
+ logs.push(pluginResult.message || 'google-services插件配置完成');
180
+ }
181
+ else {
182
+ logs.push(`google-services插件配置失败: ${pluginResult.error}`);
183
+ }
184
+ return {
185
+ success: result.success,
186
+ message: result.message,
187
+ error: result.error,
188
+ logs
189
+ };
190
+ }
191
+ catch (error) {
192
+ return {
193
+ success: false,
194
+ error: `集成Google登录失败: ${error instanceof Error ? error.message : String(error)}`,
195
+ logs
196
+ };
197
+ }
198
+ }
199
+ //# sourceMappingURL=integrateGoogleLogin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrateGoogleLogin.js","sourceRoot":"","sources":["../../../src/functions/android/integrateGoogleLogin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type IntegrateThirdPartyModuleDeps } from './integrateThirdPartyModule';
2
+ export interface MiuiLoginConfig {
3
+ appId: string;
4
+ appSecret: string;
5
+ redirectUri: string;
6
+ oauthAarPath: string;
7
+ }
8
+ export declare function integrateMiuiLogin(projectPath: string, moduleDir: string, packageName: string, config: MiuiLoginConfig, deps: IntegrateThirdPartyModuleDeps): Promise<{
9
+ success: boolean;
10
+ message?: string;
11
+ error?: string;
12
+ logs: string[];
13
+ }>;
@@ -0,0 +1,115 @@
1
+ import { integrateThirdPartyModule } from './integrateThirdPartyModule';
2
+ export async function integrateMiuiLogin(projectPath, moduleDir, packageName, config, deps) {
3
+ const logs = [];
4
+ try {
5
+ logs.push('开始集成小米登录模块');
6
+ const libFiles = [
7
+ {
8
+ source: config.oauthAarPath,
9
+ targetName: 'oauth-miui-release.aar'
10
+ }
11
+ ];
12
+ const moduleConfig = {
13
+ name: '小米登录',
14
+ libFiles,
15
+ manifestModifications: [
16
+ {
17
+ xpath: "//uses-permission[@android:name='android.permission.MODIFY_AUDIO_SETTINGS']",
18
+ action: 'removeElement'
19
+ },
20
+ {
21
+ xpath: "//uses-permission[@android:name='com.xiaomi.permission.AUTH_SERVICE']",
22
+ action: 'removeElement'
23
+ },
24
+ {
25
+ xpath: "//manifest",
26
+ action: 'addElement',
27
+ elementName: 'uses-permission',
28
+ attributes: {
29
+ 'android:name': 'android.permission.MODIFY_AUDIO_SETTINGS'
30
+ }
31
+ },
32
+ {
33
+ xpath: "//manifest",
34
+ action: 'addElement',
35
+ elementName: 'uses-permission',
36
+ attributes: {
37
+ 'android:name': 'com.xiaomi.permission.AUTH_SERVICE'
38
+ }
39
+ },
40
+ {
41
+ xpath: "//meta-data[@android:name='MIUI_APPID']",
42
+ action: 'removeElement'
43
+ },
44
+ {
45
+ xpath: "//meta-data[@android:name='MIUI_APPSECRET']",
46
+ action: 'removeElement'
47
+ },
48
+ {
49
+ xpath: "//meta-data[@android:name='MIUI_REDIRECT_URI']",
50
+ action: 'removeElement'
51
+ },
52
+ {
53
+ xpath: "//application",
54
+ action: 'addElement',
55
+ elementName: 'meta-data',
56
+ attributes: {
57
+ 'android:name': 'MIUI_APPID',
58
+ 'android:value': `_${config.appId}`
59
+ }
60
+ },
61
+ {
62
+ xpath: "//application",
63
+ action: 'addElement',
64
+ elementName: 'meta-data',
65
+ attributes: {
66
+ 'android:name': 'MIUI_APPSECRET',
67
+ 'android:value': config.appSecret
68
+ }
69
+ },
70
+ {
71
+ xpath: "//application",
72
+ action: 'addElement',
73
+ elementName: 'meta-data',
74
+ attributes: {
75
+ 'android:name': 'MIUI_REDIRECT_URI',
76
+ 'android:value': config.redirectUri
77
+ }
78
+ },
79
+ {
80
+ xpath: "//activity[@android:name='com.xiaomi.account.openauth.AuthorizeActivity']",
81
+ action: 'removeElement'
82
+ },
83
+ {
84
+ xpath: "//application",
85
+ action: 'addElement',
86
+ elementName: 'activity',
87
+ attributes: {
88
+ 'android:name': 'com.xiaomi.account.openauth.AuthorizeActivity'
89
+ }
90
+ }
91
+ ],
92
+ dcloudPropertiesConfig: {
93
+ featureName: 'OAuth',
94
+ featureImpl: 'io.dcloud.feature.oauth.OAuthFeatureImpl',
95
+ moduleName: 'OAuth-MiUi',
96
+ moduleImpl: 'io.dcloud.feature.oauth.miui.MiUiOAuthService'
97
+ }
98
+ };
99
+ const result = await integrateThirdPartyModule(projectPath, moduleDir, packageName, moduleConfig, deps);
100
+ return {
101
+ success: result.success,
102
+ message: result.message,
103
+ error: result.error,
104
+ logs: [...logs, ...result.logs]
105
+ };
106
+ }
107
+ catch (error) {
108
+ return {
109
+ success: false,
110
+ error: `集成小米登录失败: ${error instanceof Error ? error.message : String(error)}`,
111
+ logs
112
+ };
113
+ }
114
+ }
115
+ //# sourceMappingURL=integrateMiuiLogin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrateMiuiLogin.js","sourceRoot":"","sources":["../../../src/functions/android/integrateMiuiLogin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type IntegrateThirdPartyModuleDeps } from './integrateThirdPartyModule';
2
+ export interface QQLoginConfig {
3
+ appId: string;
4
+ oauthAarPath: string;
5
+ openSdkJarPath: string;
6
+ }
7
+ export declare function integrateQQLogin(projectPath: string, moduleDir: string, packageName: string, config: QQLoginConfig, deps: IntegrateThirdPartyModuleDeps): Promise<{
8
+ success: boolean;
9
+ message?: string;
10
+ error?: string;
11
+ logs: string[];
12
+ }>;