zcw-shared 1.20.0 → 1.21.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 (114) hide show
  1. package/dist/functions/array-object/deepClone.d.ts +12 -0
  2. package/dist/functions/array-object/deepClone.js +131 -0
  3. package/dist/functions/array-object/deepClone.js.map +1 -0
  4. package/dist/functions/array-object/flatten.d.ts +7 -0
  5. package/dist/functions/array-object/flatten.js +60 -0
  6. package/dist/functions/array-object/flatten.js.map +1 -0
  7. package/dist/functions/array-object/unique.d.ts +10 -0
  8. package/dist/functions/array-object/unique.js +85 -0
  9. package/dist/functions/array-object/unique.js.map +1 -0
  10. package/dist/functions/data-structures/Heap.d.ts +11 -0
  11. package/dist/functions/data-structures/Heap.js +91 -0
  12. package/dist/functions/data-structures/Heap.js.map +1 -0
  13. package/dist/functions/data-structures/LinkedList.d.ts +18 -0
  14. package/dist/functions/data-structures/LinkedList.js +135 -0
  15. package/dist/functions/data-structures/LinkedList.js.map +1 -0
  16. package/dist/functions/data-structures/PriorityQueue.d.ts +14 -0
  17. package/dist/functions/data-structures/PriorityQueue.js +77 -0
  18. package/dist/functions/data-structures/PriorityQueue.js.map +1 -0
  19. package/dist/functions/data-structures/Queue.d.ts +10 -0
  20. package/dist/functions/data-structures/Queue.js +27 -0
  21. package/dist/functions/data-structures/Queue.js.map +1 -0
  22. package/dist/functions/data-structures/Stack.d.ts +10 -0
  23. package/dist/functions/data-structures/Stack.js +27 -0
  24. package/dist/functions/data-structures/Stack.js.map +1 -0
  25. package/dist/functions/design-tokens/buildTokens.d.ts +76 -0
  26. package/dist/functions/design-tokens/buildTokens.js +183 -0
  27. package/dist/functions/design-tokens/buildTokens.js.map +1 -0
  28. package/dist/functions/design-tokens/generateVariables.d.ts +7 -0
  29. package/dist/functions/design-tokens/generateVariables.js +135 -0
  30. package/dist/functions/design-tokens/generateVariables.js.map +1 -0
  31. package/dist/functions/design-tokens/mixColors.d.ts +1 -0
  32. package/dist/functions/design-tokens/mixColors.js +38 -0
  33. package/dist/functions/design-tokens/mixColors.js.map +1 -0
  34. package/dist/functions/design-tokens/parseDesignTokens.d.ts +10 -0
  35. package/dist/functions/design-tokens/parseDesignTokens.js +216 -0
  36. package/dist/functions/design-tokens/parseDesignTokens.js.map +1 -0
  37. package/dist/functions/functional/compose.d.ts +1 -0
  38. package/dist/functions/functional/compose.js +10 -0
  39. package/dist/functions/functional/compose.js.map +1 -0
  40. package/dist/functions/functional/curry.d.ts +1 -0
  41. package/dist/functions/functional/curry.js +13 -0
  42. package/dist/functions/functional/curry.js.map +1 -0
  43. package/dist/functions/functional/pipe.d.ts +1 -0
  44. package/dist/functions/functional/pipe.js +10 -0
  45. package/dist/functions/functional/pipe.js.map +1 -0
  46. package/dist/functions/performance/debounce.d.ts +5 -0
  47. package/dist/functions/performance/debounce.js +12 -0
  48. package/dist/functions/performance/debounce.js.map +1 -0
  49. package/dist/functions/performance/memoize.d.ts +1 -0
  50. package/dist/functions/performance/memoize.js +13 -0
  51. package/dist/functions/performance/memoize.js.map +1 -0
  52. package/dist/functions/performance/throttle.d.ts +1 -0
  53. package/dist/functions/performance/throttle.js +11 -0
  54. package/dist/functions/performance/throttle.js.map +1 -0
  55. package/dist/functions/platform/tencent-cloud/deploy.tcb.d.ts +13 -0
  56. package/dist/functions/platform/tencent-cloud/deploy.tcb.js +46 -0
  57. package/dist/functions/platform/tencent-cloud/deploy.tcb.js.map +1 -0
  58. package/dist/functions/platform/tencent-cloud/getSecret.d.ts +4 -0
  59. package/dist/functions/platform/tencent-cloud/getSecret.js +19 -0
  60. package/dist/functions/platform/tencent-cloud/getSecret.js.map +1 -0
  61. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.d.ts +27 -0
  62. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js +287 -0
  63. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js.map +1 -0
  64. package/dist/functions/platform/uniapp/build.d.ts +21 -0
  65. package/dist/functions/platform/uniapp/build.js +83 -0
  66. package/dist/functions/platform/uniapp/build.js.map +1 -0
  67. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.d.ts +11 -0
  68. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js +30 -0
  69. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js.map +1 -0
  70. package/dist/functions/platform/uniapp/detectProjectType.d.ts +20 -0
  71. package/dist/functions/platform/uniapp/detectProjectType.js +68 -0
  72. package/dist/functions/platform/uniapp/detectProjectType.js.map +1 -0
  73. package/dist/functions/platform/uniapp/parseManifest.d.ts +18 -0
  74. package/dist/functions/platform/uniapp/parseManifest.js +49 -0
  75. package/dist/functions/platform/uniapp/parseManifest.js.map +1 -0
  76. package/dist/functions/platform/uniapp/waitForPages.d.ts +7 -0
  77. package/dist/functions/platform/uniapp/waitForPages.js +20 -0
  78. package/dist/functions/platform/uniapp/waitForPages.js.map +1 -0
  79. package/dist/functions/principles/functionBind.d.ts +4 -0
  80. package/dist/functions/principles/functionBind.js +33 -0
  81. package/dist/functions/principles/functionBind.js.map +1 -0
  82. package/dist/functions/principles/myInstanceof.d.ts +5 -0
  83. package/dist/functions/principles/myInstanceof.js +56 -0
  84. package/dist/functions/principles/myInstanceof.js.map +1 -0
  85. package/dist/functions/principles/myNew.d.ts +3 -0
  86. package/dist/functions/principles/myNew.js +19 -0
  87. package/dist/functions/principles/myNew.js.map +1 -0
  88. package/dist/functions/utils/createI18n.d.ts +2 -0
  89. package/dist/functions/utils/createI18n.js +97 -0
  90. package/dist/functions/utils/createI18n.js.map +1 -0
  91. package/dist/functions/utils/createReactive.d.ts +10 -0
  92. package/dist/functions/utils/createReactive.js +50 -0
  93. package/dist/functions/utils/createReactive.js.map +1 -0
  94. package/dist/functions/utils/diff.d.ts +25 -0
  95. package/dist/functions/utils/diff.js +316 -0
  96. package/dist/functions/utils/diff.js.map +1 -0
  97. package/dist/functions/utils/formatString.d.ts +5 -0
  98. package/dist/functions/utils/formatString.js +9 -0
  99. package/dist/functions/utils/formatString.js.map +1 -0
  100. package/dist/functions/utils/i18n.d.ts +27 -0
  101. package/dist/functions/utils/i18n.js +119 -0
  102. package/dist/functions/utils/i18n.js.map +1 -0
  103. package/dist/functions/utils/permission.d.ts +40 -0
  104. package/dist/functions/utils/permission.js +189 -0
  105. package/dist/functions/utils/permission.js.map +1 -0
  106. package/dist/functions/utils/pinia.d.ts +52 -0
  107. package/dist/functions/utils/pinia.js +183 -0
  108. package/dist/functions/utils/pinia.js.map +1 -0
  109. package/dist/hooks/usePermission.d.ts +7 -0
  110. package/dist/hooks/usePermission.js +123 -0
  111. package/dist/hooks/usePermission.js.map +1 -0
  112. package/package.json +12 -2
  113. package/references/xlsx.d.ts +51 -0
  114. package/types/reactive.d.ts +67 -0
