zcw-shared 1.18.0 → 1.20.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/README.md +1291 -65
- package/dist/functions/ag-grid/generateLicense.d.ts +5 -1
- package/dist/functions/ag-grid/generateLicense.js +3 -3
- package/dist/functions/ag-grid/generateLicense.js.map +1 -1
- package/dist/functions/android/buildProject.d.ts +9 -8
- package/dist/functions/android/buildProject.js +19 -20
- package/dist/functions/android/buildProject.js.map +1 -1
- package/dist/functions/android/detectAndroidModules.d.ts +7 -1
- package/dist/functions/android/detectAndroidModules.js +7 -7
- package/dist/functions/android/detectAndroidModules.js.map +1 -1
- package/dist/functions/android/modifyGradle.d.ts +10 -1
- package/dist/functions/android/modifyGradle.js +7 -7
- package/dist/functions/android/modifyGradle.js.map +1 -1
- package/dist/functions/android/modifyManifest.d.ts +11 -2
- package/dist/functions/android/modifyManifest.js +4 -4
- package/dist/functions/android/modifyManifest.js.map +1 -1
- package/dist/functions/android/permission.d.ts +15 -5
- package/dist/functions/android/permission.js +8 -8
- package/dist/functions/android/permission.js.map +1 -1
- package/dist/functions/async/createInterruptibleTask.d.ts +37 -0
- package/dist/functions/async/createInterruptibleTask.js +180 -0
- package/dist/functions/async/createInterruptibleTask.js.map +1 -0
- package/dist/functions/color/convertColor.js +1 -1
- package/dist/functions/color/convertColor.js.map +1 -1
- package/dist/functions/debug/createDebugger.d.ts +14 -3
- package/dist/functions/debug/createDebugger.js +10 -35
- package/dist/functions/debug/createDebugger.js.map +1 -1
- package/dist/functions/dom/demonstrateResourceLoading.d.ts +32 -0
- package/dist/functions/dom/demonstrateResourceLoading.js +169 -0
- package/dist/functions/dom/demonstrateResourceLoading.js.map +1 -0
- package/dist/functions/dom/detectOverflow.d.ts +5 -1
- package/dist/functions/dom/detectOverflow.js +2 -2
- package/dist/functions/dom/detectOverflow.js.map +1 -1
- package/dist/functions/dom/getViewportRect.d.ts +5 -1
- package/dist/functions/dom/getViewportRect.js +3 -3
- package/dist/functions/dom/getViewportRect.js.map +1 -1
- package/dist/functions/image/compressToTargetSize.d.ts +8 -1
- package/dist/functions/image/compressToTargetSize.js +11 -8
- package/dist/functions/image/compressToTargetSize.js.map +1 -1
- package/dist/functions/image/generateMacIcons.d.ts +5 -1
- package/dist/functions/image/generateMacIcons.js +4 -4
- package/dist/functions/image/generateMacIcons.js.map +1 -1
- package/dist/functions/image/generateMacTrayIcon.d.ts +4 -1
- package/dist/functions/image/generateMacTrayIcon.js +2 -2
- package/dist/functions/image/generateMacTrayIcon.js.map +1 -1
- package/dist/functions/image/generatePaddedImage.d.ts +4 -1
- package/dist/functions/image/generatePaddedImage.js +3 -3
- package/dist/functions/image/generatePaddedImage.js.map +1 -1
- package/dist/functions/image/generatePwaIcons.d.ts +5 -1
- package/dist/functions/image/generatePwaIcons.js +4 -4
- package/dist/functions/image/generatePwaIcons.js.map +1 -1
- package/dist/functions/image/generateRoundedImage.d.ts +5 -1
- package/dist/functions/image/generateRoundedImage.js +4 -4
- package/dist/functions/image/generateRoundedImage.js.map +1 -1
- package/dist/functions/image/getImageDimensions.d.ts +5 -1
- package/dist/functions/image/getImageDimensions.js +3 -3
- package/dist/functions/image/getImageDimensions.js.map +1 -1
- package/dist/functions/ipc/dispatchIpcRequest.d.ts +4 -1
- package/dist/functions/ipc/dispatchIpcRequest.js +3 -3
- package/dist/functions/ipc/dispatchIpcRequest.js.map +1 -1
- package/dist/functions/software/findSoftware.d.ts +2 -2
- package/dist/functions/software/findSoftware.js +1 -1
- package/dist/functions/software/findSoftware.js.map +1 -1
- package/dist/functions/string/base64.d.ts +4 -1
- package/dist/functions/string/base64.js +2 -2
- package/dist/functions/string/base64.js.map +1 -1
- package/dist/functions/tencent-cloud/deploy.tcb.d.ts +12 -2
- package/dist/functions/tencent-cloud/deploy.tcb.js +7 -8
- package/dist/functions/tencent-cloud/deploy.tcb.js.map +1 -1
- package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +27 -2
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js +71 -29
- package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
- package/dist/functions/uniapp/build.d.ts +9 -8
- package/dist/functions/uniapp/build.js +8 -9
- package/dist/functions/uniapp/build.js.map +1 -1
- package/dist/functions/uniapp/detectAndroidProjectStructure.d.ts +5 -1
- package/dist/functions/uniapp/detectAndroidProjectStructure.js +5 -5
- package/dist/functions/uniapp/detectAndroidProjectStructure.js.map +1 -1
- package/dist/functions/uniapp/detectProjectType.d.ts +8 -4
- package/dist/functions/uniapp/detectProjectType.js +20 -20
- package/dist/functions/uniapp/detectProjectType.js.map +1 -1
- package/dist/functions/uniapp/parseManifest.d.ts +7 -1
- package/dist/functions/uniapp/parseManifest.js +7 -4
- package/dist/functions/uniapp/parseManifest.js.map +1 -1
- package/dist/functions/uniapp/waitForPages.d.ts +6 -2
- package/dist/functions/uniapp/waitForPages.js +3 -3
- package/dist/functions/uniapp/waitForPages.js.map +1 -1
- package/dist/functions/utils/AVLTree.d.ts +19 -0
- package/dist/functions/utils/AVLTree.js +197 -0
- package/dist/functions/utils/AVLTree.js.map +1 -0
- package/dist/functions/utils/BinarySearchTree.d.ts +19 -0
- package/dist/functions/utils/BinarySearchTree.js +150 -0
- package/dist/functions/utils/BinarySearchTree.js.map +1 -0
- package/dist/functions/utils/EventEmitter.d.ts +32 -0
- package/dist/functions/utils/EventEmitter.js +108 -0
- package/dist/functions/utils/EventEmitter.js.map +1 -0
- package/dist/functions/utils/Graph.d.ts +19 -0
- package/dist/functions/utils/Graph.js +190 -0
- package/dist/functions/utils/Graph.js.map +1 -0
- package/dist/functions/utils/HashMap.d.ts +13 -0
- package/dist/functions/utils/HashMap.js +128 -0
- package/dist/functions/utils/HashMap.js.map +1 -0
- package/dist/functions/utils/Heap.d.ts +11 -0
- package/dist/functions/utils/Heap.js +91 -0
- package/dist/functions/utils/Heap.js.map +1 -0
- package/dist/functions/utils/LRUCache.d.ts +41 -0
- package/dist/functions/utils/LRUCache.js +182 -0
- package/dist/functions/utils/LRUCache.js.map +1 -0
- package/dist/functions/utils/LinkedList.d.ts +18 -0
- package/dist/functions/utils/LinkedList.js +135 -0
- package/dist/functions/utils/LinkedList.js.map +1 -0
- package/dist/functions/utils/MyPromise.d.ts +32 -0
- package/dist/functions/utils/MyPromise.js +254 -0
- package/dist/functions/utils/MyPromise.js.map +1 -0
- package/dist/functions/utils/PriorityQueue.d.ts +14 -0
- package/dist/functions/utils/PriorityQueue.js +77 -0
- package/dist/functions/utils/PriorityQueue.js.map +1 -0
- package/dist/functions/utils/Queue.d.ts +10 -0
- package/dist/functions/utils/Queue.js +27 -0
- package/dist/functions/utils/Queue.js.map +1 -0
- package/dist/functions/utils/Stack.d.ts +10 -0
- package/dist/functions/utils/Stack.js +27 -0
- package/dist/functions/utils/Stack.js.map +1 -0
- package/dist/functions/utils/Trie.d.ts +16 -0
- package/dist/functions/utils/Trie.js +127 -0
- package/dist/functions/utils/Trie.js.map +1 -0
- package/dist/functions/utils/UnionFind.d.ts +8 -0
- package/dist/functions/utils/UnionFind.js +53 -0
- package/dist/functions/utils/UnionFind.js.map +1 -0
- package/dist/functions/utils/curryAdvanced.d.ts +8 -0
- package/dist/functions/utils/curryAdvanced.js +87 -0
- package/dist/functions/utils/curryAdvanced.js.map +1 -0
- package/dist/functions/utils/debounce.d.ts +5 -1
- package/dist/functions/utils/debounce.js +3 -4
- package/dist/functions/utils/debounce.js.map +1 -1
- package/dist/functions/utils/deepClone.d.ts +12 -0
- package/dist/functions/utils/deepClone.js +131 -0
- package/dist/functions/utils/deepClone.js.map +1 -0
- package/dist/functions/utils/flatten.d.ts +7 -0
- package/dist/functions/utils/flatten.js +60 -0
- package/dist/functions/utils/flatten.js.map +1 -0
- package/dist/functions/utils/flattenObject.d.ts +5 -0
- package/dist/functions/utils/flattenObject.js +102 -0
- package/dist/functions/utils/flattenObject.js.map +1 -0
- package/dist/functions/utils/functionBind.d.ts +4 -0
- package/dist/functions/utils/functionBind.js +33 -0
- package/dist/functions/utils/functionBind.js.map +1 -0
- package/dist/functions/utils/generateExports.d.ts +16 -6
- package/dist/functions/utils/generateExports.js +11 -11
- package/dist/functions/utils/generateExports.js.map +1 -1
- package/dist/functions/utils/generatorUtils.d.ts +16 -0
- package/dist/functions/utils/generatorUtils.js +139 -0
- package/dist/functions/utils/generatorUtils.js.map +1 -0
- package/dist/functions/utils/myInstanceof.d.ts +5 -0
- package/dist/functions/utils/myInstanceof.js +56 -0
- package/dist/functions/utils/myInstanceof.js.map +1 -0
- package/dist/functions/utils/myNew.d.ts +3 -0
- package/dist/functions/utils/myNew.js +19 -0
- package/dist/functions/utils/myNew.js.map +1 -0
- package/dist/functions/utils/promiseLimit.d.ts +10 -0
- package/dist/functions/utils/promiseLimit.js +125 -0
- package/dist/functions/utils/promiseLimit.js.map +1 -0
- package/dist/functions/utils/retryWithBackoff.d.ts +4 -1
- package/dist/functions/utils/retryWithBackoff.js +2 -3
- package/dist/functions/utils/retryWithBackoff.js.map +1 -1
- package/dist/functions/utils/unique.d.ts +10 -0
- package/dist/functions/utils/unique.js +85 -0
- package/dist/functions/utils/unique.js.map +1 -0
- package/dist/functions/utils/validate.d.ts +4 -1
- package/dist/functions/utils/validate.js +2 -3
- package/dist/functions/utils/validate.js.map +1 -1
- package/dist/functions/utils/walk.d.ts +8 -2
- package/dist/functions/utils/walk.js +9 -10
- package/dist/functions/utils/walk.js.map +1 -1
- package/dist/functions/vue/dynamicMount.d.ts +3 -2
- package/dist/functions/vue/dynamicMount.js +6 -6
- package/dist/functions/vue/dynamicMount.js.map +1 -1
- package/dist/functions/wechat/miniapp/downloadFile.d.ts +5 -1
- package/dist/functions/wechat/miniapp/downloadFile.js +3 -3
- package/dist/functions/wechat/miniapp/downloadFile.js.map +1 -1
- package/dist/functions/xml/modifyXml.d.ts +9 -2
- package/dist/functions/xml/modifyXml.js +4 -4
- package/dist/functions/xml/modifyXml.js.map +1 -1
- package/dist/hooks/createGlobalState.d.ts +2 -0
- package/dist/hooks/createGlobalState.js +11 -0
- package/dist/hooks/createGlobalState.js.map +1 -0
- package/dist/hooks/createInjectionState.d.ts +14 -0
- package/dist/hooks/createInjectionState.js +20 -0
- package/dist/hooks/createInjectionState.js.map +1 -0
- package/dist/hooks/createSharedComposable.d.ts +2 -0
- package/dist/hooks/createSharedComposable.js +13 -0
- package/dist/hooks/createSharedComposable.js.map +1 -0
- package/dist/hooks/injectLocal.d.ts +10 -0
- package/dist/hooks/injectLocal.js +12 -0
- package/dist/hooks/injectLocal.js.map +1 -0
- package/dist/hooks/provideLocal.d.ts +9 -0
- package/dist/hooks/provideLocal.js +7 -0
- package/dist/hooks/provideLocal.js.map +1 -0
- package/dist/hooks/useAltool.d.ts +1 -1
- package/dist/hooks/useAltool.js +13 -13
- package/dist/hooks/useAltool.js.map +1 -1
- package/dist/hooks/useAsyncState.d.ts +30 -0
- package/dist/hooks/useAsyncState.js +46 -0
- package/dist/hooks/useAsyncState.js.map +1 -0
- package/dist/hooks/useDebouncedRefHistory.d.ts +22 -0
- package/dist/hooks/useDebouncedRefHistory.js +46 -0
- package/dist/hooks/useDebouncedRefHistory.js.map +1 -0
- package/dist/hooks/useDraggable.d.ts +14 -11
- package/dist/hooks/useDraggable.js +60 -80
- package/dist/hooks/useDraggable.js.map +1 -1
- package/dist/hooks/useLocalStorage.d.ts +5 -1
- package/dist/hooks/useLocalStorage.js +5 -4
- package/dist/hooks/useLocalStorage.js.map +1 -1
- package/dist/hooks/useManualRefHistory.d.ts +26 -0
- package/dist/hooks/useManualRefHistory.js +80 -0
- package/dist/hooks/useManualRefHistory.js.map +1 -0
- package/dist/hooks/useRefHistory.d.ts +21 -0
- package/dist/hooks/useRefHistory.js +41 -0
- package/dist/hooks/useRefHistory.js.map +1 -0
- package/dist/hooks/useResizable.d.ts +54 -0
- package/dist/hooks/useResizable.js +178 -0
- package/dist/hooks/useResizable.js.map +1 -0
- package/dist/hooks/useSessionStorage.d.ts +5 -1
- package/dist/hooks/useSessionStorage.js +5 -4
- package/dist/hooks/useSessionStorage.js.map +1 -1
- package/dist/hooks/useStorage.d.ts +4 -1
- package/dist/hooks/useStorage.js +4 -4
- package/dist/hooks/useStorage.js.map +1 -1
- package/dist/hooks/useStorageWithIndexedDB.d.ts +5 -1
- package/dist/hooks/useStorageWithIndexedDB.js +24 -11
- package/dist/hooks/useStorageWithIndexedDB.js.map +1 -1
- package/dist/hooks/useWebWorker.d.ts +13 -13
- package/dist/hooks/useWebWorker.js +15 -17
- package/dist/hooks/useWebWorker.js.map +1 -1
- package/dist/hooks/useWorkerFunction.d.ts +15 -11
- package/dist/hooks/useWorkerFunction.js +16 -16
- package/dist/hooks/useWorkerFunction.js.map +1 -1
- package/dist/hooks/useWorkerPool.d.ts +15 -12
- package/dist/hooks/useWorkerPool.js +18 -13
- package/dist/hooks/useWorkerPool.js.map +1 -1
- package/package.json +41 -3
- package/references/browser.d.ts +28 -2
- package/references/dom.d.ts +47 -0
- package/references/indexeddb.d.ts +1 -0
- package/references/node.d.ts +42 -7
- package/references/vue.d.ts +161 -5
- package/types/android-build.d.ts +0 -22
- package/types/tencent-cloud.d.ts +1 -9
- package/types/uniapp-android-build.d.ts +0 -21
|
@@ -7,7 +7,6 @@ import { modifyXml } from '../../xml/modifyXml';
|
|
|
7
7
|
import { detectUniAppAndroidProjectStructure } from '../detectAndroidProjectStructure';
|
|
8
8
|
import { detectAllAndroidModules } from '../../android/detectAndroidModules';
|
|
9
9
|
export async function buildAndroidApp(options, deps) {
|
|
10
|
-
const { fs, path, json5 } = deps;
|
|
11
10
|
const logs = [];
|
|
12
11
|
if (!options.uniappProjectPath) {
|
|
13
12
|
return {
|
|
@@ -18,7 +17,12 @@ export async function buildAndroidApp(options, deps) {
|
|
|
18
17
|
}
|
|
19
18
|
try {
|
|
20
19
|
logs.push('步骤 1: 解析 manifest.json 配置');
|
|
21
|
-
const parseResult = parseManifest(options.uniappProjectPath,
|
|
20
|
+
const parseResult = parseManifest(options.uniappProjectPath, {
|
|
21
|
+
existsSync: deps.existsSync,
|
|
22
|
+
readFileSync: deps.readFileSync,
|
|
23
|
+
join: deps.join,
|
|
24
|
+
parse: deps.parse
|
|
25
|
+
});
|
|
22
26
|
if (!parseResult.success) {
|
|
23
27
|
return {
|
|
24
28
|
success: false,
|
|
@@ -29,9 +33,9 @@ export async function buildAndroidApp(options, deps) {
|
|
|
29
33
|
const manifest = parseResult.manifest;
|
|
30
34
|
logs.push('步骤 2: 构建 UniApp 项目');
|
|
31
35
|
const buildDeps = {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
exec: deps.exec,
|
|
37
|
+
join: deps.join,
|
|
38
|
+
existsSync: deps.existsSync,
|
|
35
39
|
setTimeout: deps.setTimeout
|
|
36
40
|
};
|
|
37
41
|
const uniBuildResult = await build(options.uniappProjectPath, 'app-plus', buildDeps);
|
|
@@ -44,17 +48,20 @@ export async function buildAndroidApp(options, deps) {
|
|
|
44
48
|
}
|
|
45
49
|
logs.push(...uniBuildResult.logs);
|
|
46
50
|
logs.push('步骤 3: 配置 Android 原生工程');
|
|
47
|
-
const projectStructure = detectUniAppAndroidProjectStructure(options.projectPath,
|
|
51
|
+
const projectStructure = detectUniAppAndroidProjectStructure(options.projectPath, {
|
|
52
|
+
existsSync: deps.existsSync,
|
|
53
|
+
join: deps.join
|
|
54
|
+
});
|
|
48
55
|
logs.push(`使用模块目录: ${projectStructure.moduleDir}`);
|
|
49
|
-
const distPath =
|
|
56
|
+
const distPath = deps.join(options.uniappProjectPath, 'dist');
|
|
50
57
|
logs.push('复制应用资源');
|
|
51
|
-
const targetPath =
|
|
58
|
+
const targetPath = deps.join(options.projectPath, projectStructure.moduleDir, 'src', 'main', 'assets', 'apps', manifest.appid, 'www');
|
|
52
59
|
try {
|
|
53
|
-
const targetDir =
|
|
54
|
-
if (!
|
|
55
|
-
|
|
60
|
+
const targetDir = deps.dirname(targetPath);
|
|
61
|
+
if (!deps.existsSync(targetDir)) {
|
|
62
|
+
deps.mkdirSync(targetDir, { recursive: true });
|
|
56
63
|
}
|
|
57
|
-
await
|
|
64
|
+
await deps.cp(`${distPath}/build/app`, targetPath, { recursive: true, force: true });
|
|
58
65
|
logs.push('应用资源复制完成');
|
|
59
66
|
}
|
|
60
67
|
catch (error) {
|
|
@@ -94,12 +101,24 @@ export async function buildAndroidApp(options, deps) {
|
|
|
94
101
|
}
|
|
95
102
|
});
|
|
96
103
|
}
|
|
97
|
-
const allModules = detectAllAndroidModules(options.projectPath,
|
|
104
|
+
const allModules = detectAllAndroidModules(options.projectPath, {
|
|
105
|
+
readdirSync: deps.readdirSync,
|
|
106
|
+
statSync: deps.statSync,
|
|
107
|
+
existsSync: deps.existsSync,
|
|
108
|
+
join: deps.join
|
|
109
|
+
});
|
|
98
110
|
logs.push(`检测到 ${allModules.length} 个Android模块: ${allModules.join(', ')}`);
|
|
99
111
|
let manifestConfigured = false;
|
|
100
112
|
for (const moduleDir of allModules) {
|
|
101
|
-
const manifestPath =
|
|
102
|
-
const manifestResult = await modifyManifest(manifestPath, manifestModifications,
|
|
113
|
+
const manifestPath = deps.join(options.projectPath, moduleDir, 'src', 'main', 'AndroidManifest.xml');
|
|
114
|
+
const manifestResult = await modifyManifest(manifestPath, manifestModifications, {
|
|
115
|
+
existsSync: deps.existsSync,
|
|
116
|
+
readFileSync: deps.readFileSync,
|
|
117
|
+
writeFileSync: deps.writeFileSync,
|
|
118
|
+
xmlParser: deps.xmlParser,
|
|
119
|
+
xmlSerializer: deps.xmlSerializer,
|
|
120
|
+
xpath: deps.xpath
|
|
121
|
+
});
|
|
103
122
|
if (manifestResult.success) {
|
|
104
123
|
logs.push(`${moduleDir} 模块的 AndroidManifest.xml 配置完成`);
|
|
105
124
|
manifestConfigured = true;
|
|
@@ -109,8 +128,15 @@ export async function buildAndroidApp(options, deps) {
|
|
|
109
128
|
}
|
|
110
129
|
}
|
|
111
130
|
if (allModules.length === 0) {
|
|
112
|
-
const manifestPath =
|
|
113
|
-
const manifestResult = await modifyManifest(manifestPath, manifestModifications,
|
|
131
|
+
const manifestPath = deps.join(options.projectPath, projectStructure.moduleDir, 'src', 'main', 'AndroidManifest.xml');
|
|
132
|
+
const manifestResult = await modifyManifest(manifestPath, manifestModifications, {
|
|
133
|
+
existsSync: deps.existsSync,
|
|
134
|
+
readFileSync: deps.readFileSync,
|
|
135
|
+
writeFileSync: deps.writeFileSync,
|
|
136
|
+
xmlParser: deps.xmlParser,
|
|
137
|
+
xmlSerializer: deps.xmlSerializer,
|
|
138
|
+
xpath: deps.xpath
|
|
139
|
+
});
|
|
114
140
|
if (!manifestResult.success) {
|
|
115
141
|
return {
|
|
116
142
|
success: false,
|
|
@@ -129,7 +155,7 @@ export async function buildAndroidApp(options, deps) {
|
|
|
129
155
|
};
|
|
130
156
|
}
|
|
131
157
|
logs.push('配置 build.gradle');
|
|
132
|
-
const buildGradlePath =
|
|
158
|
+
const buildGradlePath = deps.join(options.projectPath, projectStructure.moduleDir, 'build.gradle');
|
|
133
159
|
const gradleResult = await modifyGradle(buildGradlePath, {
|
|
134
160
|
applicationId: options.applicationId,
|
|
135
161
|
versionName: '1.0.0',
|
|
@@ -140,7 +166,15 @@ export async function buildAndroidApp(options, deps) {
|
|
|
140
166
|
keyAlias: options.signing.keyAlias,
|
|
141
167
|
keyPassword: options.signing.keyPassword
|
|
142
168
|
} : undefined
|
|
143
|
-
},
|
|
169
|
+
}, {
|
|
170
|
+
existsSync: deps.existsSync,
|
|
171
|
+
readFileSync: deps.readFileSync,
|
|
172
|
+
writeFileSync: deps.writeFileSync,
|
|
173
|
+
copyFileSync: deps.copyFileSync,
|
|
174
|
+
join: deps.join,
|
|
175
|
+
dirname: deps.dirname,
|
|
176
|
+
basename: deps.basename
|
|
177
|
+
});
|
|
144
178
|
if (!gradleResult.success) {
|
|
145
179
|
return {
|
|
146
180
|
success: false,
|
|
@@ -151,14 +185,20 @@ export async function buildAndroidApp(options, deps) {
|
|
|
151
185
|
logs.push('build.gradle 配置完成');
|
|
152
186
|
if (manifest.name) {
|
|
153
187
|
logs.push('配置 strings.xml');
|
|
154
|
-
const stringsXmlPath =
|
|
188
|
+
const stringsXmlPath = deps.join(options.projectPath, projectStructure.moduleDir, 'src', 'main', 'res', 'values', 'strings.xml');
|
|
155
189
|
const stringsResult = await modifyXml(stringsXmlPath, {
|
|
156
190
|
app_name: manifest.name
|
|
157
191
|
}, {
|
|
158
192
|
tagName: 'string',
|
|
159
193
|
matchAttribute: 'name',
|
|
160
194
|
modifyType: 'textContent'
|
|
161
|
-
},
|
|
195
|
+
}, {
|
|
196
|
+
existsSync: deps.existsSync,
|
|
197
|
+
readFileSync: deps.readFileSync,
|
|
198
|
+
writeFileSync: deps.writeFileSync,
|
|
199
|
+
xmlParser: deps.xmlParser,
|
|
200
|
+
xmlSerializer: deps.xmlSerializer
|
|
201
|
+
});
|
|
162
202
|
if (stringsResult.success) {
|
|
163
203
|
logs.push('strings.xml 配置完成');
|
|
164
204
|
}
|
|
@@ -167,10 +207,10 @@ export async function buildAndroidApp(options, deps) {
|
|
|
167
207
|
}
|
|
168
208
|
}
|
|
169
209
|
logs.push('配置 dcloud_control.xml');
|
|
170
|
-
const dcloudControlXmlPath =
|
|
210
|
+
const dcloudControlXmlPath = deps.join(options.projectPath, projectStructure.moduleDir, 'src', 'main', 'assets', 'data', 'dcloud_control.xml');
|
|
171
211
|
try {
|
|
172
|
-
if (
|
|
173
|
-
const xmlContent =
|
|
212
|
+
if (deps.existsSync(dcloudControlXmlPath)) {
|
|
213
|
+
const xmlContent = deps.readFileSync(dcloudControlXmlPath, 'utf8');
|
|
174
214
|
const parser = new deps.xmlParser();
|
|
175
215
|
const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');
|
|
176
216
|
const appsElements = xmlDoc.getElementsByTagName('apps');
|
|
@@ -192,7 +232,7 @@ export async function buildAndroidApp(options, deps) {
|
|
|
192
232
|
logs.push(`添加新的 app 元素,appid: ${manifest.appid}`);
|
|
193
233
|
const serializer = new deps.xmlSerializer();
|
|
194
234
|
const newXmlContent = serializer.serializeToString(xmlDoc);
|
|
195
|
-
|
|
235
|
+
deps.writeFileSync(dcloudControlXmlPath, newXmlContent, 'utf8');
|
|
196
236
|
logs.push('dcloud_control.xml 配置完成');
|
|
197
237
|
}
|
|
198
238
|
else {
|
|
@@ -208,10 +248,12 @@ export async function buildAndroidApp(options, deps) {
|
|
|
208
248
|
}
|
|
209
249
|
logs.push('步骤 4: 编译 Android 应用');
|
|
210
250
|
const androidBuildDeps = {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
251
|
+
existsSync: deps.existsSync,
|
|
252
|
+
readdirSync: deps.readdirSync,
|
|
253
|
+
statSync: deps.statSync,
|
|
254
|
+
join: deps.join,
|
|
255
|
+
platform: deps.platform,
|
|
256
|
+
exec: deps.exec,
|
|
215
257
|
setTimeout: deps.setTimeout
|
|
216
258
|
};
|
|
217
259
|
const buildResult = await buildProject({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAndroidApp.js","sourceRoot":"","sources":["../../../../src/functions/uniapp/app-plus/buildAndroidApp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildAndroidApp.js","sourceRoot":"","sources":["../../../../src/functions/uniapp/app-plus/buildAndroidApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import type { FileSystem, Path } from '../../../references/node.d';
|
|
2
|
-
import type {
|
|
1
|
+
import type { FileSystem, Path, ChildProcess } from '../../../references/node.d';
|
|
2
|
+
import type { setTimeout } from '../../../references/timer.d';
|
|
3
|
+
export interface UniBuildDeps {
|
|
4
|
+
exec: ChildProcess['exec'];
|
|
5
|
+
join: Path['join'];
|
|
6
|
+
existsSync: FileSystem['existsSync'];
|
|
7
|
+
setTimeout: typeof setTimeout;
|
|
8
|
+
}
|
|
3
9
|
export type BuildTarget = 'h5' | 'mp-weixin' | 'app-plus';
|
|
4
10
|
export interface BuildOptions {
|
|
5
11
|
useCustomScript?: boolean;
|
|
@@ -12,9 +18,4 @@ export interface BuildResult {
|
|
|
12
18
|
error?: string;
|
|
13
19
|
logs: string[];
|
|
14
20
|
}
|
|
15
|
-
export declare function build(projectPath: string, target: BuildTarget, deps:
|
|
16
|
-
childProcess: ChildProcess;
|
|
17
|
-
path: Path;
|
|
18
|
-
fs: FileSystem;
|
|
19
|
-
setTimeout: (callback: () => void, ms: number) => any;
|
|
20
|
-
}, options?: BuildOptions): Promise<BuildResult>;
|
|
21
|
+
export declare function build(projectPath: string, target: BuildTarget, deps: UniBuildDeps, options?: BuildOptions): Promise<BuildResult>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export async function build(projectPath, target, deps, options = {}) {
|
|
2
|
-
const { childProcess, path, fs, setTimeout } = deps;
|
|
3
2
|
const { useCustomScript = false, customScript = 'build', timeout = 300000 } = options;
|
|
4
3
|
const logs = [];
|
|
5
4
|
try {
|
|
@@ -16,7 +15,7 @@ export async function build(projectPath, target, deps, options = {}) {
|
|
|
16
15
|
}
|
|
17
16
|
logs.push(`执行命令: ${buildCommand}`);
|
|
18
17
|
const result = await new Promise((resolve) => {
|
|
19
|
-
const child =
|
|
18
|
+
const child = deps.exec(buildCommand, (error, stdout, stderr) => {
|
|
20
19
|
if (error) {
|
|
21
20
|
logs.push(`构建错误: ${error.message}`);
|
|
22
21
|
if (stderr)
|
|
@@ -30,7 +29,7 @@ export async function build(projectPath, target, deps, options = {}) {
|
|
|
30
29
|
logs.push(`警告信息: ${stderr}`);
|
|
31
30
|
resolve({ success: true });
|
|
32
31
|
});
|
|
33
|
-
setTimeout(() => {
|
|
32
|
+
deps.setTimeout(() => {
|
|
34
33
|
child.kill();
|
|
35
34
|
resolve({ success: false, error: '构建超时' });
|
|
36
35
|
}, timeout);
|
|
@@ -45,20 +44,20 @@ export async function build(projectPath, target, deps, options = {}) {
|
|
|
45
44
|
let outputPath;
|
|
46
45
|
switch (target) {
|
|
47
46
|
case 'h5':
|
|
48
|
-
outputPath =
|
|
47
|
+
outputPath = deps.join(projectPath, 'dist', 'build', 'h5');
|
|
49
48
|
break;
|
|
50
49
|
case 'mp-weixin':
|
|
51
|
-
outputPath =
|
|
50
|
+
outputPath = deps.join(projectPath, 'dist', 'build', 'mp-weixin');
|
|
52
51
|
break;
|
|
53
52
|
case 'app-plus':
|
|
54
|
-
outputPath =
|
|
53
|
+
outputPath = deps.join(projectPath, 'dist', 'build', 'app');
|
|
55
54
|
break;
|
|
56
55
|
default:
|
|
57
|
-
outputPath =
|
|
56
|
+
outputPath = deps.join(projectPath, 'dist', 'build', target);
|
|
58
57
|
}
|
|
59
|
-
if (!
|
|
58
|
+
if (!deps.existsSync(outputPath)) {
|
|
60
59
|
logs.push(`警告: 未找到输出目录 ${outputPath}`);
|
|
61
|
-
const distPath =
|
|
60
|
+
const distPath = deps.join(projectPath, 'dist');
|
|
62
61
|
logs.push(`dist 目录存在但输出目录未找到`);
|
|
63
62
|
}
|
|
64
63
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/functions/uniapp/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/functions/uniapp/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { FileSystem, Path } from '../../../references/node.d';
|
|
2
|
+
export interface DetectAndroidProjectStructureDeps {
|
|
3
|
+
existsSync: FileSystem['existsSync'];
|
|
4
|
+
join: Path['join'];
|
|
5
|
+
}
|
|
2
6
|
export interface UniAppAndroidProjectStructure {
|
|
3
7
|
moduleDir: string;
|
|
4
8
|
isAndroidStudioIntegration: boolean;
|
|
5
9
|
isHBuilderStandard: boolean;
|
|
6
10
|
}
|
|
7
|
-
export declare function detectUniAppAndroidProjectStructure(projectPath: string,
|
|
11
|
+
export declare function detectUniAppAndroidProjectStructure(projectPath: string, deps: DetectAndroidProjectStructureDeps): UniAppAndroidProjectStructure;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export function detectUniAppAndroidProjectStructure(projectPath,
|
|
2
|
-
const simpleDemoPath =
|
|
3
|
-
const appPath =
|
|
4
|
-
const hasSimpleDemo =
|
|
5
|
-
const hasApp =
|
|
1
|
+
export function detectUniAppAndroidProjectStructure(projectPath, deps) {
|
|
2
|
+
const simpleDemoPath = deps.join(projectPath, 'simpleDemo', 'src', 'main');
|
|
3
|
+
const appPath = deps.join(projectPath, 'app', 'src', 'main');
|
|
4
|
+
const hasSimpleDemo = deps.existsSync(simpleDemoPath);
|
|
5
|
+
const hasApp = deps.existsSync(appPath);
|
|
6
6
|
let moduleDir;
|
|
7
7
|
let isAndroidStudioIntegration;
|
|
8
8
|
let isHBuilderStandard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectAndroidProjectStructure.js","sourceRoot":"","sources":["../../../src/functions/uniapp/detectAndroidProjectStructure.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detectAndroidProjectStructure.js","sourceRoot":"","sources":["../../../src/functions/uniapp/detectAndroidProjectStructure.ts"],"names":[],"mappings":"AA+BA,MAAM,UAAU,mCAAmC,CACjD,WAAmB,EACnB,IAAuC;IAEvC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAE5D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAEvC,IAAI,SAAiB,CAAA;IACrB,IAAI,0BAAmC,CAAA;IACvC,IAAI,kBAA2B,CAAA;IAE/B,IAAI,aAAa,EAAE,CAAC;QAClB,SAAS,GAAG,YAAY,CAAA;QACxB,0BAA0B,GAAG,IAAI,CAAA;QACjC,kBAAkB,GAAG,KAAK,CAAA;IAC5B,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,SAAS,GAAG,KAAK,CAAA;QACjB,0BAA0B,GAAG,KAAK,CAAA;QAClC,kBAAkB,GAAG,IAAI,CAAA;IAC3B,CAAC;SAAM,CAAC;QAEN,SAAS,GAAG,KAAK,CAAA;QACjB,0BAA0B,GAAG,KAAK,CAAA;QAClC,kBAAkB,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED,OAAO;QACL,SAAS;QACT,0BAA0B;QAC1B,kBAAkB;KACnB,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { FileSystem, Path } from '../../../references/node.d';
|
|
2
|
+
export interface DetectProjectTypeDeps {
|
|
3
|
+
existsSync: FileSystem['existsSync'];
|
|
4
|
+
join: Path['join'];
|
|
5
|
+
}
|
|
2
6
|
export declare enum UniAppProjectType {
|
|
3
7
|
HBUILDERX = "hbuilderx",
|
|
4
8
|
CLI = "cli"
|
|
@@ -10,7 +14,7 @@ export interface ProjectTypeResult {
|
|
|
10
14
|
pagesPath?: string;
|
|
11
15
|
error?: string;
|
|
12
16
|
}
|
|
13
|
-
export declare function isHBuilderXProject(projectPath: string,
|
|
14
|
-
export declare function isCLIProject(projectPath: string,
|
|
15
|
-
export declare function detectUniAppProjectType(projectPath: string,
|
|
16
|
-
export declare function detectProjectType(projectPath: string,
|
|
17
|
+
export declare function isHBuilderXProject(projectPath: string, deps: DetectProjectTypeDeps): boolean;
|
|
18
|
+
export declare function isCLIProject(projectPath: string, deps: DetectProjectTypeDeps): boolean;
|
|
19
|
+
export declare function detectUniAppProjectType(projectPath: string, deps: DetectProjectTypeDeps): UniAppProjectType;
|
|
20
|
+
export declare function detectProjectType(projectPath: string, deps: DetectProjectTypeDeps): ProjectTypeResult;
|
|
@@ -3,54 +3,54 @@ export var UniAppProjectType;
|
|
|
3
3
|
UniAppProjectType["HBUILDERX"] = "hbuilderx";
|
|
4
4
|
UniAppProjectType["CLI"] = "cli";
|
|
5
5
|
})(UniAppProjectType || (UniAppProjectType = {}));
|
|
6
|
-
export function isHBuilderXProject(projectPath,
|
|
6
|
+
export function isHBuilderXProject(projectPath, deps) {
|
|
7
7
|
const hbuilderxPath = `${projectPath}/.hbuilderx`;
|
|
8
8
|
const uniModulesPath = `${projectPath}/uni_modules`;
|
|
9
|
-
return
|
|
9
|
+
return deps.existsSync(hbuilderxPath) || deps.existsSync(uniModulesPath);
|
|
10
10
|
}
|
|
11
|
-
export function isCLIProject(projectPath,
|
|
11
|
+
export function isCLIProject(projectPath, deps) {
|
|
12
12
|
const packagePath = `${projectPath}/package.json`;
|
|
13
13
|
const nodeModulesPath = `${projectPath}/node_modules`;
|
|
14
14
|
const vueConfigPath = `${projectPath}/vue.config.js`;
|
|
15
15
|
const viteConfigPath = `${projectPath}/vite.config.js`;
|
|
16
|
-
const hasPackageJson =
|
|
17
|
-
const hasNodeModules =
|
|
18
|
-
const hasVueConfig =
|
|
19
|
-
const hasViteConfig =
|
|
16
|
+
const hasPackageJson = deps.existsSync(packagePath);
|
|
17
|
+
const hasNodeModules = deps.existsSync(nodeModulesPath);
|
|
18
|
+
const hasVueConfig = deps.existsSync(vueConfigPath);
|
|
19
|
+
const hasViteConfig = deps.existsSync(viteConfigPath);
|
|
20
20
|
return hasPackageJson && (hasNodeModules || hasVueConfig || hasViteConfig);
|
|
21
21
|
}
|
|
22
|
-
export function detectUniAppProjectType(projectPath,
|
|
23
|
-
if (isHBuilderXProject(projectPath,
|
|
22
|
+
export function detectUniAppProjectType(projectPath, deps) {
|
|
23
|
+
if (isHBuilderXProject(projectPath, deps)) {
|
|
24
24
|
return UniAppProjectType.HBUILDERX;
|
|
25
25
|
}
|
|
26
|
-
if (isCLIProject(projectPath,
|
|
26
|
+
if (isCLIProject(projectPath, deps)) {
|
|
27
27
|
return UniAppProjectType.CLI;
|
|
28
28
|
}
|
|
29
29
|
return UniAppProjectType.CLI;
|
|
30
30
|
}
|
|
31
|
-
export function detectProjectType(projectPath,
|
|
31
|
+
export function detectProjectType(projectPath, deps) {
|
|
32
32
|
try {
|
|
33
|
-
const manifestSrcPath =
|
|
34
|
-
const manifestRootPath =
|
|
35
|
-
const hasManifest =
|
|
33
|
+
const manifestSrcPath = deps.join(projectPath, 'src', 'manifest.json');
|
|
34
|
+
const manifestRootPath = deps.join(projectPath, 'manifest.json');
|
|
35
|
+
const hasManifest = deps.existsSync(manifestSrcPath) || deps.existsSync(manifestRootPath);
|
|
36
36
|
if (!hasManifest) {
|
|
37
37
|
return {
|
|
38
38
|
isUniApp: false,
|
|
39
39
|
error: '未找到 manifest.json 文件,不是 UniApp 项目'
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
-
const pagesSrcPath =
|
|
43
|
-
const pagesRootPath =
|
|
44
|
-
const hasPages =
|
|
42
|
+
const pagesSrcPath = deps.join(projectPath, 'src', 'pages.json');
|
|
43
|
+
const pagesRootPath = deps.join(projectPath, 'pages.json');
|
|
44
|
+
const hasPages = deps.existsSync(pagesSrcPath) || deps.existsSync(pagesRootPath);
|
|
45
45
|
if (!hasPages) {
|
|
46
46
|
return {
|
|
47
47
|
isUniApp: false,
|
|
48
48
|
error: '未找到 pages.json 文件,不是 UniApp 项目'
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
const projectType = detectUniAppProjectType(projectPath,
|
|
52
|
-
const manifestPath =
|
|
53
|
-
const pagesPath =
|
|
51
|
+
const projectType = detectUniAppProjectType(projectPath, deps);
|
|
52
|
+
const manifestPath = deps.existsSync(manifestSrcPath) ? manifestSrcPath : manifestRootPath;
|
|
53
|
+
const pagesPath = deps.existsSync(pagesSrcPath) ? pagesSrcPath : pagesRootPath;
|
|
54
54
|
return {
|
|
55
55
|
isUniApp: true,
|
|
56
56
|
projectType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectProjectType.js","sourceRoot":"","sources":["../../../src/functions/uniapp/detectProjectType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detectProjectType.js","sourceRoot":"","sources":["../../../src/functions/uniapp/detectProjectType.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import type { FileSystem, Path } from '../../../references/node.d';
|
|
2
2
|
import type { JSON5Parser } from '../../../references/json5.d';
|
|
3
|
+
export interface ParseManifestDeps {
|
|
4
|
+
existsSync: FileSystem['existsSync'];
|
|
5
|
+
readFileSync: FileSystem['readFileSync'];
|
|
6
|
+
join: Path['join'];
|
|
7
|
+
parse: JSON5Parser['parse'];
|
|
8
|
+
}
|
|
3
9
|
export interface UniAppManifest {
|
|
4
10
|
appid: string;
|
|
5
11
|
name: string;
|
|
6
12
|
description?: string;
|
|
7
13
|
}
|
|
8
|
-
export declare function parseManifest(projectPath: string,
|
|
14
|
+
export declare function parseManifest(projectPath: string, deps: ParseManifestDeps): {
|
|
9
15
|
success: boolean;
|
|
10
16
|
manifest?: UniAppManifest;
|
|
11
17
|
error?: string;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { detectProjectType } from './detectProjectType';
|
|
2
|
-
export function parseManifest(projectPath,
|
|
3
|
-
const typeResult = detectProjectType(projectPath,
|
|
2
|
+
export function parseManifest(projectPath, deps) {
|
|
3
|
+
const typeResult = detectProjectType(projectPath, {
|
|
4
|
+
existsSync: deps.existsSync,
|
|
5
|
+
join: deps.join
|
|
6
|
+
});
|
|
4
7
|
if (!typeResult.isUniApp) {
|
|
5
8
|
return { success: false, error: typeResult.error || '不是 UniApp 项目' };
|
|
6
9
|
}
|
|
@@ -9,8 +12,8 @@ export function parseManifest(projectPath, fs, path, json5) {
|
|
|
9
12
|
}
|
|
10
13
|
let manifest;
|
|
11
14
|
try {
|
|
12
|
-
const manifestContent =
|
|
13
|
-
manifest =
|
|
15
|
+
const manifestContent = deps.readFileSync(typeResult.manifestPath, 'utf8');
|
|
16
|
+
manifest = deps.parse(manifestContent);
|
|
14
17
|
}
|
|
15
18
|
catch (error) {
|
|
16
19
|
return { success: false, error: `解析 manifest.json 失败: ${error instanceof Error ? error.message : String(error)}` };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseManifest.js","sourceRoot":"","sources":["../../../src/functions/uniapp/parseManifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"parseManifest.js","sourceRoot":"","sources":["../../../src/functions/uniapp/parseManifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AA+BvD,MAAM,UAAU,aAAa,CAC3B,WAAmB,EACnB,IAAuB;IAGvB,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE;QAChD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,cAAc,EAAE,CAAA;IACtE,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAA;IAC3D,CAAC;IAED,IAAI,QAAa,CAAA;IACjB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QAC1E,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAA;IACpH,CAAC;IAGD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAA;IAC7E,CAAC;IAED,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAA;IACvE,CAAC;IAGD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAA;IAC1E,CAAC;IAED,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAA;IACrE,CAAC;IAGD,MAAM,eAAe,GAAG,oBAAoB,CAAA;IAE5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gBAAgB,QAAQ,CAAC,KAAK,wCAAwC;SAC9E,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE;YACR,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;SAClC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import type { UniApp } from '../../../references/uniapp.d';
|
|
2
|
-
import type {
|
|
3
|
-
export
|
|
2
|
+
import type { setTimeout } from '../../../references/timer.d';
|
|
3
|
+
export interface WaitForPagesDeps {
|
|
4
|
+
getCurrentPages: UniApp['getCurrentPages'];
|
|
5
|
+
setTimeout: typeof setTimeout;
|
|
6
|
+
}
|
|
7
|
+
export declare function waitForPages(deps: WaitForPagesDeps, timeout?: number): Promise<any[]>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export function waitForPages(
|
|
1
|
+
export function waitForPages(deps, timeout = 5000) {
|
|
2
2
|
return new Promise((resolve, reject) => {
|
|
3
3
|
const startTime = Date.now();
|
|
4
4
|
const checkPages = () => {
|
|
5
|
-
const pages =
|
|
5
|
+
const pages = deps.getCurrentPages();
|
|
6
6
|
if (pages.length > 0) {
|
|
7
7
|
resolve(pages);
|
|
8
8
|
return;
|
|
@@ -11,7 +11,7 @@ export function waitForPages(uniApp, timer, timeout = 5000) {
|
|
|
11
11
|
reject(new Error('等待页面栈超时'));
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
deps.setTimeout(checkPages, 100);
|
|
15
15
|
};
|
|
16
16
|
checkPages();
|
|
17
17
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForPages.js","sourceRoot":"","sources":["../../../src/functions/uniapp/waitForPages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"waitForPages.js","sourceRoot":"","sources":["../../../src/functions/uniapp/waitForPages.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,YAAY,CAAC,IAAsB,EAAE,OAAO,GAAG,IAAI;IACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAErC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAGD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;YAGD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,UAAU,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAAA,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface AVLNode<T> {
|
|
2
|
+
value: T;
|
|
3
|
+
left: AVLNode<T> | null;
|
|
4
|
+
right: AVLNode<T> | null;
|
|
5
|
+
height: number;
|
|
6
|
+
}
|
|
7
|
+
export interface AVLTree<T> {
|
|
8
|
+
insert(value: T): void;
|
|
9
|
+
search(value: T): boolean;
|
|
10
|
+
delete(value: T): boolean;
|
|
11
|
+
findMin(): T | undefined;
|
|
12
|
+
findMax(): T | undefined;
|
|
13
|
+
inorderTraversal(): T[];
|
|
14
|
+
height(): number;
|
|
15
|
+
size(): number;
|
|
16
|
+
isBalanced(): boolean;
|
|
17
|
+
clear(): void;
|
|
18
|
+
}
|
|
19
|
+
export declare function createAVLTree<T>(compare?: (a: T, b: T) => number): AVLTree<T>;
|