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.
- package/README.md +13 -13
- package/dist/functions/android/integrateFacebookLogin.d.ts +12 -0
- package/dist/functions/android/integrateFacebookLogin.js +91 -0
- package/dist/functions/android/integrateFacebookLogin.js.map +1 -0
- package/dist/functions/android/integrateGoogleLogin.d.ts +10 -0
- package/dist/functions/android/integrateGoogleLogin.js +199 -0
- package/dist/functions/android/integrateGoogleLogin.js.map +1 -0
- package/dist/functions/android/integrateMiuiLogin.d.ts +13 -0
- package/dist/functions/android/integrateMiuiLogin.js +115 -0
- package/dist/functions/android/integrateMiuiLogin.js.map +1 -0
- package/dist/functions/android/integrateQQLogin.d.ts +12 -0
- package/dist/functions/android/integrateQQLogin.js +130 -0
- package/dist/functions/android/integrateQQLogin.js.map +1 -0
- package/dist/functions/android/integrateShareTrace.d.ts +10 -0
- package/dist/functions/android/integrateShareTrace.js +181 -0
- package/dist/functions/android/integrateShareTrace.js.map +1 -0
- package/dist/functions/android/integrateSinaLogin.d.ts +13 -0
- package/dist/functions/android/integrateSinaLogin.js +85 -0
- package/dist/functions/android/integrateSinaLogin.js.map +1 -0
- package/dist/functions/android/integrateThirdPartyModule.d.ts +46 -0
- package/dist/functions/android/integrateThirdPartyModule.js +251 -0
- package/dist/functions/android/integrateThirdPartyModule.js.map +1 -0
- package/dist/functions/android/integrateUniverifyLogin.d.ts +11 -0
- package/dist/functions/android/integrateUniverifyLogin.js +314 -0
- package/dist/functions/android/integrateUniverifyLogin.js.map +1 -0
- package/dist/functions/android/integrateWechatLogin.d.ts +13 -0
- package/dist/functions/android/integrateWechatLogin.js +154 -0
- package/dist/functions/android/integrateWechatLogin.js.map +1 -0
- package/dist/functions/android/modifyManifest.d.ts +7 -0
- package/dist/functions/android/modifyManifest.js +24 -0
- package/dist/functions/android/modifyManifest.js.map +1 -1
- package/dist/functions/image/compressImageToWidth.d.ts +12 -0
- package/dist/functions/image/compressImageToWidth.js +44 -0
- package/dist/functions/image/compressImageToWidth.js.map +1 -0
- package/dist/functions/image/generateFavIcon.d.ts +8 -0
- package/dist/functions/image/generateFavIcon.js +13 -0
- package/dist/functions/image/generateFavIcon.js.map +1 -0
- package/dist/functions/image/renderBusinessLicense.d.ts +47 -0
- package/dist/functions/image/renderBusinessLicense.js +187 -0
- package/dist/functions/image/renderBusinessLicense.js.map +1 -0
- package/dist/functions/image/renderDrivingLicense.d.ts +48 -0
- package/dist/functions/image/renderDrivingLicense.js +201 -0
- package/dist/functions/image/renderDrivingLicense.js.map +1 -0
- package/dist/functions/image/renderLicensePlate.d.ts +47 -0
- package/dist/functions/image/renderLicensePlate.js +85 -0
- package/dist/functions/image/renderLicensePlate.js.map +1 -0
- package/dist/functions/tencent-cloud/deploy.tcb.js +1 -1
- package/dist/functions/tencent-cloud/deploy.tcb.js.map +1 -1
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js +258 -0
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
- package/dist/functions/validation/generateFakeBusinessLicense.d.ts +21 -0
- package/dist/functions/validation/generateFakeBusinessLicense.js +160 -0
- package/dist/functions/validation/generateFakeBusinessLicense.js.map +1 -0
- package/dist/functions/validation/generateFakeDrivingLicense.d.ts +31 -0
- package/dist/functions/validation/generateFakeDrivingLicense.js +119 -0
- package/dist/functions/validation/generateFakeDrivingLicense.js.map +1 -0
- package/dist/functions/validation/generateFakeLicensePlate.d.ts +13 -0
- package/dist/functions/validation/generateFakeLicensePlate.js +87 -0
- package/dist/functions/validation/generateFakeLicensePlate.js.map +1 -0
- package/package.json +19 -4
- package/references/sharp.d.ts +1 -0
- package/types/uniapp-android-build.d.ts +108 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { integrateThirdPartyModule } from './integrateThirdPartyModule';
|
|
2
|
+
export async function integrateQQLogin(projectPath, moduleDir, packageName, config, deps) {
|
|
3
|
+
const logs = [];
|
|
4
|
+
try {
|
|
5
|
+
logs.push('开始集成QQ登录模块');
|
|
6
|
+
const libFiles = [
|
|
7
|
+
{
|
|
8
|
+
source: config.oauthAarPath,
|
|
9
|
+
targetName: 'oauth-qq-release.aar'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
source: config.openSdkJarPath,
|
|
13
|
+
targetName: 'open_sdk_3.5.12.2_r97423a8_lite.jar'
|
|
14
|
+
}
|
|
15
|
+
];
|
|
16
|
+
const moduleConfig = {
|
|
17
|
+
name: 'QQ登录',
|
|
18
|
+
libFiles,
|
|
19
|
+
manifestModifications: [
|
|
20
|
+
{
|
|
21
|
+
xpath: "//uses-permission[@android:name='android.permission.MODIFY_AUDIO_SETTINGS']",
|
|
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: "//meta-data[@android:name='QQ_APPID']",
|
|
34
|
+
action: 'removeElement'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
xpath: "//application",
|
|
38
|
+
action: 'addElement',
|
|
39
|
+
elementName: 'meta-data',
|
|
40
|
+
attributes: {
|
|
41
|
+
'android:name': 'QQ_APPID',
|
|
42
|
+
'android:value': config.appId
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
xpath: "//activity[@android:name='com.tencent.tauth.AuthActivity']",
|
|
47
|
+
action: 'removeElement'
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
xpath: "//activity[@android:name='com.tencent.connect.common.AssistActivity']",
|
|
51
|
+
action: 'removeElement'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
xpath: "//application",
|
|
55
|
+
action: 'addElement',
|
|
56
|
+
elementName: 'activity',
|
|
57
|
+
attributes: {
|
|
58
|
+
'android:name': 'com.tencent.tauth.AuthActivity',
|
|
59
|
+
'android:launchMode': 'singleTask',
|
|
60
|
+
'android:noHistory': 'true',
|
|
61
|
+
'android:exported': 'true'
|
|
62
|
+
},
|
|
63
|
+
children: [
|
|
64
|
+
{
|
|
65
|
+
elementName: 'intent-filter',
|
|
66
|
+
attributes: {},
|
|
67
|
+
children: [
|
|
68
|
+
{
|
|
69
|
+
elementName: 'action',
|
|
70
|
+
attributes: {
|
|
71
|
+
'android:name': 'android.intent.action.VIEW'
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
elementName: 'category',
|
|
76
|
+
attributes: {
|
|
77
|
+
'android:name': 'android.intent.category.DEFAULT'
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
elementName: 'category',
|
|
82
|
+
attributes: {
|
|
83
|
+
'android:name': 'android.intent.category.BROWSABLE'
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
elementName: 'data',
|
|
88
|
+
attributes: {
|
|
89
|
+
'android:scheme': config.appId
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
xpath: "//application",
|
|
98
|
+
action: 'addElement',
|
|
99
|
+
elementName: 'activity',
|
|
100
|
+
attributes: {
|
|
101
|
+
'android:name': 'com.tencent.connect.common.AssistActivity',
|
|
102
|
+
'android:theme': '@android:style/Theme.Translucent.NoTitleBar',
|
|
103
|
+
'android:screenOrientation': 'portrait'
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
dcloudPropertiesConfig: {
|
|
108
|
+
featureName: 'OAuth',
|
|
109
|
+
featureImpl: 'io.dcloud.feature.oauth.OAuthFeatureImpl',
|
|
110
|
+
moduleName: 'OAuth-QQ',
|
|
111
|
+
moduleImpl: 'io.dcloud.feature.oauth.qq.QQOAuthService'
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const result = await integrateThirdPartyModule(projectPath, moduleDir, packageName, moduleConfig, deps);
|
|
115
|
+
return {
|
|
116
|
+
success: result.success,
|
|
117
|
+
message: result.message,
|
|
118
|
+
error: result.error,
|
|
119
|
+
logs: [...logs, ...result.logs]
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
error: `集成QQ登录失败: ${error instanceof Error ? error.message : String(error)}`,
|
|
126
|
+
logs
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=integrateQQLogin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrateQQLogin.js","sourceRoot":"","sources":["../../../src/functions/android/integrateQQLogin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type IntegrateThirdPartyModuleDeps } from './integrateThirdPartyModule';
|
|
2
|
+
export interface ShareTraceConfig {
|
|
3
|
+
appKey: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function integrateShareTrace(projectPath: string, moduleDir: string, packageName: string, config: ShareTraceConfig, deps: IntegrateThirdPartyModuleDeps): Promise<{
|
|
6
|
+
success: boolean;
|
|
7
|
+
message?: string;
|
|
8
|
+
error?: string;
|
|
9
|
+
logs: string[];
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { integrateThirdPartyModule } from './integrateThirdPartyModule';
|
|
2
|
+
function ensureMavenCentral(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 mavenCentralRegex = /mavenCentral\(\)/;
|
|
12
|
+
if (mavenCentralRegex.test(gradleContent)) {
|
|
13
|
+
return {
|
|
14
|
+
success: true,
|
|
15
|
+
message: 'mavenCentral仓库已存在'
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const allprojectsRegex = /allprojects\s*\{/;
|
|
19
|
+
if (allprojectsRegex.test(gradleContent)) {
|
|
20
|
+
const allprojectsMatch = gradleContent.match(allprojectsRegex);
|
|
21
|
+
if (allprojectsMatch) {
|
|
22
|
+
let braceCount = 0;
|
|
23
|
+
let inAllprojectsBlock = false;
|
|
24
|
+
let allprojectsBlockEnd = -1;
|
|
25
|
+
const startPos = allprojectsMatch.index + allprojectsMatch[0].length;
|
|
26
|
+
for (let i = startPos; i < gradleContent.length; i++) {
|
|
27
|
+
if (gradleContent[i] === '{') {
|
|
28
|
+
if (!inAllprojectsBlock)
|
|
29
|
+
inAllprojectsBlock = true;
|
|
30
|
+
braceCount++;
|
|
31
|
+
}
|
|
32
|
+
if (gradleContent[i] === '}') {
|
|
33
|
+
braceCount--;
|
|
34
|
+
if (braceCount === 0 && inAllprojectsBlock) {
|
|
35
|
+
allprojectsBlockEnd = i;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (allprojectsBlockEnd !== -1) {
|
|
41
|
+
const allprojectsContent = gradleContent.slice(startPos, allprojectsBlockEnd);
|
|
42
|
+
const repositoriesRegex = /repositories\s*\{/;
|
|
43
|
+
if (repositoriesRegex.test(allprojectsContent)) {
|
|
44
|
+
const reposMatch = allprojectsContent.match(repositoriesRegex);
|
|
45
|
+
if (reposMatch) {
|
|
46
|
+
let reposBraceCount = 0;
|
|
47
|
+
let inReposBlock = false;
|
|
48
|
+
let reposBlockEnd = -1;
|
|
49
|
+
const reposStartPos = reposMatch.index + reposMatch[0].length;
|
|
50
|
+
for (let i = reposStartPos; i < allprojectsContent.length; i++) {
|
|
51
|
+
if (allprojectsContent[i] === '{') {
|
|
52
|
+
if (!inReposBlock)
|
|
53
|
+
inReposBlock = true;
|
|
54
|
+
reposBraceCount++;
|
|
55
|
+
}
|
|
56
|
+
if (allprojectsContent[i] === '}') {
|
|
57
|
+
reposBraceCount--;
|
|
58
|
+
if (reposBraceCount === 0 && inReposBlock) {
|
|
59
|
+
reposBlockEnd = startPos + reposStartPos + i;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (reposBlockEnd !== -1) {
|
|
65
|
+
const reposContent = gradleContent.slice(startPos + reposStartPos, reposBlockEnd);
|
|
66
|
+
const lastRepoMatch = reposContent.match(/(?:maven\s*\{[^}]*\}|google\(\)|jcenter\(\)|mavenCentral\(\))[\s\n]*$/m);
|
|
67
|
+
let insertPos;
|
|
68
|
+
if (lastRepoMatch && lastRepoMatch.index !== undefined) {
|
|
69
|
+
insertPos = startPos + reposStartPos + lastRepoMatch.index + lastRepoMatch[0].length;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
insertPos = reposBlockEnd;
|
|
73
|
+
}
|
|
74
|
+
const mavenCentralRepo = ` mavenCentral()`;
|
|
75
|
+
gradleContent = gradleContent.slice(0, insertPos) + '\n' + mavenCentralRepo + gradleContent.slice(insertPos);
|
|
76
|
+
deps.writeFileSync(rootBuildGradlePath, gradleContent, 'utf8');
|
|
77
|
+
return {
|
|
78
|
+
success: true,
|
|
79
|
+
message: '已在allprojects/repositories中添加mavenCentral仓库'
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const insertPos = allprojectsBlockEnd;
|
|
86
|
+
const reposBlock = `
|
|
87
|
+
repositories {
|
|
88
|
+
mavenCentral()
|
|
89
|
+
}`;
|
|
90
|
+
gradleContent = gradleContent.slice(0, insertPos) + reposBlock + gradleContent.slice(insertPos);
|
|
91
|
+
deps.writeFileSync(rootBuildGradlePath, gradleContent, 'utf8');
|
|
92
|
+
return {
|
|
93
|
+
success: true,
|
|
94
|
+
message: '已在allprojects中创建repositories并添加mavenCentral仓库'
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const mavenCentralBlock = `
|
|
102
|
+
allprojects {
|
|
103
|
+
repositories {
|
|
104
|
+
mavenCentral()
|
|
105
|
+
}
|
|
106
|
+
}`;
|
|
107
|
+
gradleContent = mavenCentralBlock + '\n' + gradleContent;
|
|
108
|
+
deps.writeFileSync(rootBuildGradlePath, gradleContent, 'utf8');
|
|
109
|
+
return {
|
|
110
|
+
success: true,
|
|
111
|
+
message: '已创建allprojects并添加mavenCentral仓库'
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
success: false,
|
|
116
|
+
error: '无法找到合适的插入位置'
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return {
|
|
121
|
+
success: false,
|
|
122
|
+
error: `添加mavenCentral仓库失败: ${error instanceof Error ? error.message : String(error)}`
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export async function integrateShareTrace(projectPath, moduleDir, packageName, config, deps) {
|
|
127
|
+
const logs = [];
|
|
128
|
+
try {
|
|
129
|
+
logs.push('开始集成ShareTrace模块');
|
|
130
|
+
const moduleConfig = {
|
|
131
|
+
name: 'ShareTrace',
|
|
132
|
+
gradleDependencies: [
|
|
133
|
+
'com.sharetrace:sharetrace-android-sdk:2.2.1'
|
|
134
|
+
],
|
|
135
|
+
manifestModifications: [
|
|
136
|
+
{
|
|
137
|
+
xpath: "//meta-data[@android:name='com.sharetrace.APP_KEY']",
|
|
138
|
+
action: 'removeElement'
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
xpath: "//application",
|
|
142
|
+
action: 'addElement',
|
|
143
|
+
elementName: 'meta-data',
|
|
144
|
+
attributes: {
|
|
145
|
+
'android:name': 'com.sharetrace.APP_KEY',
|
|
146
|
+
'android:value': config.appKey
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
};
|
|
151
|
+
const result = await integrateThirdPartyModule(projectPath, moduleDir, packageName, moduleConfig, deps);
|
|
152
|
+
logs.push(...result.logs);
|
|
153
|
+
logs.push('配置mavenCentral仓库');
|
|
154
|
+
const rootBuildGradlePath = deps.join(projectPath, 'build.gradle');
|
|
155
|
+
const mavenCentralResult = ensureMavenCentral(rootBuildGradlePath, {
|
|
156
|
+
existsSync: deps.existsSync,
|
|
157
|
+
readFileSync: deps.readFileSync,
|
|
158
|
+
writeFileSync: deps.writeFileSync
|
|
159
|
+
});
|
|
160
|
+
if (mavenCentralResult.success) {
|
|
161
|
+
logs.push(mavenCentralResult.message || 'mavenCentral仓库配置完成');
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
logs.push(`mavenCentral仓库配置失败: ${mavenCentralResult.error}`);
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
success: result.success,
|
|
168
|
+
message: result.message,
|
|
169
|
+
error: result.error,
|
|
170
|
+
logs
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
return {
|
|
175
|
+
success: false,
|
|
176
|
+
error: `集成ShareTrace失败: ${error instanceof Error ? error.message : String(error)}`,
|
|
177
|
+
logs
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=integrateShareTrace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrateShareTrace.js","sourceRoot":"","sources":["../../../src/functions/android/integrateShareTrace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type IntegrateThirdPartyModuleDeps } from './integrateThirdPartyModule';
|
|
2
|
+
export interface SinaLoginConfig {
|
|
3
|
+
appKey: string;
|
|
4
|
+
redirectUri: string;
|
|
5
|
+
openDefaultAarPath: string;
|
|
6
|
+
oauthAarPath: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function integrateSinaLogin(projectPath: string, moduleDir: string, packageName: string, config: SinaLoginConfig, deps: IntegrateThirdPartyModuleDeps): Promise<{
|
|
9
|
+
success: boolean;
|
|
10
|
+
message?: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
logs: string[];
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { integrateThirdPartyModule } from './integrateThirdPartyModule';
|
|
2
|
+
export async function integrateSinaLogin(projectPath, moduleDir, packageName, config, deps) {
|
|
3
|
+
const logs = [];
|
|
4
|
+
try {
|
|
5
|
+
logs.push('开始集成新浪微博登录模块');
|
|
6
|
+
const libFiles = [
|
|
7
|
+
{
|
|
8
|
+
source: config.openDefaultAarPath,
|
|
9
|
+
targetName: 'openDefault-12.5.0.aar'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
source: config.oauthAarPath,
|
|
13
|
+
targetName: 'oauth-sina-release.aar'
|
|
14
|
+
}
|
|
15
|
+
];
|
|
16
|
+
const moduleConfig = {
|
|
17
|
+
name: '新浪微博登录',
|
|
18
|
+
libFiles,
|
|
19
|
+
manifestModifications: [
|
|
20
|
+
{
|
|
21
|
+
xpath: "//meta-data[@android:name='SINA_REDIRECT_URI']",
|
|
22
|
+
action: 'removeElement'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
xpath: "//meta-data[@android:name='SINA_APPKEY']",
|
|
26
|
+
action: 'removeElement'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
xpath: "//application",
|
|
30
|
+
action: 'addElement',
|
|
31
|
+
elementName: 'meta-data',
|
|
32
|
+
attributes: {
|
|
33
|
+
'android:name': 'SINA_REDIRECT_URI',
|
|
34
|
+
'android:value': config.redirectUri
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
xpath: "//application",
|
|
39
|
+
action: 'addElement',
|
|
40
|
+
elementName: 'meta-data',
|
|
41
|
+
attributes: {
|
|
42
|
+
'android:name': 'SINA_APPKEY',
|
|
43
|
+
'android:value': `_${config.appKey}`
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
xpath: "//activity[@android:name='com.sina.weibo.sdk.web.WeiboSdkWebActivity']",
|
|
48
|
+
action: 'removeElement'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
xpath: "//application",
|
|
52
|
+
action: 'addElement',
|
|
53
|
+
elementName: 'activity',
|
|
54
|
+
attributes: {
|
|
55
|
+
'android:name': 'com.sina.weibo.sdk.web.WeiboSdkWebActivity',
|
|
56
|
+
'android:configChanges': 'keyboardHidden|orientation',
|
|
57
|
+
'android:exported': 'false',
|
|
58
|
+
'android:windowSoftInputMode': 'adjustResize'
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
dcloudPropertiesConfig: {
|
|
63
|
+
featureName: 'OAuth',
|
|
64
|
+
featureImpl: 'io.dcloud.feature.oauth.OAuthFeatureImpl',
|
|
65
|
+
moduleName: 'OAuth-Sina',
|
|
66
|
+
moduleImpl: 'io.dcloud.feature.oauth.sina.SinaOAuthService'
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const result = await integrateThirdPartyModule(projectPath, moduleDir, packageName, moduleConfig, deps);
|
|
70
|
+
return {
|
|
71
|
+
success: result.success,
|
|
72
|
+
message: result.message,
|
|
73
|
+
error: result.error,
|
|
74
|
+
logs: [...logs, ...result.logs]
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
error: `集成新浪微博登录失败: ${error instanceof Error ? error.message : String(error)}`,
|
|
81
|
+
logs
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=integrateSinaLogin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrateSinaLogin.js","sourceRoot":"","sources":["../../../src/functions/android/integrateSinaLogin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAmE,MAAM,6BAA6B,CAAA;AA0BxI,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,SAAiB,EACjB,WAAmB,EACnB,MAAuB,EACvB,IAAmC;IAEnC,MAAM,IAAI,GAAa,EAAE,CAAA;IAEzB,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAGzB,MAAM,QAAQ,GAAmD;YAC/D;gBACE,MAAM,EAAE,MAAM,CAAC,kBAAkB;gBACjC,UAAU,EAAE,wBAAwB;aACrC;YACD;gBACE,MAAM,EAAE,MAAM,CAAC,YAAY;gBAC3B,UAAU,EAAE,wBAAwB;aACrC;SACF,CAAA;QAGD,MAAM,YAAY,GAA2B;YAC3C,IAAI,EAAE,QAAQ;YACd,QAAQ;YAER,qBAAqB,EAAE;gBAErB;oBACE,KAAK,EAAE,gDAAgD;oBACvD,MAAM,EAAE,eAAe;iBACxB;gBACD;oBACE,KAAK,EAAE,0CAA0C;oBACjD,MAAM,EAAE,eAAe;iBACxB;gBAED;oBACE,KAAK,EAAE,eAAe;oBACtB,MAAM,EAAE,YAAY;oBACpB,WAAW,EAAE,WAAW;oBACxB,UAAU,EAAE;wBACV,cAAc,EAAE,mBAAmB;wBACnC,eAAe,EAAE,MAAM,CAAC,WAAW;qBACpC;iBACF;gBAED;oBACE,KAAK,EAAE,eAAe;oBACtB,MAAM,EAAE,YAAY;oBACpB,WAAW,EAAE,WAAW;oBACxB,UAAU,EAAE;wBACV,cAAc,EAAE,aAAa;wBAC7B,eAAe,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE;qBACrC;iBACF;gBAED;oBACE,KAAK,EAAE,wEAAwE;oBAC/E,MAAM,EAAE,eAAe;iBACxB;gBAED;oBACE,KAAK,EAAE,eAAe;oBACtB,MAAM,EAAE,YAAY;oBACpB,WAAW,EAAE,UAAU;oBACvB,UAAU,EAAE;wBACV,cAAc,EAAE,4CAA4C;wBAC5D,uBAAuB,EAAE,4BAA4B;wBACrD,kBAAkB,EAAE,OAAO;wBAC3B,6BAA6B,EAAE,cAAc;qBAC9C;iBACF;aACF;YAED,sBAAsB,EAAE;gBACtB,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,0CAA0C;gBACvD,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,+CAA+C;aAC5D;SACF,CAAA;QAGD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC5C,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,IAAI,CACL,CAAA;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;SAChC,CAAA;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,eAAe,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9E,IAAI;SACL,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
import { type ManifestModification } from './modifyManifest';
|
|
5
|
+
export interface IntegrateThirdPartyModuleDeps {
|
|
6
|
+
existsSync: FileSystem['existsSync'];
|
|
7
|
+
readFileSync: FileSystem['readFileSync'];
|
|
8
|
+
writeFileSync: FileSystem['writeFileSync'];
|
|
9
|
+
copyFileSync: FileSystem['copyFileSync'];
|
|
10
|
+
mkdirSync: FileSystem['mkdirSync'];
|
|
11
|
+
join: Path['join'];
|
|
12
|
+
dirname: Path['dirname'];
|
|
13
|
+
xmlParser: XMLParserConstructor;
|
|
14
|
+
xmlSerializer: XMLSerializerConstructor;
|
|
15
|
+
xpath: XPath;
|
|
16
|
+
}
|
|
17
|
+
export interface ThirdPartyModuleConfig {
|
|
18
|
+
name: string;
|
|
19
|
+
libFiles?: Array<{
|
|
20
|
+
source: string;
|
|
21
|
+
targetName?: string;
|
|
22
|
+
}>;
|
|
23
|
+
gradleDependencies?: string[];
|
|
24
|
+
sourceFiles?: Array<{
|
|
25
|
+
source: string;
|
|
26
|
+
targetDir: string;
|
|
27
|
+
targetName?: string;
|
|
28
|
+
packageReplacements?: Array<{
|
|
29
|
+
oldPackage: string;
|
|
30
|
+
newPackage: string;
|
|
31
|
+
}>;
|
|
32
|
+
}>;
|
|
33
|
+
manifestModifications?: ManifestModification[];
|
|
34
|
+
dcloudPropertiesConfig?: {
|
|
35
|
+
featureName: string;
|
|
36
|
+
featureImpl: string;
|
|
37
|
+
moduleName: string;
|
|
38
|
+
moduleImpl: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export declare function integrateThirdPartyModule(projectPath: string, moduleDir: string, packageName: string, config: ThirdPartyModuleConfig, deps: IntegrateThirdPartyModuleDeps): Promise<{
|
|
42
|
+
success: boolean;
|
|
43
|
+
message?: string;
|
|
44
|
+
error?: string;
|
|
45
|
+
logs: string[];
|
|
46
|
+
}>;
|