@@ -0,0 +1,10 @@
1
+ import type { XLSXLibrary } from '../../../references/xlsx.d';
2
+ export type TokenMap = Record<string, string>;
3
+ export type Logger = {
4
+ log: (message: string) => void;
5
+ };
6
+ export interface ParseDesignTokensDeps {
7
+ XLSX: XLSXLibrary;
8
+ mixColors: (baseColor: string, overlayColor: string, overlayOpacity: number) => string;
9
+ }
10
+ export declare function parseDesignTokens(filePath: string, deps: ParseDesignTokensDeps, logger?: Logger): TokenMap;
@@ -0,0 +1,216 @@
1
+ function convertToRgba(colorWithOpacity) {
2
+ const match = colorWithOpacity.match(/^(#[0-9A-Fa-f]{6})\s+(\d+)%$/);
3
+ if (!match) {
4
+ return colorWithOpacity;
5
+ }
6
+ const [, hexColor, opacityPercent] = match;
7
+ const r = parseInt(hexColor.slice(1, 3), 16);
8
+ const g = parseInt(hexColor.slice(3, 5), 16);
9
+ const b = parseInt(hexColor.slice(5, 7), 16);
10
+ return `rgba(${r}, ${g}, ${b}, ${opacityPercent}%)`;
11
+ }
12
+ export function parseDesignTokens(filePath, deps, logger) {
13
+ logger?.log(`🔍 开始解析设计令牌文件: ${filePath}`);
14
+ const wb = deps.XLSX.readFile(filePath);
15
+ logger?.log('📖 Excel文件读取成功');
16
+ const sheetNames = wb.SheetNames;
17
+ logger?.log(`📊 发现工作表: ${sheetNames.join(', ')}`);
18
+ const result = {};
19
+ sheetNames.forEach((sheetName) => {
20
+ logger?.log(`\n📋 正在解析工作表: ${sheetName}`);
21
+ const sheet = wb.Sheets[sheetName];
22
+ if (!sheet) {
23
+ logger?.log(`⚠️ 无法读取工作表: ${sheetName}`);
24
+ return;
25
+ }
26
+ const rows = deps.XLSX.utils.sheet_to_json(sheet, { header: 1 });
27
+ logger?.log(`📊 工作表 ${sheetName} 共有 ${rows.length} 行数据`);
28
+ const canonicalName = normalizeSheetName(sheetName);
29
+ switch (canonicalName) {
30
+ case '基础颜色':
31
+ parseBaseColors(rows, result, deps, logger);
32
+ break;
33
+ case '组合颜色':
34
+ parseComboColors(rows, result, deps, logger);
35
+ break;
36
+ case '圆角':
37
+ parseSimpleTokens(rows, result, 'radius', logger);
38
+ break;
39
+ case '字体':
40
+ parseSimpleTokens(rows, result, 'font-family', logger);
41
+ break;
42
+ case '字号':
43
+ parseSimpleTokens(rows, result, 'font-size', logger);
44
+ break;
45
+ case '行高':
46
+ parseSimpleTokens(rows, result, 'line-height', logger);
47
+ break;
48
+ case '文字':
49
+ parseTextTokens(rows, result, logger);
50
+ break;
51
+ case '阴影':
52
+ parseSimpleTokens(rows, result, 'shadow', logger);
53
+ break;
54
+ case '间距':
55
+ parseSimpleTokens(rows, result, 'spacer', logger);
56
+ break;
57
+ default:
58
+ logger?.log(`⚠️ 未知的工作表类型: ${sheetName},跳过解析`);
59
+ }
60
+ });
61
+ logger?.log(`\n🎉 设计令牌解析完成,总计 ${Object.keys(result).length} 个令牌`);
62
+ return result;
63
+ }
64
+ function normalizeSheetName(name) {
65
+ const raw = String(name || '').trim();
66
+ const stripped = raw.replace(/\s*(?:-|_|\s)?\s*(pc|m|mobile|h5|app|android|ios)$/i, '');
67
+ const s = stripped.trim();
68
+ if (s.includes('基础颜色'))
69
+ return '基础颜色';
70
+ if (s.includes('组合颜色'))
71
+ return '组合颜色';
72
+ if (s.includes('圆角'))
73
+ return '圆角';
74
+ if (s.includes('字体'))
75
+ return '字体';
76
+ if (s.includes('字号') || s.includes('字体大小'))
77
+ return '字号';
78
+ if (s.includes('行高'))
79
+ return '行高';
80
+ if (s.includes('文字') || s.includes('字重'))
81
+ return '文字';
82
+ if (s.includes('阴影'))
83
+ return '阴影';
84
+ if (s.includes('间距') || s.includes('间隔') || s.includes('padding') || s.includes('margin'))
85
+ return '间距';
86
+ return s || null;
87
+ }
88
+ function resolvePointer(pointer, base, logger) {
89
+ let val = pointer;
90
+ const visited = new Set();
91
+ const resolutionPath = [pointer];
92
+ while (base[val] && !visited.has(val)) {
93
+ visited.add(val);
94
+ val = base[val];
95
+ resolutionPath.push(val);
96
+ }
97
+ if (resolutionPath.length > 1) {
98
+ logger?.log(` 🔍 指针解析路径: ${resolutionPath.join(' -> ')}`);
99
+ }
100
+ return val;
101
+ }
102
+ function calculateMixedColor(mixExpression, base, deps, logger) {
103
+ logger?.log(` 🎨 计算混合颜色: ${mixExpression}`);
104
+ const parts = mixExpression.split('+');
105
+ if (parts.length !== 2) {
106
+ logger?.log(` ⚠️ 混合颜色格式错误: ${mixExpression}`);
107
+ return mixExpression;
108
+ }
109
+ const baseColorPart = parts[0].trim();
110
+ const overlayPart = parts[1].trim();
111
+ let baseColor;
112
+ const baseColorMatch = baseColorPart.match(/(#[0-9A-Fa-f]{6})\s+(\d+)%/);
113
+ if (baseColorMatch) {
114
+ baseColor = baseColorMatch[1];
115
+ }
116
+ else {
117
+ baseColor = resolvePointer(baseColorPart, base, logger);
118
+ }
119
+ const overlayMatch = overlayPart.match(/(#[0-9A-Fa-f]{6})\s+(\d+)%/);
120
+ if (!overlayMatch) {
121
+ logger?.log(` ⚠️ 叠加颜色格式错误: ${overlayPart}`);
122
+ return mixExpression;
123
+ }
124
+ const overlayColor = overlayMatch[1];
125
+ const overlayOpacity = parseInt(overlayMatch[2]) / 100;
126
+ try {
127
+ const result = deps.mixColors(baseColor, overlayColor, overlayOpacity);
128
+ logger?.log(` ✅ 混合结果: ${result}`);
129
+ return result;
130
+ }
131
+ catch (error) {
132
+ logger?.log(` ❌ 颜色混合失败: ${error}`);
133
+ return mixExpression;
134
+ }
135
+ }
136
+ function parseBaseColors(rows, result, deps, logger) {
137
+ logger?.log('🎨 解析基础颜色...');
138
+ rows.forEach((r) => {
139
+ const [key, value] = [String(r[0]).trim(), String(r[1]).trim()];
140
+ if (key && value && key !== 'undefined' && value !== 'undefined' &&
141
+ !key.includes('token') && !key.includes('Token') && !value.includes('色值')) {
142
+ if (value.includes('+')) {
143
+ const resolved = calculateMixedColor(value, result, deps, logger);
144
+ result[key] = resolved;
145
+ logger?.log(`🎨 解析基础混合颜色: ${key} -> ${resolved}`);
146
+ }
147
+ else {
148
+ const transparencyMatch = value.match(/^(#[0-9A-Fa-f]{6})\s+(\d+)%$/);
149
+ if (transparencyMatch) {
150
+ const rgba = convertToRgba(value);
151
+ result[key] = rgba;
152
+ logger?.log(`🎨 转换为RGBA: ${key} -> ${rgba}`);
153
+ }
154
+ else {
155
+ result[key] = value;
156
+ logger?.log(`📝 存储基础颜色: ${key} = ${value}`);
157
+ }
158
+ }
159
+ }
160
+ });
161
+ }
162
+ function parseComboColors(rows, result, deps, logger) {
163
+ logger?.log('🔗 解析组合颜色...');
164
+ rows.forEach((r) => {
165
+ const [token, , pointer] = [String(r[0]).trim(), r[1], String(r[2]).trim()];
166
+ if (!token || !pointer || token === 'undefined' || pointer === 'undefined' ||
167
+ token.includes('Token') || token.includes('token') || pointer.includes('var'))
168
+ return;
169
+ if (pointer.includes('+')) {
170
+ const resolved = calculateMixedColor(pointer, result, deps, logger);
171
+ result[token] = resolved;
172
+ logger?.log(`🔄 解析组合混合颜色: ${token} -> ${resolved}`);
173
+ }
174
+ else {
175
+ result[token] = `var(--${pointer})`;
176
+ logger?.log(`🔄 解析组合颜色: ${token} -> var(--${pointer})`);
177
+ }
178
+ });
179
+ }
180
+ function parseSimpleTokens(rows, result, tokenType, logger) {
181
+ logger?.log(`📐 解析${tokenType}令牌...`);
182
+ rows.forEach((r) => {
183
+ const [key, value] = [String(r[0]).trim(), String(r[1]).trim()];
184
+ if (key && value && key !== 'undefined' && value !== 'undefined' &&
185
+ !key.includes('token') && !key.includes('Token') && !value.includes('值')) {
186
+ result[key] = value;
187
+ logger?.log(`📝 存储${tokenType}: ${key} = ${value}`);
188
+ }
189
+ });
190
+ }
191
+ function parseTextTokens(rows, result, logger) {
192
+ logger?.log('📝 解析文字令牌...');
193
+ rows.forEach((r) => {
194
+ const [token, fontWeight, fontSizeVar, lineHeightVar] = [
195
+ String(r[0]).trim(),
196
+ String(r[1]).trim(),
197
+ String(r[2]).trim(),
198
+ String(r[3]).trim()
199
+ ];
200
+ if (token && token !== 'undefined' && !token.includes('token') && !token.includes('Token')) {
201
+ const textStyle = {};
202
+ if (fontWeight && fontWeight !== 'null' && fontWeight !== 'undefined') {
203
+ textStyle.fontWeight = fontWeight;
204
+ }
205
+ if (fontSizeVar && fontSizeVar !== 'undefined') {
206
+ textStyle.fontSize = `var(--${fontSizeVar})`;
207
+ }
208
+ if (lineHeightVar && lineHeightVar !== 'undefined') {
209
+ textStyle.lineHeight = `var(--${lineHeightVar})`;
210
+ }
211
+ result[token] = JSON.stringify(textStyle);
212
+ logger?.log(`📝 存储文字样式: ${token} = ${JSON.stringify(textStyle)}`);
213
+ }
214
+ });
215
+ }
216
+ //# sourceMappingURL=parseDesignTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDesignTokens.js","sourceRoot":"","sources":["../../../src/functions/design-tokens/parseDesignTokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function compose<T>(...functions: Array<(arg: T) => T>): (arg: T) => T;
@@ -0,0 +1,10 @@
1
+ export function compose(...functions) {
2
+ if (functions.length === 0)
3
+ return (arg) => arg;
4
+ if (functions.length === 1)
5
+ return functions[0];
6
+ return (arg) => {
7
+ return functions.reduceRight((result, fn) => fn(result), arg);
8
+ };
9
+ }
10
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/functions/functional/compose.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,OAAO,CAAI,GAAG,SAA+B;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,GAAG,CAAA;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAM,EAAE,EAAE;QAChB,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAC/D,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function curry<T extends (...args: any[]) => any>(fn: T, arity?: number): (...args: any[]) => any;
@@ -0,0 +1,13 @@
1
+ export function curry(fn, arity) {
2
+ const targetArity = arity || fn.length;
3
+ if (targetArity <= 1)
4
+ return fn;
5
+ function curried(...args) {
6
+ if (args.length >= targetArity) {
7
+ return fn(...args);
8
+ }
9
+ return (...moreArgs) => curried(...args, ...moreArgs);
10
+ }
11
+ return curried;
12
+ }
13
+ //# sourceMappingURL=curry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curry.js","sourceRoot":"","sources":["../../../src/functions/functional/curry.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,KAAK,CACnB,EAAK,EACL,KAAc;IAEd,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,CAAA;IAEtC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAE/B,SAAS,OAAO,CAAC,GAAG,IAAW;QAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,CAAC,GAAG,QAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function pipe<T>(...functions: Array<(arg: T) => T>): (arg: T) => T;
@@ -0,0 +1,10 @@
1
+ export function pipe(...functions) {
2
+ if (functions.length === 0)
3
+ return (arg) => arg;
4
+ if (functions.length === 1)
5
+ return functions[0];
6
+ return (arg) => {
7
+ return functions.reduce((result, fn) => fn(result), arg);
8
+ };
9
+ }
10
+ //# sourceMappingURL=pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../../src/functions/functional/pipe.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,IAAI,CAAI,GAAG,SAA+B;IACxD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,GAAG,CAAA;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAM,EAAE,EAAE;QAChB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1D,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { setTimeout, clearTimeout } from '../../../references/timer.d';
2
+ export declare function debounce<T extends (...args: any[]) => any>(func: T, delay: number, host: {
3
+ setTimeout: typeof setTimeout;
4
+ clearTimeout: typeof clearTimeout;
5
+ }): (...args: Parameters<T>) => void;
@@ -0,0 +1,12 @@
1
+ export function debounce(func, delay, host) {
2
+ let timeoutId = null;
3
+ return (...args) => {
4
+ if (timeoutId) {
5
+ host.clearTimeout(timeoutId);
6
+ }
7
+ timeoutId = host.setTimeout(() => {
8
+ func(...args);
9
+ }, delay);
10
+ };
11
+ }
12
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/functions/performance/debounce.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,QAAQ,CACtB,IAAO,EACP,KAAa,EACb,IAGC;IAED,IAAI,SAAS,GAAyC,IAAI,CAAA;IAE1D,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QAED,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACf,CAAC,EAAE,KAAK,CAAC,CAAA;IACX,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function memoize<T extends (...args: any[]) => any>(func: T): T;
@@ -0,0 +1,13 @@
1
+ export function memoize(func) {
2
+ const cache = new Map();
3
+ return ((...args) => {
4
+ const key = JSON.stringify(args);
5
+ if (cache.has(key)) {
6
+ return cache.get(key);
7
+ }
8
+ const result = func(...args);
9
+ cache.set(key, result);
10
+ return result;
11
+ });
12
+ }
13
+ //# sourceMappingURL=memoize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/functions/performance/memoize.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,OAAO,CACrB,IAAO;IAEP,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAA;IAE9C,OAAO,CAAC,CAAC,GAAG,IAAmB,EAAiB,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACtB,OAAO,MAAM,CAAA;IACf,CAAC,CAAM,CAAA;AACT,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function throttle<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => void;
@@ -0,0 +1,11 @@
1
+ export function throttle(func, delay) {
2
+ let lastExecTime = 0;
3
+ return (...args) => {
4
+ const now = Date.now();
5
+ if (now - lastExecTime >= delay) {
6
+ func(...args);
7
+ lastExecTime = now;
8
+ }
9
+ };
10
+ }
11
+ //# sourceMappingURL=throttle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/functions/performance/throttle.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,QAAQ,CACtB,IAAO,EACP,KAAa;IAEb,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,IAAI,GAAG,GAAG,YAAY,IAAI,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;YACb,YAAY,GAAG,GAAG,CAAA;QACpB,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { DeployOptions, DeployResult, SecretType } from '../../../../types/tencent-cloud.d';
2
+ import type { TencentCloudSecret, CloudBaseManager } from '../../../../references/tencent-cloud.d';
3
+ import type { FileSystem } from '../../../../references/node.d';
4
+ import type { Console } from '../../../../references/console.d';
5
+ export interface DeployTCBDeps {
6
+ existsSync: FileSystem['existsSync'];
7
+ init: CloudBaseManager['init'];
8
+ log: Console['log'];
9
+ error: Console['error'];
10
+ getSecret: (type: SecretType) => TencentCloudSecret | null;
11
+ }
12
+ export declare function deployToTCB(options: DeployOptions, deps: DeployTCBDeps): Promise<DeployResult>;
13
+ export default deployToTCB;
@@ -0,0 +1,46 @@
1
+ export async function deployToTCB(options, deps) {
2
+ const { localPath, cloudPath = '/', envId, secretType, showProgress = true } = options;
3
+ try {
4
+ if (!deps.existsSync(localPath)) {
5
+ return {
6
+ success: false,
7
+ error: `本地路径不存在: ${localPath}`
8
+ };
9
+ }
10
+ const secret = deps.getSecret(secretType);
11
+ if (!secret || !secret.secretId || !secret.secretKey) {
12
+ return {
13
+ success: false,
14
+ error: `无效的密钥类型: ${secretType}`
15
+ };
16
+ }
17
+ const app = deps.init({
18
+ secretId: secret.secretId,
19
+ secretKey: secret.secretKey,
20
+ envId
21
+ });
22
+ const hosting = app.hosting;
23
+ await hosting.uploadFiles({
24
+ localPath,
25
+ cloudPath,
26
+ onProgress: showProgress ? (progressData) => {
27
+ deps.log(`上传进度: ${progressData.percent}%`);
28
+ } : undefined
29
+ });
30
+ deps.log('文件上传成功');
31
+ return {
32
+ success: true,
33
+ message: '部署成功'
34
+ };
35
+ }
36
+ catch (error) {
37
+ const errorMessage = error instanceof Error ? error.message : String(error);
38
+ deps.error('部署失败:', error);
39
+ return {
40
+ success: false,
41
+ error: `部署失败: ${errorMessage}`
42
+ };
43
+ }
44
+ }
45
+ export default deployToTCB;
46
+ //# sourceMappingURL=deploy.tcb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.tcb.js","sourceRoot":"","sources":["../../../../src/functions/platform/tencent-cloud/deploy.tcb.ts"],"names":[],"mappings":"AAuDA,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAsB,EACtB,IAAmB;IAEnB,MAAM,EACJ,SAAS,EACT,SAAS,GAAG,GAAG,EACf,KAAK,EACL,UAAU,EACV,YAAY,GAAG,IAAI,EACpB,GAAG,OAAO,CAAA;IAEX,IAAI,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY,SAAS,EAAE;aAC/B,CAAA;QACH,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY,UAAU,EAAE;aAChC,CAAA;QACH,CAAC;QAGD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK;SACN,CAAC,CAAA;QAGF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAG3B,MAAM,OAAO,CAAC,WAAW,CAAC;YACxB,SAAS;YACT,SAAS;YACT,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAAgC,EAAE,EAAE;gBAC7D,IAAI,CAAC,GAAG,CAAC,SAAS,YAAY,CAAC,OAAO,GAAG,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAC,CAAC,SAAS;SACf,CAAC,CAAA;QAGF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,MAAM;SAChB,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,SAAS,YAAY,EAAE;SAC/B,CAAA;IACH,CAAC;AACH,CAAC;AAQD,eAAe,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { TencentCloudSecret } from '../../../../references/tencent-cloud.d';
2
+ import type { SecretType } from '../../../../types/tencent-cloud.d';
3
+ export declare function getSecret(type: SecretType): TencentCloudSecret;
4
+ export default getSecret;
@@ -0,0 +1,19 @@
1
+ const secretMap = {
2
+ personal: {
3
+ secretId: 'AKIDKVQ5VjiQu73j9IBnFRN2QYQ2MQEl22mI',
4
+ secretKey: 'IL7cqoWy94lDsGSXP9gxzkGXcSFrDJ8h',
5
+ },
6
+ individual: {
7
+ secretId: 'AKID2A6oIZcT5TcWBetteARULxKSM1ResARl',
8
+ secretKey: 'INFtISN3VmocDZgYBZicIitpWyEG4f2B',
9
+ },
10
+ enterprise: {
11
+ secretId: 'AKIDRhqpgKn46uVvACzd7ORGTbaLtHSSEn8H',
12
+ secretKey: '95tV4Ql02wpY5QaaOzTlrjOr8OQFsHUW',
13
+ },
14
+ };
15
+ export function getSecret(type) {
16
+ return secretMap[type];
17
+ }
18
+ export default getSecret;
19
+ //# sourceMappingURL=getSecret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSecret.js","sourceRoot":"","sources":["../../../../src/functions/platform/tencent-cloud/getSecret.ts"],"names":[],"mappings":"AAIA,MAAM,SAAS,GAA2C;IACxD,QAAQ,EAAE;QAER,QAAQ,EAAE,sCAAsC;QAChD,SAAS,EAAE,kCAAkC;KAC9C;IACD,UAAU,EAAE;QAEV,QAAQ,EAAE,sCAAsC;QAChD,SAAS,EAAE,kCAAkC;KAC9C;IACD,UAAU,EAAE;QAEV,QAAQ,EAAE,sCAAsC;QAChD,SAAS,EAAE,kCAAkC;KAC9C;CACF,CAAA;AAoCD,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAKD,eAAe,SAAS,CAAA"}
@@ -0,0 +1,27 @@
1
+ import type { UniAppAndroidBuildOptions, UniAppAndroidBuildResult } from '../../../../../types/uniapp-android-build.d';
2
+ import type { FileSystem, Path, ChildProcess } from '../../../../../references/node.d';
3
+ import type { XMLParserConstructor, XMLSerializerConstructor } from '../../../../../references/xml.d';
4
+ import type { JSON5Parser } from '../../../../../references/json5.d';
5
+ import type { XPath } from '../../../../../references/xpath.d';
6
+ import type { setTimeout } from '../../../../../references/timer.d';
7
+ export interface BuildAndroidAppDeps {
8
+ existsSync: FileSystem['existsSync'];
9
+ readFileSync: FileSystem['readFileSync'];
10
+ writeFileSync: FileSystem['writeFileSync'];
11
+ copyFileSync: FileSystem['copyFileSync'];
12
+ mkdirSync: FileSystem['mkdirSync'];
13
+ readdirSync: FileSystem['readdirSync'];
14
+ statSync: FileSystem['statSync'];
15
+ cp: FileSystem['promises']['cp'];
16
+ join: Path['join'];
17
+ dirname: Path['dirname'];
18
+ basename: Path['basename'];
19
+ exec: ChildProcess['exec'];
20
+ platform: string;
21
+ parse: JSON5Parser['parse'];
22
+ xmlParser: XMLParserConstructor;
23
+ xmlSerializer: XMLSerializerConstructor;
24
+ xpath: XPath;
25
+ setTimeout: typeof setTimeout;
26
+ }
27
+ export declare function buildAndroidApp(options: UniAppAndroidBuildOptions, deps: BuildAndroidAppDeps): Promise<UniAppAndroidBuildResult>;