sa2kit 1.6.30 → 1.6.32

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 (251) hide show
  1. package/dist/AliyunOSSProvider-4W47OFEK.mjs +6 -0
  2. package/dist/{AliyunOSSProvider-KJYRIZES.mjs.map → AliyunOSSProvider-4W47OFEK.mjs.map} +1 -1
  3. package/dist/AliyunOSSProvider-HCNGDJL7.js +15 -0
  4. package/dist/{AliyunOSSProvider-FWAKUB2T.js.map → AliyunOSSProvider-HCNGDJL7.js.map} +1 -1
  5. package/dist/ConfigService-3DIC6C3Q.js +21 -0
  6. package/dist/{ConfigService-7MEZXKJ5.js.map → ConfigService-3DIC6C3Q.js.map} +1 -1
  7. package/dist/ConfigService-V6ZK273Z.mjs +4 -0
  8. package/dist/{ConfigService-BV57YYFW.mjs.map → ConfigService-V6ZK273Z.mjs.map} +1 -1
  9. package/dist/LocalStorageProvider-3RVPCQB3.mjs +6 -0
  10. package/dist/{LocalStorageProvider-RTPMUOZ2.mjs.map → LocalStorageProvider-3RVPCQB3.mjs.map} +1 -1
  11. package/dist/LocalStorageProvider-PP7MA5OT.js +15 -0
  12. package/dist/{LocalStorageProvider-XSRCUXOU.js.map → LocalStorageProvider-PP7MA5OT.js.map} +1 -1
  13. package/dist/PMXParser-2VTA737I.js +13 -0
  14. package/dist/{PMXParser-YBS3B6HM.js.map → PMXParser-2VTA737I.js.map} +1 -1
  15. package/dist/PMXParser-RNVQL76A.mjs +4 -0
  16. package/dist/{PMXParser-L6IWHL4I.mjs.map → PMXParser-RNVQL76A.mjs.map} +1 -1
  17. package/dist/analytics/index.js +46 -45
  18. package/dist/analytics/index.js.map +1 -1
  19. package/dist/analytics/index.mjs +45 -44
  20. package/dist/analytics/index.mjs.map +1 -1
  21. package/dist/analytics/server/index.js +4 -4
  22. package/dist/analytics/server/index.js.map +1 -1
  23. package/dist/analytics/server/index.mjs +4 -4
  24. package/dist/analytics/server/index.mjs.map +1 -1
  25. package/dist/api/index.js +5 -5
  26. package/dist/api/index.js.map +1 -1
  27. package/dist/api/index.mjs +5 -5
  28. package/dist/api/index.mjs.map +1 -1
  29. package/dist/audioDetection/index.js +17 -16
  30. package/dist/audioDetection/index.js.map +1 -1
  31. package/dist/audioDetection/index.mjs +17 -16
  32. package/dist/audioDetection/index.mjs.map +1 -1
  33. package/dist/auth/client/index.js +4 -4
  34. package/dist/auth/client/index.mjs +1 -1
  35. package/dist/auth/components/index.js +3 -3
  36. package/dist/auth/components/index.js.map +1 -1
  37. package/dist/auth/components/index.mjs +3 -3
  38. package/dist/auth/components/index.mjs.map +1 -1
  39. package/dist/auth/index.js +29 -29
  40. package/dist/auth/index.mjs +5 -5
  41. package/dist/auth/middleware/index.js +3 -3
  42. package/dist/auth/middleware/index.mjs +2 -2
  43. package/dist/auth/routes/index.js +14 -14
  44. package/dist/auth/routes/index.mjs +2 -2
  45. package/dist/auth/services/index.js +7 -7
  46. package/dist/auth/services/index.mjs +1 -1
  47. package/dist/calendar/index.js +146 -182
  48. package/dist/calendar/index.js.map +1 -1
  49. package/dist/calendar/index.mjs +139 -175
  50. package/dist/calendar/index.mjs.map +1 -1
  51. package/dist/calendar/routes/index.js +1 -1
  52. package/dist/calendar/routes/index.js.map +1 -1
  53. package/dist/calendar/routes/index.mjs +1 -1
  54. package/dist/calendar/routes/index.mjs.map +1 -1
  55. package/dist/{chunk-5YQ5B7IZ.js → chunk-24HGREE6.js} +5 -5
  56. package/dist/{chunk-5YQ5B7IZ.js.map → chunk-24HGREE6.js.map} +1 -1
  57. package/dist/{chunk-6PRFP5EG.js → chunk-25OFOKNF.js} +6 -6
  58. package/dist/chunk-25OFOKNF.js.map +1 -0
  59. package/dist/{chunk-KQGP6BTS.mjs → chunk-3DXPQ4YV.mjs} +6 -6
  60. package/dist/chunk-3DXPQ4YV.mjs.map +1 -0
  61. package/dist/{chunk-3BGPZN4X.mjs → chunk-3NHAT7D4.mjs} +12 -12
  62. package/dist/chunk-3NHAT7D4.mjs.map +1 -0
  63. package/dist/{chunk-MW4BCIZC.mjs → chunk-4HC6M7FK.mjs} +3 -3
  64. package/dist/chunk-4HC6M7FK.mjs.map +1 -0
  65. package/dist/{chunk-ESRCX5TQ.mjs → chunk-52TN2QSS.mjs} +3 -3
  66. package/dist/{chunk-ESRCX5TQ.mjs.map → chunk-52TN2QSS.mjs.map} +1 -1
  67. package/dist/{chunk-CNTILN5J.mjs → chunk-5YQ62BKX.mjs} +20 -19
  68. package/dist/chunk-5YQ62BKX.mjs.map +1 -0
  69. package/dist/{chunk-6W5BMXJG.js → chunk-6OWNMJKG.js} +4 -4
  70. package/dist/{chunk-6W5BMXJG.js.map → chunk-6OWNMJKG.js.map} +1 -1
  71. package/dist/{chunk-DUHZ7VZP.js → chunk-7VRT55ZD.js} +3 -3
  72. package/dist/chunk-7VRT55ZD.js.map +1 -0
  73. package/dist/{chunk-3WOAPLEG.mjs → chunk-EB4NR623.mjs} +27 -26
  74. package/dist/chunk-EB4NR623.mjs.map +1 -0
  75. package/dist/chunk-EI27JKND.mjs +1988 -0
  76. package/dist/chunk-EI27JKND.mjs.map +1 -0
  77. package/dist/{chunk-CD77U7LZ.js → chunk-GBPLX42J.js} +9 -9
  78. package/dist/chunk-GBPLX42J.js.map +1 -0
  79. package/dist/{chunk-TFQF2HDO.mjs → chunk-HDEOCX2L.mjs} +12 -12
  80. package/dist/chunk-HDEOCX2L.mjs.map +1 -0
  81. package/dist/{chunk-TV3VKRJK.mjs → chunk-HDMIOOZY.mjs} +38 -68
  82. package/dist/chunk-HDMIOOZY.mjs.map +1 -0
  83. package/dist/{chunk-OPPF3326.js → chunk-HJ6MH7J7.js} +39 -69
  84. package/dist/chunk-HJ6MH7J7.js.map +1 -0
  85. package/dist/chunk-KO73EBUT.js +80 -0
  86. package/dist/chunk-KO73EBUT.js.map +1 -0
  87. package/dist/{chunk-6YKMCPQI.mjs → chunk-KZKIH4AS.mjs} +4 -4
  88. package/dist/chunk-KZKIH4AS.mjs.map +1 -0
  89. package/dist/{chunk-LX4XX6W7.js → chunk-L47ZOYHL.js} +15 -89
  90. package/dist/chunk-L47ZOYHL.js.map +1 -0
  91. package/dist/{chunk-6MQUBPKB.mjs → chunk-LJ4CCSSY.mjs} +3 -3
  92. package/dist/{chunk-6MQUBPKB.mjs.map → chunk-LJ4CCSSY.mjs.map} +1 -1
  93. package/dist/{chunk-TOC5FSHP.js → chunk-NJ2SNXBJ.js} +12 -12
  94. package/dist/chunk-NJ2SNXBJ.js.map +1 -0
  95. package/dist/{chunk-OCR5DS4C.mjs → chunk-PE5EAHZK.mjs} +3 -3
  96. package/dist/chunk-PE5EAHZK.mjs.map +1 -0
  97. package/dist/{chunk-LZHMNOED.js → chunk-Q5EDCKQA.js} +26 -26
  98. package/dist/chunk-Q5EDCKQA.js.map +1 -0
  99. package/dist/{chunk-CLKKZSPZ.js → chunk-RBKGYWME.js} +20 -19
  100. package/dist/chunk-RBKGYWME.js.map +1 -0
  101. package/dist/{chunk-VRTRSEEH.mjs → chunk-RSJSZ7QH.mjs} +11 -11
  102. package/dist/chunk-RSJSZ7QH.mjs.map +1 -0
  103. package/dist/{chunk-E7RGBAYJ.js → chunk-TDCDEBGP.js} +30 -29
  104. package/dist/chunk-TDCDEBGP.js.map +1 -0
  105. package/dist/{chunk-JZXJQMVE.js → chunk-UIFFDRTE.js} +11 -11
  106. package/dist/chunk-UIFFDRTE.js.map +1 -0
  107. package/dist/{chunk-T5OZHYVM.mjs → chunk-UKT3PLON.mjs} +13 -85
  108. package/dist/chunk-UKT3PLON.mjs.map +1 -0
  109. package/dist/{chunk-UOFTHYIH.js → chunk-UL6XJGUZ.js} +4 -4
  110. package/dist/chunk-UL6XJGUZ.js.map +1 -0
  111. package/dist/chunk-VVWQTO4Y.mjs +77 -0
  112. package/dist/chunk-VVWQTO4Y.mjs.map +1 -0
  113. package/dist/{chunk-A3UP56MS.js → chunk-WA67GZSZ.js} +3 -3
  114. package/dist/chunk-WA67GZSZ.js.map +1 -0
  115. package/dist/{chunk-OLHGZXN3.mjs → chunk-WEEXCPSE.mjs} +5 -5
  116. package/dist/chunk-WEEXCPSE.mjs.map +1 -0
  117. package/dist/chunk-XGBE4SUV.js +2093 -0
  118. package/dist/chunk-XGBE4SUV.js.map +1 -0
  119. package/dist/{chunk-QU5OT4DF.js → chunk-XJ7ZAGC5.js} +5 -5
  120. package/dist/chunk-XJ7ZAGC5.js.map +1 -0
  121. package/dist/{chunk-ZI25QCHD.mjs → chunk-YOTQG4NP.mjs} +25 -25
  122. package/dist/chunk-YOTQG4NP.mjs.map +1 -0
  123. package/dist/{chunk-QAT2RWAO.mjs → chunk-Z36R3P62.mjs} +7 -7
  124. package/dist/chunk-Z36R3P62.mjs.map +1 -0
  125. package/dist/{chunk-7Z5LLJ3A.js → chunk-ZWQJSZEY.js} +13 -13
  126. package/dist/chunk-ZWQJSZEY.js.map +1 -0
  127. package/dist/config/index.js +6 -6
  128. package/dist/config/index.js.map +1 -1
  129. package/dist/config/index.mjs +6 -6
  130. package/dist/config/index.mjs.map +1 -1
  131. package/dist/config/server/index.js +37 -37
  132. package/dist/config/server/index.js.map +1 -1
  133. package/dist/config/server/index.mjs +37 -37
  134. package/dist/config/server/index.mjs.map +1 -1
  135. package/dist/i18n/index.d.mts +2 -2
  136. package/dist/i18n/index.d.ts +2 -2
  137. package/dist/i18n/index.js +16 -17
  138. package/dist/i18n/index.js.map +1 -1
  139. package/dist/i18n/index.mjs +16 -17
  140. package/dist/i18n/index.mjs.map +1 -1
  141. package/dist/imageCrop/index.js +11 -10
  142. package/dist/imageCrop/index.js.map +1 -1
  143. package/dist/imageCrop/index.mjs +11 -10
  144. package/dist/imageCrop/index.mjs.map +1 -1
  145. package/dist/index.d.mts +185 -100
  146. package/dist/index.d.ts +185 -100
  147. package/dist/index.js +225 -249
  148. package/dist/index.js.map +1 -1
  149. package/dist/index.mjs +80 -104
  150. package/dist/index.mjs.map +1 -1
  151. package/dist/logger/index.js +6 -6
  152. package/dist/logger/index.mjs +1 -1
  153. package/dist/mikuFusionGame/index.d.mts +112 -0
  154. package/dist/mikuFusionGame/index.d.ts +112 -0
  155. package/dist/mikuFusionGame/index.js +680 -0
  156. package/dist/mikuFusionGame/index.js.map +1 -0
  157. package/dist/mikuFusionGame/index.mjs +667 -0
  158. package/dist/mikuFusionGame/index.mjs.map +1 -0
  159. package/dist/mmd/admin/index.js +11 -10
  160. package/dist/mmd/admin/index.js.map +1 -1
  161. package/dist/mmd/admin/index.mjs +11 -10
  162. package/dist/mmd/admin/index.mjs.map +1 -1
  163. package/dist/mmd/index.js +223 -241
  164. package/dist/mmd/index.js.map +1 -1
  165. package/dist/mmd/index.mjs +220 -238
  166. package/dist/mmd/index.mjs.map +1 -1
  167. package/dist/mmd/server/index.js +6 -6
  168. package/dist/mmd/server/index.js.map +1 -1
  169. package/dist/mmd/server/index.mjs +6 -6
  170. package/dist/mmd/server/index.mjs.map +1 -1
  171. package/dist/music/index.js +16 -16
  172. package/dist/music/index.mjs +2 -2
  173. package/dist/music/server/index.js +8 -8
  174. package/dist/music/server/index.mjs +1 -1
  175. package/dist/request/index.js +2 -2
  176. package/dist/request/index.js.map +1 -1
  177. package/dist/request/index.mjs +2 -2
  178. package/dist/request/index.mjs.map +1 -1
  179. package/dist/storage/index.js +15 -14
  180. package/dist/storage/index.mjs +3 -2
  181. package/dist/testYourself/admin/index.js +3 -3
  182. package/dist/testYourself/admin/index.mjs +1 -1
  183. package/dist/testYourself/index.js +22 -22
  184. package/dist/testYourself/index.js.map +1 -1
  185. package/dist/testYourself/index.mjs +14 -14
  186. package/dist/testYourself/index.mjs.map +1 -1
  187. package/dist/testYourself/server/index.js +4 -4
  188. package/dist/testYourself/server/index.mjs +1 -1
  189. package/dist/universalExport/index.d.mts +3 -3
  190. package/dist/universalExport/index.d.ts +3 -3
  191. package/dist/universalExport/index.js +48 -47
  192. package/dist/universalExport/index.js.map +1 -1
  193. package/dist/universalExport/index.mjs +48 -47
  194. package/dist/universalExport/index.mjs.map +1 -1
  195. package/dist/universalExport/server/index.js +29 -29
  196. package/dist/universalExport/server/index.js.map +1 -1
  197. package/dist/universalExport/server/index.mjs +28 -28
  198. package/dist/universalExport/server/index.mjs.map +1 -1
  199. package/dist/universalFile/index.d.mts +3 -3
  200. package/dist/universalFile/index.d.ts +3 -3
  201. package/dist/universalFile/index.js +73 -72
  202. package/dist/universalFile/index.js.map +1 -1
  203. package/dist/universalFile/index.mjs +73 -72
  204. package/dist/universalFile/index.mjs.map +1 -1
  205. package/dist/universalFile/server/index.js +258 -260
  206. package/dist/universalFile/server/index.js.map +1 -1
  207. package/dist/universalFile/server/index.mjs +244 -246
  208. package/dist/universalFile/server/index.mjs.map +1 -1
  209. package/dist/utils/index.js +11 -11
  210. package/dist/utils/index.mjs +2 -2
  211. package/package.json +25 -31
  212. package/dist/AliyunOSSProvider-FWAKUB2T.js +0 -15
  213. package/dist/AliyunOSSProvider-KJYRIZES.mjs +0 -6
  214. package/dist/ConfigService-7MEZXKJ5.js +0 -21
  215. package/dist/ConfigService-BV57YYFW.mjs +0 -4
  216. package/dist/LocalStorageProvider-RTPMUOZ2.mjs +0 -6
  217. package/dist/LocalStorageProvider-XSRCUXOU.js +0 -15
  218. package/dist/PMXParser-L6IWHL4I.mjs +0 -4
  219. package/dist/PMXParser-YBS3B6HM.js +0 -13
  220. package/dist/chunk-3BGPZN4X.mjs.map +0 -1
  221. package/dist/chunk-3WOAPLEG.mjs.map +0 -1
  222. package/dist/chunk-6PRFP5EG.js.map +0 -1
  223. package/dist/chunk-6YKMCPQI.mjs.map +0 -1
  224. package/dist/chunk-7Z5LLJ3A.js.map +0 -1
  225. package/dist/chunk-A3UP56MS.js.map +0 -1
  226. package/dist/chunk-CD77U7LZ.js.map +0 -1
  227. package/dist/chunk-CLKKZSPZ.js.map +0 -1
  228. package/dist/chunk-CNTILN5J.mjs.map +0 -1
  229. package/dist/chunk-DUHZ7VZP.js.map +0 -1
  230. package/dist/chunk-DW2ZTOCV.js +0 -1727
  231. package/dist/chunk-DW2ZTOCV.js.map +0 -1
  232. package/dist/chunk-E7RGBAYJ.js.map +0 -1
  233. package/dist/chunk-JZXJQMVE.js.map +0 -1
  234. package/dist/chunk-KQGP6BTS.mjs.map +0 -1
  235. package/dist/chunk-LFG6FPM5.mjs +0 -1597
  236. package/dist/chunk-LFG6FPM5.mjs.map +0 -1
  237. package/dist/chunk-LX4XX6W7.js.map +0 -1
  238. package/dist/chunk-LZHMNOED.js.map +0 -1
  239. package/dist/chunk-MW4BCIZC.mjs.map +0 -1
  240. package/dist/chunk-OCR5DS4C.mjs.map +0 -1
  241. package/dist/chunk-OLHGZXN3.mjs.map +0 -1
  242. package/dist/chunk-OPPF3326.js.map +0 -1
  243. package/dist/chunk-QAT2RWAO.mjs.map +0 -1
  244. package/dist/chunk-QU5OT4DF.js.map +0 -1
  245. package/dist/chunk-T5OZHYVM.mjs.map +0 -1
  246. package/dist/chunk-TFQF2HDO.mjs.map +0 -1
  247. package/dist/chunk-TOC5FSHP.js.map +0 -1
  248. package/dist/chunk-TV3VKRJK.mjs.map +0 -1
  249. package/dist/chunk-UOFTHYIH.js.map +0 -1
  250. package/dist/chunk-VRTRSEEH.mjs.map +0 -1
  251. package/dist/chunk-ZI25QCHD.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { ExportConfigError, ExportDataError, ExportFileError } from '../../chunk-LFB5EIIM.mjs';
2
- import { createLogger } from '../../chunk-KQGP6BTS.mjs';
2
+ import { createLogger } from '../../chunk-3DXPQ4YV.mjs';
3
3
  import '../../chunk-BJTO5JO5.mjs';
4
4
  import * as XLSX from 'xlsx';
5
5
  import { pgTable, timestamp, text, integer, boolean, jsonb } from 'drizzle-orm/pg-core';
@@ -45,12 +45,12 @@ var DEFAULT_FORMATTERS = {
45
45
  // 货币格式化
46
46
  currency: (value) => {
47
47
  if (value === null || value === void 0) return "";
48
- return `\xA5${Number(value).toFixed(2)}`;
48
+ return "\xA5" + Number(value).toFixed(2);
49
49
  },
50
50
  // 百分比格式化
51
51
  percentage: (value) => {
52
52
  if (value === null || value === void 0) return "";
53
- return `${(Number(value) * 100).toFixed(2)}%`;
53
+ return (Number(value) * 100).toFixed(2) + "%";
54
54
  },
55
55
  // 布尔值格式化
56
56
  boolean: (value) => {
@@ -106,7 +106,7 @@ var UniversalExportService = class {
106
106
  return newConfig;
107
107
  } catch (error) {
108
108
  throw new ExportConfigError(
109
- `\u521B\u5EFA\u5BFC\u51FA\u914D\u7F6E\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`,
109
+ "\u521B\u5EFA\u5BFC\u51FA\u914D\u7F6E\u5931\u8D25: " + (error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"),
110
110
  { originalError: error }
111
111
  );
112
112
  }
@@ -127,7 +127,7 @@ var UniversalExportService = class {
127
127
  async updateConfig(configId, updates) {
128
128
  const existing = await this.getConfig(configId);
129
129
  if (!existing) {
130
- throw new ExportConfigError(`\u914D\u7F6E\u4E0D\u5B58\u5728: ${configId}`);
130
+ throw new ExportConfigError("\u914D\u7F6E\u4E0D\u5B58\u5728: " + configId);
131
131
  }
132
132
  const updatedConfig = {
133
133
  ...existing,
@@ -153,7 +153,7 @@ var UniversalExportService = class {
153
153
  async deleteConfig(configId) {
154
154
  const existing = await this.getConfig(configId);
155
155
  if (!existing) {
156
- throw new ExportConfigError(`\u914D\u7F6E\u4E0D\u5B58\u5728: ${configId}`);
156
+ throw new ExportConfigError("\u914D\u7F6E\u4E0D\u5B58\u5728: " + configId);
157
157
  }
158
158
  this.configCache.delete(configId);
159
159
  this.emitEvent({
@@ -203,7 +203,7 @@ var UniversalExportService = class {
203
203
  logger.info("\u{1F50D} [UniversalExportService] \u4ECE\u7F13\u5B58\u83B7\u53D6\u914D\u7F6E:", request.configId);
204
204
  const cachedConfig = await this.getConfig(request.configId);
205
205
  if (!cachedConfig) {
206
- throw new ExportConfigError(`\u5BFC\u51FA\u914D\u7F6E\u4E0D\u5B58\u5728: ${request.configId}`);
206
+ throw new ExportConfigError("\u5BFC\u51FA\u914D\u7F6E\u4E0D\u5B58\u5728: " + request.configId);
207
207
  }
208
208
  config = cachedConfig;
209
209
  logger.info("\u2705 [UniversalExportService] \u6210\u529F\u83B7\u53D6\u7F13\u5B58\u914D\u7F6E:", {
@@ -359,7 +359,7 @@ var UniversalExportService = class {
359
359
  * 生成唯一ID
360
360
  */
361
361
  generateId() {
362
- return `export_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
362
+ return "export_" + Date.now() + "_" + Math.random().toString(36).substr(2, 9);
363
363
  }
364
364
  /**
365
365
  * 验证配置
@@ -408,7 +408,7 @@ var UniversalExportService = class {
408
408
  } catch (error) {
409
409
  console.error("\u274C [UniversalExportService] \u83B7\u53D6\u6570\u636E\u5931\u8D25:", error);
410
410
  throw new ExportDataError(
411
- `\u83B7\u53D6\u6570\u636E\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`,
411
+ "\u83B7\u53D6\u6570\u636E\u5931\u8D25: " + (error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"),
412
412
  { originalError: error }
413
413
  );
414
414
  }
@@ -551,7 +551,7 @@ var UniversalExportService = class {
551
551
  const filteredFields = fields.filter((field) => {
552
552
  const forceKeepFields = ["pickupMethod", "notes", "adminNotes"];
553
553
  if (forceKeepFields.includes(field.key)) {
554
- logger.info(`\u{1F527} [UniversalExportService] \u5F3A\u5236\u4FDD\u7559\u5B57\u6BB5 "${field.key}" (${field.label})`);
554
+ logger.info('\u{1F527} [UniversalExportService] \u5F3A\u5236\u4FDD\u7559\u5B57\u6BB5 "' + field.key + '" (' + field.label + ")");
555
555
  return true;
556
556
  }
557
557
  const hasValue = data.some((item) => {
@@ -560,7 +560,7 @@ var UniversalExportService = class {
560
560
  });
561
561
  if (!hasValue) {
562
562
  logger.info(
563
- `\u{1F50D} [UniversalExportService] \u5B57\u6BB5 "${field.key}" (${field.label}) \u88AB\u8FC7\u6EE4\u6389 - \u6240\u6709\u884C\u90FD\u4E3A\u7A7A\u503C`
563
+ '\u{1F50D} [UniversalExportService] \u5B57\u6BB5 "' + field.key + '" (' + field.label + ") \u88AB\u8FC7\u6EE4\u6389 - \u6240\u6709\u884C\u90FD\u4E3A\u7A7A\u503C"
564
564
  );
565
565
  }
566
566
  return hasValue;
@@ -645,11 +645,11 @@ var UniversalExportService = class {
645
645
  break;
646
646
  default:
647
647
  console.error("\u274C [UniversalExportService] \u4E0D\u652F\u6301\u7684\u683C\u5F0F:", config.format);
648
- throw new ExportFileError(`\u4E0D\u652F\u6301\u7684\u5BFC\u51FA\u683C\u5F0F: ${config.format}`);
648
+ throw new ExportFileError("\u4E0D\u652F\u6301\u7684\u5BFC\u51FA\u683C\u5F0F: " + config.format);
649
649
  }
650
650
  const blob = new Blob([content], { type: this.getMimeType(config.format) });
651
651
  if (blob.size > this.config.maxFileSize) {
652
- throw new ExportFileError(`\u6587\u4EF6\u5927\u5C0F\u8D85\u8FC7\u9650\u5236: ${blob.size} > ${this.config.maxFileSize}`);
652
+ throw new ExportFileError("\u6587\u4EF6\u5927\u5C0F\u8D85\u8FC7\u9650\u5236: " + blob.size + " > " + this.config.maxFileSize);
653
653
  }
654
654
  const endTime = /* @__PURE__ */ new Date();
655
655
  const duration = endTime.getTime() - startTime.getTime();
@@ -671,7 +671,7 @@ var UniversalExportService = class {
671
671
  };
672
672
  } catch (error) {
673
673
  throw new ExportFileError(
674
- `\u751F\u6210\u6587\u4EF6\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`,
674
+ "\u751F\u6210\u6587\u4EF6\u5931\u8D25: " + (error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"),
675
675
  { originalError: error }
676
676
  );
677
677
  }
@@ -759,7 +759,7 @@ var UniversalExportService = class {
759
759
  */
760
760
  escapeCSVField(value) {
761
761
  if (value.includes(",") || value.includes('"') || value.includes("\n")) {
762
- return `"${value.replace(/"/g, '""')}"`;
762
+ return '"' + value.replace(/"/g, '""') + '"';
763
763
  }
764
764
  return value;
765
765
  }
@@ -770,7 +770,7 @@ var UniversalExportService = class {
770
770
  const now = /* @__PURE__ */ new Date();
771
771
  const dateStr = now.toISOString().split("T")[0];
772
772
  const timeStr = now.toTimeString().split(" ")[0].replace(/:/g, "-");
773
- return template.replace("{date}", dateStr).replace("{time}", timeStr).replace("{timestamp}", now.getTime().toString()) + `.${extension}`;
773
+ return template.replace("{date}", dateStr).replace("{time}", timeStr).replace("{timestamp}", now.getTime().toString()) + "." + extension;
774
774
  }
775
775
  /**
776
776
  * 获取MIME类型
@@ -900,7 +900,7 @@ var UniversalExportService = class {
900
900
  const header = { __isGroupHeader: true };
901
901
  groupingFields.forEach((field, index) => {
902
902
  const value = groupValues[index] === "__NULL__" ? "" : groupValues[index];
903
- const template = field.groupHeaderTemplate || `${field.label}: {value}`;
903
+ const template = field.groupHeaderTemplate || field.label + ": {value}";
904
904
  header[field.key] = template.replace("{value}", value);
905
905
  });
906
906
  return header;
@@ -934,8 +934,8 @@ var UniversalExportService = class {
934
934
  firstItem.__groupSize = groupItems.length;
935
935
  firstItem.__isGroupFirst = true;
936
936
  groupFields.forEach((field) => {
937
- firstItem[`__${field.key}_groupSize`] = groupItems.length;
938
- firstItem[`__${field.key}_isGroupFirst`] = true;
937
+ firstItem["__" + field.key + "_groupSize"] = groupItems.length;
938
+ firstItem["__" + field.key + "_isGroupFirst"] = true;
939
939
  });
940
940
  result.push(firstItem);
941
941
  logger.info("\u{1F517} [UniversalExportService] \u5904\u7406\u591A\u5B57\u6BB5\u5408\u5E76\u6A21\u5F0F:", {
@@ -1078,7 +1078,7 @@ var UniversalExportService = class {
1078
1078
  if (groupField.mergeCells) {
1079
1079
  const fieldIndex = fields.findIndex((f) => f.key === groupField.key);
1080
1080
  if (fieldIndex >= 0) {
1081
- const groupSize = item[`__${groupField.key}_groupSize`] || item.__groupSize;
1081
+ const groupSize = item["__" + groupField.key + "_groupSize"] || item.__groupSize;
1082
1082
  const mergeRange = {
1083
1083
  s: { r: currentRow, c: fieldIndex },
1084
1084
  // 开始行列
@@ -1316,7 +1316,7 @@ function validateExportConfig(config) {
1316
1316
  }
1317
1317
  if (config.maxRows && config.maxRows > 1e6) {
1318
1318
  console.warn(
1319
- `\u26A0\uFE0F Warning: maxRows (${config.maxRows}) is very large. Consider using pagination or streaming for better performance.`
1319
+ "\u26A0\uFE0F Warning: maxRows (" + config.maxRows + `) is very large. Consider using pagination or streaming for better performance.`
1320
1320
  );
1321
1321
  }
1322
1322
  }
@@ -1329,7 +1329,7 @@ function validateEnvironment(requiredVars) {
1329
1329
  }
1330
1330
  if (missing.length > 0) {
1331
1331
  throw new ConfigValidationError(
1332
- `Missing required environment variables: ${missing.join(", ")}`,
1332
+ "Missing required environment variables: " + missing.join(", "),
1333
1333
  "environment"
1334
1334
  );
1335
1335
  }
@@ -1403,14 +1403,14 @@ function getNestedValue(obj, path) {
1403
1403
  }
1404
1404
  function escapeCsvValue(value) {
1405
1405
  if (value.includes(",") || value.includes('"') || value.includes("\n")) {
1406
- return `"${value.replace(/"/g, '""')}"`;
1406
+ return '"' + value.replace(/"/g, '""') + '"';
1407
1407
  }
1408
1408
  return value;
1409
1409
  }
1410
1410
  function generateUniqueFilename(prefix, extension) {
1411
1411
  const timestamp2 = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, -5);
1412
1412
  const random = Math.random().toString(36).substring(2, 8);
1413
- return `${prefix}_${timestamp2}_${random}.${extension}`;
1413
+ return prefix + "_" + timestamp2 + "_" + random + "." + extension;
1414
1414
  }
1415
1415
  function calculateProgress(processed, total) {
1416
1416
  if (total === 0) return 0;
@@ -1424,7 +1424,7 @@ function estimateRemainingTime(processed, total, elapsedMs) {
1424
1424
  }
1425
1425
  var exportConfigs = pgTable("ExportConfig", {
1426
1426
  /** 主键ID */
1427
- id: text("id").primaryKey().$defaultFn(() => `export_config_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`),
1427
+ id: text("id").primaryKey().$defaultFn(() => "export_config_" + Date.now() + "_" + Math.random().toString(36).substr(2, 9)),
1428
1428
  /** 配置名称 */
1429
1429
  name: text("name").notNull(),
1430
1430
  /** 配置描述 */
@@ -1462,7 +1462,7 @@ var exportConfigs = pgTable("ExportConfig", {
1462
1462
  });
1463
1463
  var exportHistory = pgTable("ExportHistory", {
1464
1464
  /** 主键ID */
1465
- id: text("id").primaryKey().$defaultFn(() => `export_history_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`),
1465
+ id: text("id").primaryKey().$defaultFn(() => "export_history_" + Date.now() + "_" + Math.random().toString(36).substr(2, 9)),
1466
1466
  /** 关联的配置ID */
1467
1467
  configId: text("configId").notNull(),
1468
1468
  /** 导出的文件名 */
@@ -1503,7 +1503,7 @@ var ExportConfigDatabaseService = class {
1503
1503
  * 创建导出配置
1504
1504
  */
1505
1505
  async createConfig(config) {
1506
- const id = `export_config_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
1506
+ const id = "export_config_" + Date.now() + "_" + Math.random().toString(36).substr(2, 9);
1507
1507
  const now = /* @__PURE__ */ new Date();
1508
1508
  const [newConfig] = await this.db.insert(exportConfigs).values({
1509
1509
  id,
@@ -1559,7 +1559,7 @@ var ExportHistoryDatabaseService = class {
1559
1559
  * 创建导出历史记录
1560
1560
  */
1561
1561
  async createHistory(history) {
1562
- const id = `export_history_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
1562
+ const id = "export_history_" + Date.now() + "_" + Math.random().toString(36).substr(2, 9);
1563
1563
  const [newHistory] = await this.db.insert(exportHistory).values({
1564
1564
  id,
1565
1565
  ...history,