@vlian/framework 1.2.57 → 1.2.60

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 (685) hide show
  1. package/README.md +15 -3
  2. package/dist/analytics/index.cjs +1 -24
  3. package/dist/analytics/index.js +1 -3
  4. package/dist/analytics.umd.js +8 -208
  5. package/dist/components/LocaleSwitch.cjs +1 -118
  6. package/dist/components/LocaleSwitch.js +1 -103
  7. package/dist/components/ThemeSwitch.cjs +1 -117
  8. package/dist/components/ThemeSwitch.js +1 -102
  9. package/dist/components/index.cjs +1 -22
  10. package/dist/components/index.js +1 -4
  11. package/dist/components/persistence.cjs +1 -60
  12. package/dist/components/persistence.js +1 -39
  13. package/dist/core/Test.cjs +1 -66
  14. package/dist/core/Test.js +1 -15
  15. package/dist/core/app/AppContext.cjs +1 -350
  16. package/dist/core/app/AppContext.js +1 -339
  17. package/dist/core/app/AppContext.types.cjs +1 -6
  18. package/dist/core/app/AppContext.types.js +1 -5
  19. package/dist/core/app/BasicLayout.cjs +1 -124
  20. package/dist/core/app/BasicLayout.js +1 -74
  21. package/dist/core/app/DefaultApp.cjs +1 -152
  22. package/dist/core/app/DefaultApp.js +1 -143
  23. package/dist/core/app/index.cjs +1 -43
  24. package/dist/core/app/index.js +1 -7
  25. package/dist/core/config/AppConfig.cjs +1 -141
  26. package/dist/core/config/AppConfig.js +1 -133
  27. package/dist/core/config/ConfigLoader.cjs +1 -325
  28. package/dist/core/config/ConfigLoader.js +1 -311
  29. package/dist/core/config/ConfigValidator.cjs +2 -135
  30. package/dist/core/config/ConfigValidator.js +2 -121
  31. package/dist/core/config/index.cjs +1 -30
  32. package/dist/core/config/index.js +1 -7
  33. package/dist/core/dev/DevTools.cjs +1 -228
  34. package/dist/core/dev/DevTools.js +1 -210
  35. package/dist/core/error/ErrorBoundary.cjs +1 -403
  36. package/dist/core/error/ErrorBoundary.js +1 -399
  37. package/dist/core/error/ErrorHandler.cjs +1 -277
  38. package/dist/core/error/ErrorHandler.js +1 -261
  39. package/dist/core/error/index.cjs +1 -36
  40. package/dist/core/error/index.js +1 -6
  41. package/dist/core/event/AppEventBus.cjs +1 -446
  42. package/dist/core/event/AppEventBus.js +1 -438
  43. package/dist/core/event/frameworkEvents.cjs +1 -143
  44. package/dist/core/event/frameworkEvents.js +1 -135
  45. package/dist/core/event/hooks.cjs +1 -71
  46. package/dist/core/event/hooks.js +1 -95
  47. package/dist/core/event/index.cjs +1 -43
  48. package/dist/core/event/index.js +1 -10
  49. package/dist/core/event/types.cjs +1 -64
  50. package/dist/core/event/types.js +1 -56
  51. package/dist/core/event/useEventBus.cjs +1 -27
  52. package/dist/core/event/useEventBus.js +1 -39
  53. package/dist/core/index.cjs +1 -142
  54. package/dist/core/index.js +1 -69
  55. package/dist/core/initialization/InitializationErrorThrower.cjs +1 -77
  56. package/dist/core/initialization/InitializationErrorThrower.js +1 -30
  57. package/dist/core/initialization/index.cjs +1 -28
  58. package/dist/core/initialization/index.js +1 -7
  59. package/dist/core/initialization/initialization.cjs +1 -66
  60. package/dist/core/initialization/initialization.js +1 -78
  61. package/dist/core/initialization/initializationErrorState.cjs +1 -68
  62. package/dist/core/initialization/initializationErrorState.js +1 -60
  63. package/dist/core/kernel/defaultAdapters.cjs +1 -186
  64. package/dist/core/kernel/defaultAdapters.js +1 -176
  65. package/dist/core/kernel/errors.cjs +1 -71
  66. package/dist/core/kernel/errors.js +1 -53
  67. package/dist/core/kernel/index.cjs +1 -22
  68. package/dist/core/kernel/index.js +1 -4
  69. package/dist/core/kernel/startKernel.cjs +1 -202
  70. package/dist/core/kernel/startKernel.js +1 -192
  71. package/dist/core/kernel/types.cjs +1 -6
  72. package/dist/core/kernel/types.js +1 -3
  73. package/dist/core/middleware.cjs +1 -75
  74. package/dist/core/middleware.js +1 -61
  75. package/dist/core/plugin/PluginEventBus.cjs +1 -300
  76. package/dist/core/plugin/PluginEventBus.js +1 -286
  77. package/dist/core/plugin/PluginSandbox.cjs +1 -139
  78. package/dist/core/plugin/PluginSandbox.js +1 -125
  79. package/dist/core/plugin.cjs +1 -496
  80. package/dist/core/plugin.js +1 -438
  81. package/dist/core/router/RouterManager.cjs +1 -288
  82. package/dist/core/router/RouterManager.js +1 -272
  83. package/dist/core/router/adapter/AdapterManager.cjs +1 -237
  84. package/dist/core/router/adapter/AdapterManager.js +1 -221
  85. package/dist/core/router/adapter/index.cjs +1 -24
  86. package/dist/core/router/adapter/index.js +1 -7
  87. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -130
  88. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -116
  89. package/dist/core/router/adapter/react-router/index.cjs +1 -22
  90. package/dist/core/router/adapter/react-router/index.js +1 -5
  91. package/dist/core/router/adapter/types.cjs +1 -8
  92. package/dist/core/router/adapter/types.js +1 -7
  93. package/dist/core/router/dev/RouterDevTools.cjs +1 -262
  94. package/dist/core/router/dev/RouterDevTools.js +1 -211
  95. package/dist/core/router/dev/index.cjs +1 -22
  96. package/dist/core/router/dev/index.js +1 -5
  97. package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -195
  98. package/dist/core/router/dynamic/DynamicRouteManager.js +1 -179
  99. package/dist/core/router/dynamic/index.cjs +1 -22
  100. package/dist/core/router/dynamic/index.js +1 -5
  101. package/dist/core/router/errors/RouterError.cjs +1 -63
  102. package/dist/core/router/errors/RouterError.js +1 -48
  103. package/dist/core/router/errors/index.cjs +1 -22
  104. package/dist/core/router/errors/index.js +1 -5
  105. package/dist/core/router/index.cjs +1 -38
  106. package/dist/core/router/index.js +1 -32
  107. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -146
  108. package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -130
  109. package/dist/core/router/lifecycle/index.cjs +1 -22
  110. package/dist/core/router/lifecycle/index.js +1 -5
  111. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -195
  112. package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -179
  113. package/dist/core/router/middleware/auth.cjs +1 -68
  114. package/dist/core/router/middleware/auth.js +1 -63
  115. package/dist/core/router/middleware/index.cjs +1 -24
  116. package/dist/core/router/middleware/index.js +1 -7
  117. package/dist/core/router/middleware/types.cjs +1 -8
  118. package/dist/core/router/middleware/types.js +1 -7
  119. package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -229
  120. package/dist/core/router/monitoring/RouterMonitoring.js +1 -213
  121. package/dist/core/router/monitoring/index.cjs +1 -22
  122. package/dist/core/router/monitoring/index.js +1 -5
  123. package/dist/core/router/navigation/RouterNavigation.cjs +1 -241
  124. package/dist/core/router/navigation/RouterNavigation.js +1 -192
  125. package/dist/core/router/navigation/index.cjs +1 -22
  126. package/dist/core/router/navigation/index.js +1 -5
  127. package/dist/core/router/performance/RouteCache.cjs +1 -307
  128. package/dist/core/router/performance/RouteCache.js +1 -291
  129. package/dist/core/router/performance/RoutePreloader.cjs +1 -294
  130. package/dist/core/router/performance/RoutePreloader.js +1 -277
  131. package/dist/core/router/performance/index.cjs +1 -23
  132. package/dist/core/router/performance/index.js +1 -6
  133. package/dist/core/router/plugin/RouterPluginManager.cjs +1 -264
  134. package/dist/core/router/plugin/RouterPluginManager.js +1 -248
  135. package/dist/core/router/plugin/index.cjs +1 -23
  136. package/dist/core/router/plugin/index.js +1 -6
  137. package/dist/core/router/plugin/types.cjs +1 -41
  138. package/dist/core/router/plugin/types.js +1 -33
  139. package/dist/core/router/types.cjs +1 -6
  140. package/dist/core/router/types.js +1 -5
  141. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -131
  142. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +1 -121
  143. package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -252
  144. package/dist/core/router/utils/adapters/react-router/transform.js +1 -242
  145. package/dist/core/router/utils/transform.cjs +1 -782
  146. package/dist/core/router/utils/transform.js +1 -791
  147. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -85
  148. package/dist/core/router/validation/RouterConfigValidator.js +2 -77
  149. package/dist/core/router/validation/index.cjs +1 -23
  150. package/dist/core/router/validation/index.js +1 -6
  151. package/dist/core/router/validation/schema.cjs +1 -161
  152. package/dist/core/router/validation/schema.js +1 -151
  153. package/dist/core/router/version/RouteVersionManager.cjs +1 -207
  154. package/dist/core/router/version/RouteVersionManager.js +1 -191
  155. package/dist/core/router/version/index.cjs +1 -22
  156. package/dist/core/router/version/index.js +1 -5
  157. package/dist/core/splash/SplashScreen.cjs +1 -343
  158. package/dist/core/splash/SplashScreen.js +1 -293
  159. package/dist/core/splash/index.cjs +1 -24
  160. package/dist/core/splash/index.js +1 -6
  161. package/dist/core/splash/splashScreenUtils.cjs +1 -40
  162. package/dist/core/splash/splashScreenUtils.js +1 -30
  163. package/dist/core/startup/AppInstance.cjs +1 -241
  164. package/dist/core/startup/AppInstance.js +1 -226
  165. package/dist/core/startup/environment.cjs +1 -171
  166. package/dist/core/startup/environment.js +1 -154
  167. package/dist/core/startup/index.cjs +1 -25
  168. package/dist/core/startup/index.js +1 -8
  169. package/dist/core/startup/initializeServices.cjs +1 -228
  170. package/dist/core/startup/initializeServices.js +1 -188
  171. package/dist/core/startup/performanceTracker.cjs +1 -181
  172. package/dist/core/startup/performanceTracker.js +1 -167
  173. package/dist/core/startup/renderApp.cjs +1 -316
  174. package/dist/core/startup/renderApp.js +1 -267
  175. package/dist/core/startup/startApp.cjs +1 -319
  176. package/dist/core/startup/startApp.js +1 -315
  177. package/dist/core/types.cjs +1 -6
  178. package/dist/core/types.js +1 -5
  179. package/dist/index.cjs +1 -54
  180. package/dist/index.js +1 -11
  181. package/dist/index.umd.cjs +1 -29
  182. package/dist/index.umd.js +362 -13233
  183. package/dist/kernel/constants.cjs +1 -67
  184. package/dist/kernel/constants.js +1 -43
  185. package/dist/kernel/index.cjs +1 -40
  186. package/dist/kernel/index.js +1 -4
  187. package/dist/kernel/kernel.cjs +1 -297
  188. package/dist/kernel/kernel.js +1 -273
  189. package/dist/kernel/manager/cacheManager.cjs +1 -48
  190. package/dist/kernel/manager/cacheManager.js +1 -38
  191. package/dist/kernel/manager/i18n/I18nManager.cjs +1 -93
  192. package/dist/kernel/manager/i18n/I18nManager.js +1 -83
  193. package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -62
  194. package/dist/kernel/manager/i18n/i18n.persistence.js +1 -41
  195. package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -88
  196. package/dist/kernel/manager/i18n/i18n.schema.js +1 -64
  197. package/dist/kernel/manager/i18n/index.cjs +1 -13
  198. package/dist/kernel/manager/i18n/index.js +1 -3
  199. package/dist/kernel/manager/i18nManager.cjs +1 -13
  200. package/dist/kernel/manager/i18nManager.js +1 -3
  201. package/dist/kernel/manager/index.cjs +1 -30
  202. package/dist/kernel/manager/index.js +1 -6
  203. package/dist/kernel/manager/logger/LoggerManager.cjs +1 -109
  204. package/dist/kernel/manager/logger/LoggerManager.js +1 -99
  205. package/dist/kernel/manager/logger/index.cjs +1 -13
  206. package/dist/kernel/manager/logger/index.js +1 -3
  207. package/dist/kernel/manager/logger/logger.persistence.cjs +1 -64
  208. package/dist/kernel/manager/logger/logger.persistence.js +1 -43
  209. package/dist/kernel/manager/logger/logger.schema.cjs +1 -76
  210. package/dist/kernel/manager/logger/logger.schema.js +1 -55
  211. package/dist/kernel/manager/loggerManager.cjs +1 -13
  212. package/dist/kernel/manager/loggerManager.js +1 -3
  213. package/dist/kernel/manager/theme/ThemeManager.cjs +1 -86
  214. package/dist/kernel/manager/theme/ThemeManager.js +1 -76
  215. package/dist/kernel/manager/theme/index.cjs +1 -13
  216. package/dist/kernel/manager/theme/index.js +1 -3
  217. package/dist/kernel/manager/theme/theme.dom.cjs +1 -63
  218. package/dist/kernel/manager/theme/theme.dom.js +1 -45
  219. package/dist/kernel/manager/theme/theme.persistence.cjs +1 -59
  220. package/dist/kernel/manager/theme/theme.persistence.js +1 -38
  221. package/dist/kernel/manager/theme/theme.schema.cjs +1 -124
  222. package/dist/kernel/manager/theme/theme.schema.js +1 -97
  223. package/dist/kernel/manager/themeManager.cjs +1 -13
  224. package/dist/kernel/manager/themeManager.js +1 -3
  225. package/dist/kernel/types.cjs +1 -6
  226. package/dist/kernel/types.js +1 -3
  227. package/dist/library/index.cjs +1 -21
  228. package/dist/library/index.js +1 -4
  229. package/dist/library/locale/index.cjs +1 -41
  230. package/dist/library/locale/index.js +1 -12
  231. package/dist/library/locale/langs/en-us/index.cjs +1 -34
  232. package/dist/library/locale/langs/en-us/index.js +1 -24
  233. package/dist/library/locale/langs/zh-cn/index.cjs +1 -34
  234. package/dist/library/locale/langs/zh-cn/index.js +1 -24
  235. package/dist/library/locale/types.cjs +1 -6
  236. package/dist/library/locale/types.js +1 -3
  237. package/dist/library/storage/cache.cjs +1 -245
  238. package/dist/library/storage/cache.js +1 -237
  239. package/dist/library/storage/encryption.cjs +1 -149
  240. package/dist/library/storage/encryption.js +1 -141
  241. package/dist/library/storage/index.cjs +1 -126
  242. package/dist/library/storage/index.js +1 -106
  243. package/dist/state/StateManager.cjs +1 -168
  244. package/dist/state/StateManager.js +1 -160
  245. package/dist/state/adapters/AdapterFactory.cjs +1 -91
  246. package/dist/state/adapters/AdapterFactory.js +1 -85
  247. package/dist/state/adapters/DefaultAdapter.cjs +1 -77
  248. package/dist/state/adapters/DefaultAdapter.js +1 -71
  249. package/dist/state/adapters/ReduxAdapter.cjs +1 -445
  250. package/dist/state/adapters/ReduxAdapter.js +1 -439
  251. package/dist/state/adapters/ZustandAdapter.cjs +1 -71
  252. package/dist/state/adapters/ZustandAdapter.js +1 -70
  253. package/dist/state/adapters/index.cjs +1 -46
  254. package/dist/state/adapters/index.js +1 -9
  255. package/dist/state/adapters/types.cjs +1 -22
  256. package/dist/state/adapters/types.js +1 -5
  257. package/dist/state/core/DerivedStateInstance.cjs +1 -176
  258. package/dist/state/core/DerivedStateInstance.js +1 -173
  259. package/dist/state/core/StateInstance.cjs +1 -172
  260. package/dist/state/core/StateInstance.js +1 -168
  261. package/dist/state/core/StateRegistry.cjs +1 -112
  262. package/dist/state/core/StateRegistry.js +1 -106
  263. package/dist/state/core/StateScope.cjs +1 -139
  264. package/dist/state/core/StateScope.js +1 -133
  265. package/dist/state/core/index.cjs +1 -32
  266. package/dist/state/core/index.js +1 -8
  267. package/dist/state/index.cjs +1 -32
  268. package/dist/state/index.js +1 -12
  269. package/dist/state/types.cjs +1 -14
  270. package/dist/state/types.js +1 -13
  271. package/dist/state.umd.js +22 -1395
  272. package/dist/types.cjs +1 -6
  273. package/dist/types.js +1 -3
  274. package/dist/utils/analytics.cjs +1 -219
  275. package/dist/utils/analytics.js +1 -204
  276. package/dist/utils/configSecurity.cjs +3 -184
  277. package/dist/utils/configSecurity.js +3 -176
  278. package/dist/utils/csrf.cjs +1 -20
  279. package/dist/utils/csrf.js +1 -3
  280. package/dist/utils/errors/ErrorCodes.cjs +1 -27
  281. package/dist/utils/errors/ErrorCodes.js +1 -3
  282. package/dist/utils/errors.cjs +1 -113
  283. package/dist/utils/errors.js +1 -18
  284. package/dist/utils/index.cjs +1 -137
  285. package/dist/utils/index.js +1 -48
  286. package/dist/utils/logger.cjs +1 -27
  287. package/dist/utils/logger.js +1 -3
  288. package/dist/utils/logger.types.cjs +1 -13
  289. package/dist/utils/logger.types.js +1 -3
  290. package/dist/utils/monitoring.cjs +1 -20
  291. package/dist/utils/monitoring.js +1 -3
  292. package/dist/utils/performance.cjs +1 -24
  293. package/dist/utils/performance.js +1 -3
  294. package/dist/utils/resourceLoader.cjs +1 -24
  295. package/dist/utils/resourceLoader.js +1 -3
  296. package/dist/utils/runtimeSecurity.cjs +1 -13
  297. package/dist/utils/runtimeSecurity.js +1 -3
  298. package/dist/utils/security.cjs +1 -21
  299. package/dist/utils/security.js +1 -3
  300. package/dist/utils/traceId.cjs +1 -39
  301. package/dist/utils/traceId.js +1 -3
  302. package/dist/utils/validation.cjs +1 -21
  303. package/dist/utils/validation.js +1 -3
  304. package/package.json +9 -6
  305. package/dist/analytics/index.cjs.map +0 -1
  306. package/dist/analytics/index.js.map +0 -1
  307. package/dist/analytics.umd.js.map +0 -1
  308. package/dist/components/LocaleSwitch.cjs.map +0 -1
  309. package/dist/components/LocaleSwitch.js.map +0 -1
  310. package/dist/components/ThemeSwitch.cjs.map +0 -1
  311. package/dist/components/ThemeSwitch.js.map +0 -1
  312. package/dist/components/index.cjs.map +0 -1
  313. package/dist/components/index.js.map +0 -1
  314. package/dist/components/persistence.cjs.map +0 -1
  315. package/dist/components/persistence.js.map +0 -1
  316. package/dist/core/Test.cjs.map +0 -1
  317. package/dist/core/Test.js.map +0 -1
  318. package/dist/core/app/AppContext.cjs.map +0 -1
  319. package/dist/core/app/AppContext.js.map +0 -1
  320. package/dist/core/app/AppContext.types.cjs.map +0 -1
  321. package/dist/core/app/AppContext.types.js.map +0 -1
  322. package/dist/core/app/BasicLayout.cjs.map +0 -1
  323. package/dist/core/app/BasicLayout.js.map +0 -1
  324. package/dist/core/app/DefaultApp.cjs.map +0 -1
  325. package/dist/core/app/DefaultApp.js.map +0 -1
  326. package/dist/core/app/index.cjs.map +0 -1
  327. package/dist/core/app/index.js.map +0 -1
  328. package/dist/core/config/AppConfig.cjs.map +0 -1
  329. package/dist/core/config/AppConfig.js.map +0 -1
  330. package/dist/core/config/ConfigLoader.cjs.map +0 -1
  331. package/dist/core/config/ConfigLoader.js.map +0 -1
  332. package/dist/core/config/ConfigValidator.cjs.map +0 -1
  333. package/dist/core/config/ConfigValidator.js.map +0 -1
  334. package/dist/core/config/index.cjs.map +0 -1
  335. package/dist/core/config/index.js.map +0 -1
  336. package/dist/core/dev/DevTools.cjs.map +0 -1
  337. package/dist/core/dev/DevTools.js.map +0 -1
  338. package/dist/core/error/ErrorBoundary.cjs.map +0 -1
  339. package/dist/core/error/ErrorBoundary.js.map +0 -1
  340. package/dist/core/error/ErrorHandler.cjs.map +0 -1
  341. package/dist/core/error/ErrorHandler.js.map +0 -1
  342. package/dist/core/error/index.cjs.map +0 -1
  343. package/dist/core/error/index.js.map +0 -1
  344. package/dist/core/event/AppEventBus.cjs.map +0 -1
  345. package/dist/core/event/AppEventBus.js.map +0 -1
  346. package/dist/core/event/frameworkEvents.cjs.map +0 -1
  347. package/dist/core/event/frameworkEvents.js.map +0 -1
  348. package/dist/core/event/hooks.cjs.map +0 -1
  349. package/dist/core/event/hooks.js.map +0 -1
  350. package/dist/core/event/index.cjs.map +0 -1
  351. package/dist/core/event/index.js.map +0 -1
  352. package/dist/core/event/types.cjs.map +0 -1
  353. package/dist/core/event/types.js.map +0 -1
  354. package/dist/core/event/useEventBus.cjs.map +0 -1
  355. package/dist/core/event/useEventBus.js.map +0 -1
  356. package/dist/core/index.cjs.map +0 -1
  357. package/dist/core/index.js.map +0 -1
  358. package/dist/core/initialization/InitializationErrorThrower.cjs.map +0 -1
  359. package/dist/core/initialization/InitializationErrorThrower.js.map +0 -1
  360. package/dist/core/initialization/index.cjs.map +0 -1
  361. package/dist/core/initialization/index.js.map +0 -1
  362. package/dist/core/initialization/initialization.cjs.map +0 -1
  363. package/dist/core/initialization/initialization.js.map +0 -1
  364. package/dist/core/initialization/initializationErrorState.cjs.map +0 -1
  365. package/dist/core/initialization/initializationErrorState.js.map +0 -1
  366. package/dist/core/kernel/defaultAdapters.cjs.map +0 -1
  367. package/dist/core/kernel/defaultAdapters.js.map +0 -1
  368. package/dist/core/kernel/errors.cjs.map +0 -1
  369. package/dist/core/kernel/errors.js.map +0 -1
  370. package/dist/core/kernel/index.cjs.map +0 -1
  371. package/dist/core/kernel/index.js.map +0 -1
  372. package/dist/core/kernel/startKernel.cjs.map +0 -1
  373. package/dist/core/kernel/startKernel.js.map +0 -1
  374. package/dist/core/kernel/types.cjs.map +0 -1
  375. package/dist/core/kernel/types.js.map +0 -1
  376. package/dist/core/middleware.cjs.map +0 -1
  377. package/dist/core/middleware.js.map +0 -1
  378. package/dist/core/plugin/PluginEventBus.cjs.map +0 -1
  379. package/dist/core/plugin/PluginEventBus.js.map +0 -1
  380. package/dist/core/plugin/PluginSandbox.cjs.map +0 -1
  381. package/dist/core/plugin/PluginSandbox.js.map +0 -1
  382. package/dist/core/plugin.cjs.map +0 -1
  383. package/dist/core/plugin.js.map +0 -1
  384. package/dist/core/router/RouterManager.cjs.map +0 -1
  385. package/dist/core/router/RouterManager.js.map +0 -1
  386. package/dist/core/router/adapter/AdapterManager.cjs.map +0 -1
  387. package/dist/core/router/adapter/AdapterManager.js.map +0 -1
  388. package/dist/core/router/adapter/index.cjs.map +0 -1
  389. package/dist/core/router/adapter/index.js.map +0 -1
  390. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +0 -1
  391. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +0 -1
  392. package/dist/core/router/adapter/react-router/index.cjs.map +0 -1
  393. package/dist/core/router/adapter/react-router/index.js.map +0 -1
  394. package/dist/core/router/adapter/types.cjs.map +0 -1
  395. package/dist/core/router/adapter/types.js.map +0 -1
  396. package/dist/core/router/dev/RouterDevTools.cjs.map +0 -1
  397. package/dist/core/router/dev/RouterDevTools.js.map +0 -1
  398. package/dist/core/router/dev/index.cjs.map +0 -1
  399. package/dist/core/router/dev/index.js.map +0 -1
  400. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +0 -1
  401. package/dist/core/router/dynamic/DynamicRouteManager.js.map +0 -1
  402. package/dist/core/router/dynamic/index.cjs.map +0 -1
  403. package/dist/core/router/dynamic/index.js.map +0 -1
  404. package/dist/core/router/errors/RouterError.cjs.map +0 -1
  405. package/dist/core/router/errors/RouterError.js.map +0 -1
  406. package/dist/core/router/errors/index.cjs.map +0 -1
  407. package/dist/core/router/errors/index.js.map +0 -1
  408. package/dist/core/router/index.cjs.map +0 -1
  409. package/dist/core/router/index.js.map +0 -1
  410. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +0 -1
  411. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +0 -1
  412. package/dist/core/router/lifecycle/index.cjs.map +0 -1
  413. package/dist/core/router/lifecycle/index.js.map +0 -1
  414. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +0 -1
  415. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +0 -1
  416. package/dist/core/router/middleware/auth.cjs.map +0 -1
  417. package/dist/core/router/middleware/auth.js.map +0 -1
  418. package/dist/core/router/middleware/index.cjs.map +0 -1
  419. package/dist/core/router/middleware/index.js.map +0 -1
  420. package/dist/core/router/middleware/types.cjs.map +0 -1
  421. package/dist/core/router/middleware/types.js.map +0 -1
  422. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +0 -1
  423. package/dist/core/router/monitoring/RouterMonitoring.js.map +0 -1
  424. package/dist/core/router/monitoring/index.cjs.map +0 -1
  425. package/dist/core/router/monitoring/index.js.map +0 -1
  426. package/dist/core/router/navigation/RouterNavigation.cjs.map +0 -1
  427. package/dist/core/router/navigation/RouterNavigation.js.map +0 -1
  428. package/dist/core/router/navigation/index.cjs.map +0 -1
  429. package/dist/core/router/navigation/index.js.map +0 -1
  430. package/dist/core/router/performance/RouteCache.cjs.map +0 -1
  431. package/dist/core/router/performance/RouteCache.js.map +0 -1
  432. package/dist/core/router/performance/RoutePreloader.cjs.map +0 -1
  433. package/dist/core/router/performance/RoutePreloader.js.map +0 -1
  434. package/dist/core/router/performance/index.cjs.map +0 -1
  435. package/dist/core/router/performance/index.js.map +0 -1
  436. package/dist/core/router/plugin/RouterPluginManager.cjs.map +0 -1
  437. package/dist/core/router/plugin/RouterPluginManager.js.map +0 -1
  438. package/dist/core/router/plugin/index.cjs.map +0 -1
  439. package/dist/core/router/plugin/index.js.map +0 -1
  440. package/dist/core/router/plugin/types.cjs.map +0 -1
  441. package/dist/core/router/plugin/types.js.map +0 -1
  442. package/dist/core/router/types.cjs.map +0 -1
  443. package/dist/core/router/types.js.map +0 -1
  444. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +0 -1
  445. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +0 -1
  446. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +0 -1
  447. package/dist/core/router/utils/adapters/react-router/transform.js.map +0 -1
  448. package/dist/core/router/utils/transform.cjs.map +0 -1
  449. package/dist/core/router/utils/transform.js.map +0 -1
  450. package/dist/core/router/validation/RouterConfigValidator.cjs.map +0 -1
  451. package/dist/core/router/validation/RouterConfigValidator.js.map +0 -1
  452. package/dist/core/router/validation/index.cjs.map +0 -1
  453. package/dist/core/router/validation/index.js.map +0 -1
  454. package/dist/core/router/validation/schema.cjs.map +0 -1
  455. package/dist/core/router/validation/schema.js.map +0 -1
  456. package/dist/core/router/version/RouteVersionManager.cjs.map +0 -1
  457. package/dist/core/router/version/RouteVersionManager.js.map +0 -1
  458. package/dist/core/router/version/index.cjs.map +0 -1
  459. package/dist/core/router/version/index.js.map +0 -1
  460. package/dist/core/splash/SplashScreen.cjs.map +0 -1
  461. package/dist/core/splash/SplashScreen.js.map +0 -1
  462. package/dist/core/splash/index.cjs.map +0 -1
  463. package/dist/core/splash/index.js.map +0 -1
  464. package/dist/core/splash/splashScreenUtils.cjs.map +0 -1
  465. package/dist/core/splash/splashScreenUtils.js.map +0 -1
  466. package/dist/core/startup/AppInstance.cjs.map +0 -1
  467. package/dist/core/startup/AppInstance.js.map +0 -1
  468. package/dist/core/startup/environment.cjs.map +0 -1
  469. package/dist/core/startup/environment.js.map +0 -1
  470. package/dist/core/startup/index.cjs.map +0 -1
  471. package/dist/core/startup/index.js.map +0 -1
  472. package/dist/core/startup/initializeServices.cjs.map +0 -1
  473. package/dist/core/startup/initializeServices.js.map +0 -1
  474. package/dist/core/startup/performanceTracker.cjs.map +0 -1
  475. package/dist/core/startup/performanceTracker.js.map +0 -1
  476. package/dist/core/startup/renderApp.cjs.map +0 -1
  477. package/dist/core/startup/renderApp.js.map +0 -1
  478. package/dist/core/startup/startApp.cjs.map +0 -1
  479. package/dist/core/startup/startApp.js.map +0 -1
  480. package/dist/core/types.cjs.map +0 -1
  481. package/dist/core/types.js.map +0 -1
  482. package/dist/index.cjs.map +0 -1
  483. package/dist/index.js.map +0 -1
  484. package/dist/index.umd.cjs.map +0 -1
  485. package/dist/index.umd.js.map +0 -1
  486. package/dist/kernel/constants.cjs.map +0 -1
  487. package/dist/kernel/constants.js.map +0 -1
  488. package/dist/kernel/index.cjs.map +0 -1
  489. package/dist/kernel/index.js.map +0 -1
  490. package/dist/kernel/kernel.cjs.map +0 -1
  491. package/dist/kernel/kernel.js.map +0 -1
  492. package/dist/kernel/manager/cacheManager.cjs.map +0 -1
  493. package/dist/kernel/manager/cacheManager.js.map +0 -1
  494. package/dist/kernel/manager/i18n/I18nManager.cjs.map +0 -1
  495. package/dist/kernel/manager/i18n/I18nManager.js.map +0 -1
  496. package/dist/kernel/manager/i18n/i18n.persistence.cjs.map +0 -1
  497. package/dist/kernel/manager/i18n/i18n.persistence.js.map +0 -1
  498. package/dist/kernel/manager/i18n/i18n.schema.cjs.map +0 -1
  499. package/dist/kernel/manager/i18n/i18n.schema.js.map +0 -1
  500. package/dist/kernel/manager/i18n/index.cjs.map +0 -1
  501. package/dist/kernel/manager/i18n/index.js.map +0 -1
  502. package/dist/kernel/manager/i18nManager.cjs.map +0 -1
  503. package/dist/kernel/manager/i18nManager.js.map +0 -1
  504. package/dist/kernel/manager/index.cjs.map +0 -1
  505. package/dist/kernel/manager/index.js.map +0 -1
  506. package/dist/kernel/manager/logger/LoggerManager.cjs.map +0 -1
  507. package/dist/kernel/manager/logger/LoggerManager.js.map +0 -1
  508. package/dist/kernel/manager/logger/index.cjs.map +0 -1
  509. package/dist/kernel/manager/logger/index.js.map +0 -1
  510. package/dist/kernel/manager/logger/logger.persistence.cjs.map +0 -1
  511. package/dist/kernel/manager/logger/logger.persistence.js.map +0 -1
  512. package/dist/kernel/manager/logger/logger.schema.cjs.map +0 -1
  513. package/dist/kernel/manager/logger/logger.schema.js.map +0 -1
  514. package/dist/kernel/manager/loggerManager.cjs.map +0 -1
  515. package/dist/kernel/manager/loggerManager.js.map +0 -1
  516. package/dist/kernel/manager/persistence.cjs +0 -78
  517. package/dist/kernel/manager/persistence.cjs.map +0 -1
  518. package/dist/kernel/manager/persistence.d.ts +0 -3
  519. package/dist/kernel/manager/persistence.js +0 -60
  520. package/dist/kernel/manager/persistence.js.map +0 -1
  521. package/dist/kernel/manager/theme/ThemeManager.cjs.map +0 -1
  522. package/dist/kernel/manager/theme/ThemeManager.js.map +0 -1
  523. package/dist/kernel/manager/theme/index.cjs.map +0 -1
  524. package/dist/kernel/manager/theme/index.js.map +0 -1
  525. package/dist/kernel/manager/theme/theme.dom.cjs.map +0 -1
  526. package/dist/kernel/manager/theme/theme.dom.js.map +0 -1
  527. package/dist/kernel/manager/theme/theme.persistence.cjs.map +0 -1
  528. package/dist/kernel/manager/theme/theme.persistence.js.map +0 -1
  529. package/dist/kernel/manager/theme/theme.schema.cjs.map +0 -1
  530. package/dist/kernel/manager/theme/theme.schema.js.map +0 -1
  531. package/dist/kernel/manager/themeManager.cjs.map +0 -1
  532. package/dist/kernel/manager/themeManager.js.map +0 -1
  533. package/dist/kernel/types.cjs.map +0 -1
  534. package/dist/kernel/types.js.map +0 -1
  535. package/dist/library/index.cjs.map +0 -1
  536. package/dist/library/index.js.map +0 -1
  537. package/dist/library/locale/index.cjs.map +0 -1
  538. package/dist/library/locale/index.js.map +0 -1
  539. package/dist/library/locale/langs/en-us/index.cjs.map +0 -1
  540. package/dist/library/locale/langs/en-us/index.js.map +0 -1
  541. package/dist/library/locale/langs/zh-cn/index.cjs.map +0 -1
  542. package/dist/library/locale/langs/zh-cn/index.js.map +0 -1
  543. package/dist/library/locale/types.cjs.map +0 -1
  544. package/dist/library/locale/types.js.map +0 -1
  545. package/dist/library/storage/cache.cjs.map +0 -1
  546. package/dist/library/storage/cache.js.map +0 -1
  547. package/dist/library/storage/encryption.cjs.map +0 -1
  548. package/dist/library/storage/encryption.js.map +0 -1
  549. package/dist/library/storage/index.cjs.map +0 -1
  550. package/dist/library/storage/index.js.map +0 -1
  551. package/dist/request/adapter/RequestAdapter.d.ts +0 -85
  552. package/dist/request/adapter/RequestAdapter.js +0 -70
  553. package/dist/request/adapter/RequestAdapter.js.map +0 -1
  554. package/dist/request/adapter/axiosAdapter.d.ts +0 -10
  555. package/dist/request/adapter/axiosAdapter.js +0 -115
  556. package/dist/request/adapter/axiosAdapter.js.map +0 -1
  557. package/dist/request/adapter/fetchAdapter.d.ts +0 -10
  558. package/dist/request/adapter/fetchAdapter.js +0 -126
  559. package/dist/request/adapter/fetchAdapter.js.map +0 -1
  560. package/dist/request/adapter/index.d.ts +0 -9
  561. package/dist/request/adapter/index.js +0 -14
  562. package/dist/request/adapter/index.js.map +0 -1
  563. package/dist/request/adapter/kyAdapter.d.ts +0 -10
  564. package/dist/request/adapter/kyAdapter.js +0 -142
  565. package/dist/request/adapter/kyAdapter.js.map +0 -1
  566. package/dist/request/adapter/undiciAdapter.d.ts +0 -10
  567. package/dist/request/adapter/undiciAdapter.js +0 -164
  568. package/dist/request/adapter/undiciAdapter.js.map +0 -1
  569. package/dist/request/adapter.d.ts +0 -1
  570. package/dist/request/core/RequestClient.d.ts +0 -134
  571. package/dist/request/core/RequestClient.js +0 -509
  572. package/dist/request/core/RequestClient.js.map +0 -1
  573. package/dist/request/core/index.d.ts +0 -5
  574. package/dist/request/core/index.js +0 -5
  575. package/dist/request/core/index.js.map +0 -1
  576. package/dist/request/core.d.ts +0 -1
  577. package/dist/request/index.d.ts +0 -1
  578. package/dist/request/index.js +0 -50
  579. package/dist/request/index.js.map +0 -1
  580. package/dist/request/plugin/RequestPlugin.d.ts +0 -170
  581. package/dist/request/plugin/RequestPlugin.js +0 -203
  582. package/dist/request/plugin/RequestPlugin.js.map +0 -1
  583. package/dist/request/plugin/cache.d.ts +0 -33
  584. package/dist/request/plugin/cache.js +0 -264
  585. package/dist/request/plugin/cache.js.map +0 -1
  586. package/dist/request/plugin/csrfPlugin.d.ts +0 -21
  587. package/dist/request/plugin/csrfPlugin.js +0 -44
  588. package/dist/request/plugin/csrfPlugin.js.map +0 -1
  589. package/dist/request/plugin/index.d.ts +0 -11
  590. package/dist/request/plugin/index.js +0 -12
  591. package/dist/request/plugin/index.js.map +0 -1
  592. package/dist/request/plugin/monitoring.d.ts +0 -112
  593. package/dist/request/plugin/monitoring.js +0 -205
  594. package/dist/request/plugin/monitoring.js.map +0 -1
  595. package/dist/request/plugin/queue.d.ts +0 -91
  596. package/dist/request/plugin/queue.js +0 -156
  597. package/dist/request/plugin/queue.js.map +0 -1
  598. package/dist/request/plugin/retry.d.ts +0 -34
  599. package/dist/request/plugin/retry.js +0 -93
  600. package/dist/request/plugin/retry.js.map +0 -1
  601. package/dist/request/plugin/validation.d.ts +0 -26
  602. package/dist/request/plugin/validation.js +0 -116
  603. package/dist/request/plugin/validation.js.map +0 -1
  604. package/dist/request/plugin.d.ts +0 -1
  605. package/dist/request/runtime/RequestContext.d.ts +0 -50
  606. package/dist/request/runtime/RequestContext.js +0 -86
  607. package/dist/request/runtime/RequestContext.js.map +0 -1
  608. package/dist/request/runtime/index.d.ts +0 -4
  609. package/dist/request/runtime/index.js +0 -5
  610. package/dist/request/runtime/index.js.map +0 -1
  611. package/dist/request/runtime.d.ts +0 -1
  612. package/dist/request/types.d.ts +0 -1
  613. package/dist/request/types.js +0 -97
  614. package/dist/request/types.js.map +0 -1
  615. package/dist/request/utils/RequestQueueManager.d.ts +0 -74
  616. package/dist/request/utils/RequestQueueManager.js +0 -160
  617. package/dist/request/utils/RequestQueueManager.js.map +0 -1
  618. package/dist/request/utils/dependencyCheck.d.ts +0 -63
  619. package/dist/request/utils/dependencyCheck.js +0 -192
  620. package/dist/request/utils/dependencyCheck.js.map +0 -1
  621. package/dist/request/utils/index.d.ts +0 -5
  622. package/dist/request/utils/index.js +0 -6
  623. package/dist/request/utils/index.js.map +0 -1
  624. package/dist/request/utils.d.ts +0 -1
  625. package/dist/state/StateManager.cjs.map +0 -1
  626. package/dist/state/StateManager.js.map +0 -1
  627. package/dist/state/adapters/AdapterFactory.cjs.map +0 -1
  628. package/dist/state/adapters/AdapterFactory.js.map +0 -1
  629. package/dist/state/adapters/DefaultAdapter.cjs.map +0 -1
  630. package/dist/state/adapters/DefaultAdapter.js.map +0 -1
  631. package/dist/state/adapters/ReduxAdapter.cjs.map +0 -1
  632. package/dist/state/adapters/ReduxAdapter.js.map +0 -1
  633. package/dist/state/adapters/ZustandAdapter.cjs.map +0 -1
  634. package/dist/state/adapters/ZustandAdapter.js.map +0 -1
  635. package/dist/state/adapters/index.cjs.map +0 -1
  636. package/dist/state/adapters/index.js.map +0 -1
  637. package/dist/state/adapters/types.cjs.map +0 -1
  638. package/dist/state/adapters/types.js.map +0 -1
  639. package/dist/state/core/DerivedStateInstance.cjs.map +0 -1
  640. package/dist/state/core/DerivedStateInstance.js.map +0 -1
  641. package/dist/state/core/StateInstance.cjs.map +0 -1
  642. package/dist/state/core/StateInstance.js.map +0 -1
  643. package/dist/state/core/StateRegistry.cjs.map +0 -1
  644. package/dist/state/core/StateRegistry.js.map +0 -1
  645. package/dist/state/core/StateScope.cjs.map +0 -1
  646. package/dist/state/core/StateScope.js.map +0 -1
  647. package/dist/state/core/index.cjs.map +0 -1
  648. package/dist/state/core/index.js.map +0 -1
  649. package/dist/state/index.cjs.map +0 -1
  650. package/dist/state/index.js.map +0 -1
  651. package/dist/state/types.cjs.map +0 -1
  652. package/dist/state/types.js.map +0 -1
  653. package/dist/state.umd.js.map +0 -1
  654. package/dist/types.cjs.map +0 -1
  655. package/dist/types.js.map +0 -1
  656. package/dist/utils/analytics.cjs.map +0 -1
  657. package/dist/utils/analytics.js.map +0 -1
  658. package/dist/utils/configSecurity.cjs.map +0 -1
  659. package/dist/utils/configSecurity.js.map +0 -1
  660. package/dist/utils/csrf.cjs.map +0 -1
  661. package/dist/utils/csrf.js.map +0 -1
  662. package/dist/utils/errors/ErrorCodes.cjs.map +0 -1
  663. package/dist/utils/errors/ErrorCodes.js.map +0 -1
  664. package/dist/utils/errors.cjs.map +0 -1
  665. package/dist/utils/errors.js.map +0 -1
  666. package/dist/utils/index.cjs.map +0 -1
  667. package/dist/utils/index.js.map +0 -1
  668. package/dist/utils/logger.cjs.map +0 -1
  669. package/dist/utils/logger.js.map +0 -1
  670. package/dist/utils/logger.types.cjs.map +0 -1
  671. package/dist/utils/logger.types.js.map +0 -1
  672. package/dist/utils/monitoring.cjs.map +0 -1
  673. package/dist/utils/monitoring.js.map +0 -1
  674. package/dist/utils/performance.cjs.map +0 -1
  675. package/dist/utils/performance.js.map +0 -1
  676. package/dist/utils/resourceLoader.cjs.map +0 -1
  677. package/dist/utils/resourceLoader.js.map +0 -1
  678. package/dist/utils/runtimeSecurity.cjs.map +0 -1
  679. package/dist/utils/runtimeSecurity.js.map +0 -1
  680. package/dist/utils/security.cjs.map +0 -1
  681. package/dist/utils/security.js.map +0 -1
  682. package/dist/utils/traceId.cjs.map +0 -1
  683. package/dist/utils/traceId.js.map +0 -1
  684. package/dist/utils/validation.cjs.map +0 -1
  685. package/dist/utils/validation.js.map +0 -1
package/dist/types.cjs CHANGED
@@ -1,6 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=types.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});
package/dist/types.js CHANGED
@@ -1,3 +1 @@
1
- export { };
2
-
3
- //# sourceMappingURL=types.js.map
1
+ export{};
@@ -1,219 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get AnalyticsService () {
13
- return AnalyticsService;
14
- },
15
- get getAnalytics () {
16
- return getAnalytics;
17
- },
18
- get initAnalytics () {
19
- return initAnalytics;
20
- }
21
- });
22
- const _logger = require("./logger");
23
- const _security = require("./security");
24
- function _define_property(obj, key, value) {
25
- if (key in obj) {
26
- Object.defineProperty(obj, key, {
27
- value: value,
28
- enumerable: true,
29
- configurable: true,
30
- writable: true
31
- });
32
- } else {
33
- obj[key] = value;
34
- }
35
- return obj;
36
- }
37
- let AnalyticsService = class AnalyticsService {
38
- /**
39
- * 启动批量上报定时器
40
- */ startBatchTimer() {
41
- if (this.batchTimer) {
42
- return;
43
- }
44
- this.batchTimer = setInterval(()=>{
45
- this.flush();
46
- }, this.config.batchInterval);
47
- }
48
- /**
49
- * 停止批量上报定时器
50
- */ stopBatchTimer() {
51
- if (this.batchTimer) {
52
- clearInterval(this.batchTimer);
53
- this.batchTimer = null;
54
- }
55
- }
56
- /**
57
- * 记录事件
58
- */ track(event) {
59
- if (!this.config.enabled) {
60
- return;
61
- }
62
- // 采样检查
63
- if (Math.random() > this.config.sampleRate) {
64
- return;
65
- }
66
- // 匿名化处理
67
- const anonymizedEvent = {
68
- ...event,
69
- timestamp: Date.now(),
70
- properties: this.anonymizeProperties(event.properties)
71
- };
72
- // 添加到队列
73
- this.eventQueue.push(anonymizedEvent);
74
- // 立即上报单个事件
75
- if (this.config.onEvent) {
76
- this.config.onEvent(anonymizedEvent);
77
- }
78
- // 检查是否需要批量上报
79
- if (this.eventQueue.length >= this.config.batchSize) {
80
- this.flush();
81
- }
82
- }
83
- /**
84
- * 记录页面浏览
85
- */ trackPageView(page, properties) {
86
- this.track({
87
- type: 'pageview',
88
- name: 'page_view',
89
- properties: {
90
- page,
91
- ...properties
92
- }
93
- });
94
- }
95
- /**
96
- * 记录点击事件
97
- */ trackClick(element, properties) {
98
- this.track({
99
- type: 'click',
100
- name: 'click',
101
- properties: {
102
- element,
103
- ...properties
104
- }
105
- });
106
- }
107
- /**
108
- * 记录自定义事件
109
- */ trackCustom(name, properties) {
110
- this.track({
111
- type: 'custom',
112
- name,
113
- properties
114
- });
115
- }
116
- /**
117
- * 记录错误事件
118
- */ trackError(error, properties) {
119
- this.track({
120
- type: 'error',
121
- name: 'error',
122
- properties: {
123
- errorName: error.name,
124
- errorMessage: error.message,
125
- errorStack: error.stack,
126
- ...properties
127
- }
128
- });
129
- }
130
- /**
131
- * 记录性能事件
132
- */ trackPerformance(metrics, properties) {
133
- this.track({
134
- type: 'performance',
135
- name: 'performance',
136
- properties: {
137
- ...metrics,
138
- ...properties
139
- }
140
- });
141
- }
142
- /**
143
- * 匿名化属性(使用深度脱敏)
144
- */ anonymizeProperties(properties) {
145
- if (!this.config.anonymize || !properties) {
146
- return properties;
147
- }
148
- // 使用深度脱敏处理
149
- return _security.SecurityUtils.deepSanitize(properties);
150
- }
151
- /**
152
- * 刷新队列(批量上报)
153
- */ flush() {
154
- if (this.eventQueue.length === 0) {
155
- return;
156
- }
157
- const events = [
158
- ...this.eventQueue
159
- ];
160
- this.eventQueue = [];
161
- if (this.config.onBatch) {
162
- this.config.onBatch(events);
163
- }
164
- _logger.logger.debug(`分析服务批量上报 ${events.length} 个事件`);
165
- }
166
- /**
167
- * 启用分析
168
- */ enable() {
169
- this.config.enabled = true;
170
- this.startBatchTimer();
171
- }
172
- /**
173
- * 禁用分析
174
- */ disable() {
175
- this.config.enabled = false;
176
- this.stopBatchTimer();
177
- this.flush();
178
- }
179
- /**
180
- * 销毁服务
181
- */ destroy() {
182
- this.stopBatchTimer();
183
- this.flush();
184
- }
185
- constructor(config = {}){
186
- _define_property(this, "config", void 0);
187
- _define_property(this, "eventQueue", []);
188
- _define_property(this, "batchTimer", null);
189
- this.config = {
190
- enabled: config.enabled ?? true,
191
- sampleRate: config.sampleRate ?? 1.0,
192
- anonymize: config.anonymize ?? true,
193
- onEvent: config.onEvent ?? (()=>{}),
194
- onBatch: config.onBatch ?? (()=>{}),
195
- batchSize: config.batchSize ?? 10,
196
- batchInterval: config.batchInterval ?? 5000
197
- };
198
- if (this.config.enabled) {
199
- this.startBatchTimer();
200
- }
201
- }
202
- };
203
- /**
204
- * 默认分析服务实例
205
- */ let defaultAnalyticsService = null;
206
- function initAnalytics(config) {
207
- if (!defaultAnalyticsService) {
208
- defaultAnalyticsService = new AnalyticsService(config);
209
- }
210
- return defaultAnalyticsService;
211
- }
212
- function getAnalytics() {
213
- if (!defaultAnalyticsService) {
214
- return initAnalytics();
215
- }
216
- return defaultAnalyticsService;
217
- }
218
-
219
- //# sourceMappingURL=analytics.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get AnalyticsService(){return AnalyticsService},get getAnalytics(){return getAnalytics},get initAnalytics(){return initAnalytics}});const _logger=require("./logger");const _security=require("./security");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let AnalyticsService=class AnalyticsService{startBatchTimer(){if(this.batchTimer){return}this.batchTimer=setInterval(()=>{this.flush()},this.config.batchInterval)}stopBatchTimer(){if(this.batchTimer){clearInterval(this.batchTimer);this.batchTimer=null}}track(event){if(!this.config.enabled){return}if(Math.random()>this.config.sampleRate){return}const anonymizedEvent={...event,timestamp:Date.now(),properties:this.anonymizeProperties(event.properties)};this.eventQueue.push(anonymizedEvent);if(this.config.onEvent){this.config.onEvent(anonymizedEvent)}if(this.eventQueue.length>=this.config.batchSize){this.flush()}}trackPageView(page,properties){this.track({type:"pageview",name:"page_view",properties:{page,...properties}})}trackClick(element,properties){this.track({type:"click",name:"click",properties:{element,...properties}})}trackCustom(name,properties){this.track({type:"custom",name,properties})}trackError(error,properties){this.track({type:"error",name:"error",properties:{errorName:error.name,errorMessage:error.message,errorStack:error.stack,...properties}})}trackPerformance(metrics,properties){this.track({type:"performance",name:"performance",properties:{...metrics,...properties}})}anonymizeProperties(properties){if(!this.config.anonymize||!properties){return properties}return _security.SecurityUtils.deepSanitize(properties)}flush(){if(this.eventQueue.length===0){return}const events=[...this.eventQueue];this.eventQueue=[];if(this.config.onBatch){this.config.onBatch(events)}_logger.logger.debug(`分析服务批量上报 ${events.length} 个事件`)}enable(){this.config.enabled=true;this.startBatchTimer()}disable(){this.config.enabled=false;this.stopBatchTimer();this.flush()}destroy(){this.stopBatchTimer();this.flush()}constructor(config={}){_define_property(this,"config",void 0);_define_property(this,"eventQueue",[]);_define_property(this,"batchTimer",null);this.config={enabled:config.enabled??true,sampleRate:config.sampleRate??1,anonymize:config.anonymize??true,onEvent:config.onEvent??(()=>{}),onBatch:config.onBatch??(()=>{}),batchSize:config.batchSize??10,batchInterval:config.batchInterval??5e3};if(this.config.enabled){this.startBatchTimer()}}};let defaultAnalyticsService=null;function initAnalytics(config){if(!defaultAnalyticsService){defaultAnalyticsService=new AnalyticsService(config)}return defaultAnalyticsService}function getAnalytics(){if(!defaultAnalyticsService){return initAnalytics()}return defaultAnalyticsService}
@@ -1,204 +1 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- import { logger } from "./logger";
15
- import { SecurityUtils } from "./security";
16
- /**
17
- * 分析服务类
18
- */ export class AnalyticsService {
19
- /**
20
- * 启动批量上报定时器
21
- */ startBatchTimer() {
22
- if (this.batchTimer) {
23
- return;
24
- }
25
- this.batchTimer = setInterval(()=>{
26
- this.flush();
27
- }, this.config.batchInterval);
28
- }
29
- /**
30
- * 停止批量上报定时器
31
- */ stopBatchTimer() {
32
- if (this.batchTimer) {
33
- clearInterval(this.batchTimer);
34
- this.batchTimer = null;
35
- }
36
- }
37
- /**
38
- * 记录事件
39
- */ track(event) {
40
- if (!this.config.enabled) {
41
- return;
42
- }
43
- // 采样检查
44
- if (Math.random() > this.config.sampleRate) {
45
- return;
46
- }
47
- // 匿名化处理
48
- const anonymizedEvent = {
49
- ...event,
50
- timestamp: Date.now(),
51
- properties: this.anonymizeProperties(event.properties)
52
- };
53
- // 添加到队列
54
- this.eventQueue.push(anonymizedEvent);
55
- // 立即上报单个事件
56
- if (this.config.onEvent) {
57
- this.config.onEvent(anonymizedEvent);
58
- }
59
- // 检查是否需要批量上报
60
- if (this.eventQueue.length >= this.config.batchSize) {
61
- this.flush();
62
- }
63
- }
64
- /**
65
- * 记录页面浏览
66
- */ trackPageView(page, properties) {
67
- this.track({
68
- type: 'pageview',
69
- name: 'page_view',
70
- properties: {
71
- page,
72
- ...properties
73
- }
74
- });
75
- }
76
- /**
77
- * 记录点击事件
78
- */ trackClick(element, properties) {
79
- this.track({
80
- type: 'click',
81
- name: 'click',
82
- properties: {
83
- element,
84
- ...properties
85
- }
86
- });
87
- }
88
- /**
89
- * 记录自定义事件
90
- */ trackCustom(name, properties) {
91
- this.track({
92
- type: 'custom',
93
- name,
94
- properties
95
- });
96
- }
97
- /**
98
- * 记录错误事件
99
- */ trackError(error, properties) {
100
- this.track({
101
- type: 'error',
102
- name: 'error',
103
- properties: {
104
- errorName: error.name,
105
- errorMessage: error.message,
106
- errorStack: error.stack,
107
- ...properties
108
- }
109
- });
110
- }
111
- /**
112
- * 记录性能事件
113
- */ trackPerformance(metrics, properties) {
114
- this.track({
115
- type: 'performance',
116
- name: 'performance',
117
- properties: {
118
- ...metrics,
119
- ...properties
120
- }
121
- });
122
- }
123
- /**
124
- * 匿名化属性(使用深度脱敏)
125
- */ anonymizeProperties(properties) {
126
- if (!this.config.anonymize || !properties) {
127
- return properties;
128
- }
129
- // 使用深度脱敏处理
130
- return SecurityUtils.deepSanitize(properties);
131
- }
132
- /**
133
- * 刷新队列(批量上报)
134
- */ flush() {
135
- if (this.eventQueue.length === 0) {
136
- return;
137
- }
138
- const events = [
139
- ...this.eventQueue
140
- ];
141
- this.eventQueue = [];
142
- if (this.config.onBatch) {
143
- this.config.onBatch(events);
144
- }
145
- logger.debug(`分析服务批量上报 ${events.length} 个事件`);
146
- }
147
- /**
148
- * 启用分析
149
- */ enable() {
150
- this.config.enabled = true;
151
- this.startBatchTimer();
152
- }
153
- /**
154
- * 禁用分析
155
- */ disable() {
156
- this.config.enabled = false;
157
- this.stopBatchTimer();
158
- this.flush();
159
- }
160
- /**
161
- * 销毁服务
162
- */ destroy() {
163
- this.stopBatchTimer();
164
- this.flush();
165
- }
166
- constructor(config = {}){
167
- _define_property(this, "config", void 0);
168
- _define_property(this, "eventQueue", []);
169
- _define_property(this, "batchTimer", null);
170
- this.config = {
171
- enabled: config.enabled ?? true,
172
- sampleRate: config.sampleRate ?? 1.0,
173
- anonymize: config.anonymize ?? true,
174
- onEvent: config.onEvent ?? (()=>{}),
175
- onBatch: config.onBatch ?? (()=>{}),
176
- batchSize: config.batchSize ?? 10,
177
- batchInterval: config.batchInterval ?? 5000
178
- };
179
- if (this.config.enabled) {
180
- this.startBatchTimer();
181
- }
182
- }
183
- }
184
- /**
185
- * 默认分析服务实例
186
- */ let defaultAnalyticsService = null;
187
- /**
188
- * 初始化默认分析服务
189
- */ export function initAnalytics(config) {
190
- if (!defaultAnalyticsService) {
191
- defaultAnalyticsService = new AnalyticsService(config);
192
- }
193
- return defaultAnalyticsService;
194
- }
195
- /**
196
- * 获取默认分析服务
197
- */ export function getAnalytics() {
198
- if (!defaultAnalyticsService) {
199
- return initAnalytics();
200
- }
201
- return defaultAnalyticsService;
202
- }
203
-
204
- //# sourceMappingURL=analytics.js.map
1
+ function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{logger}from"./logger";import{SecurityUtils}from"./security";export class AnalyticsService{startBatchTimer(){if(this.batchTimer){return}this.batchTimer=setInterval(()=>{this.flush()},this.config.batchInterval)}stopBatchTimer(){if(this.batchTimer){clearInterval(this.batchTimer);this.batchTimer=null}}track(event){if(!this.config.enabled){return}if(Math.random()>this.config.sampleRate){return}const anonymizedEvent={...event,timestamp:Date.now(),properties:this.anonymizeProperties(event.properties)};this.eventQueue.push(anonymizedEvent);if(this.config.onEvent){this.config.onEvent(anonymizedEvent)}if(this.eventQueue.length>=this.config.batchSize){this.flush()}}trackPageView(page,properties){this.track({type:"pageview",name:"page_view",properties:{page,...properties}})}trackClick(element,properties){this.track({type:"click",name:"click",properties:{element,...properties}})}trackCustom(name,properties){this.track({type:"custom",name,properties})}trackError(error,properties){this.track({type:"error",name:"error",properties:{errorName:error.name,errorMessage:error.message,errorStack:error.stack,...properties}})}trackPerformance(metrics,properties){this.track({type:"performance",name:"performance",properties:{...metrics,...properties}})}anonymizeProperties(properties){if(!this.config.anonymize||!properties){return properties}return SecurityUtils.deepSanitize(properties)}flush(){if(this.eventQueue.length===0){return}const events=[...this.eventQueue];this.eventQueue=[];if(this.config.onBatch){this.config.onBatch(events)}logger.debug(`分析服务批量上报 ${events.length} 个事件`)}enable(){this.config.enabled=true;this.startBatchTimer()}disable(){this.config.enabled=false;this.stopBatchTimer();this.flush()}destroy(){this.stopBatchTimer();this.flush()}constructor(config={}){_define_property(this,"config",void 0);_define_property(this,"eventQueue",[]);_define_property(this,"batchTimer",null);this.config={enabled:config.enabled??true,sampleRate:config.sampleRate??1,anonymize:config.anonymize??true,onEvent:config.onEvent??(()=>{}),onBatch:config.onBatch??(()=>{}),batchSize:config.batchSize??10,batchInterval:config.batchInterval??5e3};if(this.config.enabled){this.startBatchTimer()}}}let defaultAnalyticsService=null;export function initAnalytics(config){if(!defaultAnalyticsService){defaultAnalyticsService=new AnalyticsService(config)}return defaultAnalyticsService}export function getAnalytics(){if(!defaultAnalyticsService){return initAnalytics()}return defaultAnalyticsService}
@@ -1,184 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "ConfigSecurity", {
6
- enumerable: true,
7
- get: function() {
8
- return ConfigSecurity;
9
- }
10
- });
11
- const _errors = require("./errors");
12
- const _security = require("./security");
13
- const _validation = require("./validation");
14
- let ConfigSecurity = class ConfigSecurity {
15
- /**
16
- * 验证配置签名
17
- */ static async verifySignature(config, signature, options) {
18
- if (!options.enabled) {
19
- return true;
20
- }
21
- if (!options.publicKey) {
22
- throw new _errors.SecurityError('签名验证需要提供公钥');
23
- }
24
- if (!signature || signature.length === 0) {
25
- throw new _errors.SecurityError('签名不能为空');
26
- }
27
- try {
28
- // 使用 Web Crypto API 验证签名
29
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
30
- throw new _errors.SecurityError('签名验证需要浏览器支持 Web Crypto API');
31
- }
32
- // 将配置转换为字符串(用于签名验证)
33
- // 使用稳定的 JSON 序列化(按键排序)
34
- const configString = JSON.stringify(config, Object.keys(config).sort());
35
- const encoder = new TextEncoder();
36
- const data = encoder.encode(configString);
37
- // 将签名从 Base64 解码
38
- const signatureBuffer = Uint8Array.from(atob(signature), (c)=>c.charCodeAt(0));
39
- // 导入公钥(支持 PEM 格式)
40
- const algorithm = options.algorithm || 'RSASSA-PKCS1-v1_5';
41
- let publicKey;
42
- try {
43
- // 尝试导入 PEM 格式的公钥
44
- const pemHeader = '-----BEGIN PUBLIC KEY-----';
45
- const pemFooter = '-----END PUBLIC KEY-----';
46
- let pemKey = options.publicKey;
47
- if (!pemKey.includes(pemHeader)) {
48
- pemKey = `${pemHeader}\n${pemKey}\n${pemFooter}`;
49
- }
50
- // 将 PEM 转换为 ArrayBuffer
51
- const pemContents = pemKey.replace(pemHeader, '').replace(pemFooter, '').replace(/\s/g, '');
52
- const binaryDer = Uint8Array.from(atob(pemContents), (c)=>c.charCodeAt(0));
53
- publicKey = await window.crypto.subtle.importKey('spki', binaryDer.buffer, {
54
- name: algorithm,
55
- hash: 'SHA-256'
56
- }, false, [
57
- 'verify'
58
- ]);
59
- } catch (importError) {
60
- throw new _errors.SecurityError('公钥导入失败', importError instanceof Error ? importError : undefined);
61
- }
62
- // 验证签名
63
- const isValid = await window.crypto.subtle.verify({
64
- name: algorithm
65
- }, publicKey, signatureBuffer, data);
66
- return isValid;
67
- } catch (error) {
68
- if (error instanceof _errors.SecurityError) {
69
- throw error;
70
- }
71
- throw new _errors.SecurityError('签名验证失败', error instanceof Error ? error : undefined);
72
- }
73
- }
74
- /**
75
- * 验证配置来源
76
- */ static verifyOrigin(options) {
77
- if (!options.allowedOrigins || options.allowedOrigins.length === 0) {
78
- return true; // 如果没有配置白名单,允许所有来源
79
- }
80
- if (typeof window === 'undefined') {
81
- return true; // 非浏览器环境,跳过验证
82
- }
83
- const currentOrigin = window.location.origin;
84
- const referer = document.referrer;
85
- // 验证当前来源
86
- if (options.allowedOrigins.includes(currentOrigin)) {
87
- return true;
88
- }
89
- // 验证 Referer
90
- if (options.verifyReferer && referer) {
91
- try {
92
- const refererOrigin = new URL(referer).origin;
93
- if (options.allowedOrigins.includes(refererOrigin)) {
94
- return true;
95
- }
96
- } catch {
97
- // Referer 解析失败
98
- }
99
- }
100
- return false;
101
- }
102
- /**
103
- * 验证配置白名单
104
- */ static verifyWhitelist(config, options) {
105
- const errors = [];
106
- // 检查允许的键
107
- if (options.allowedKeys && options.allowedKeys.length > 0) {
108
- const configKeys = Object.keys(config);
109
- const invalidKeys = configKeys.filter((key)=>!options.allowedKeys.includes(key));
110
- if (invalidKeys.length > 0) {
111
- errors.push(`配置包含不允许的键: ${invalidKeys.join(', ')}`);
112
- }
113
- }
114
- // 检查禁止的键
115
- if (options.forbiddenKeys && options.forbiddenKeys.length > 0) {
116
- const configKeys = Object.keys(config);
117
- const forbiddenFound = configKeys.filter((key)=>options.forbiddenKeys.includes(key));
118
- if (forbiddenFound.length > 0) {
119
- errors.push(`配置包含禁止的键: ${forbiddenFound.join(', ')}`);
120
- }
121
- }
122
- // 验证配置值
123
- if (options.valueSchema) {
124
- const result = _validation.Validator.validateObject(options.valueSchema, config);
125
- if (!result.valid) {
126
- errors.push(...result.errors);
127
- }
128
- }
129
- return {
130
- valid: errors.length === 0,
131
- errors
132
- };
133
- }
134
- /**
135
- * 清理配置中的危险内容
136
- */ static sanitizeConfig(config) {
137
- const sanitized = {};
138
- for (const [key, value] of Object.entries(config)){
139
- if (typeof value === 'string') {
140
- // 检查是否包含危险内容
141
- const validation = _security.SecurityUtils.validateInput(value);
142
- if (validation.safe && validation.sanitized) {
143
- sanitized[key] = validation.sanitized;
144
- } else {
145
- // 包含危险内容,跳过或记录警告
146
- console.warn(`配置项 ${key} 包含潜在危险内容,已跳过`);
147
- }
148
- } else if (value && typeof value === 'object' && !Array.isArray(value)) {
149
- // 递归清理对象
150
- sanitized[key] = this.sanitizeConfig(value);
151
- } else {
152
- sanitized[key] = value;
153
- }
154
- }
155
- return sanitized;
156
- }
157
- /**
158
- * 验证配置安全性
159
- */ static async validateConfigSecurity(config, options) {
160
- const errors = [];
161
- // 验证来源
162
- if (options.origin) {
163
- const originValid = this.verifyOrigin(options.origin);
164
- if (!originValid) {
165
- errors.push('配置来源验证失败');
166
- }
167
- }
168
- // 验证白名单
169
- if (options.whitelist) {
170
- const whitelistResult = this.verifyWhitelist(config, options.whitelist);
171
- if (!whitelistResult.valid) {
172
- errors.push(...whitelistResult.errors);
173
- }
174
- }
175
- // 清理配置(已实现但暂不使用返回值)
176
- // const sanitizedConfig = this.sanitizeConfig(config);
177
- return {
178
- valid: errors.length === 0,
179
- errors
180
- };
181
- }
182
- };
183
-
184
- //# sourceMappingURL=configSecurity.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"ConfigSecurity",{enumerable:true,get:function(){return ConfigSecurity}});const _errors=require("./errors");const _security=require("./security");const _validation=require("./validation");let ConfigSecurity=class ConfigSecurity{static async verifySignature(config,signature,options){if(!options.enabled){return true}if(!options.publicKey){throw new _errors.SecurityError("签名验证需要提供公钥")}if(!signature||signature.length===0){throw new _errors.SecurityError("签名不能为空")}try{if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new _errors.SecurityError("签名验证需要浏览器支持 Web Crypto API")}const configString=JSON.stringify(config,Object.keys(config).sort());const encoder=new TextEncoder;const data=encoder.encode(configString);const signatureBuffer=Uint8Array.from(atob(signature),c=>c.charCodeAt(0));const algorithm=options.algorithm||"RSASSA-PKCS1-v1_5";let publicKey;try{const pemHeader="-----BEGIN PUBLIC KEY-----";const pemFooter="-----END PUBLIC KEY-----";let pemKey=options.publicKey;if(!pemKey.includes(pemHeader)){pemKey=`${pemHeader}
2
+ ${pemKey}
3
+ ${pemFooter}`}const pemContents=pemKey.replace(pemHeader,"").replace(pemFooter,"").replace(/\s/g,"");const binaryDer=Uint8Array.from(atob(pemContents),c=>c.charCodeAt(0));publicKey=await window.crypto.subtle.importKey("spki",binaryDer.buffer,{name:algorithm,hash:"SHA-256"},false,["verify"])}catch(importError){throw new _errors.SecurityError("公钥导入失败",importError instanceof Error?importError:undefined)}const isValid=await window.crypto.subtle.verify({name:algorithm},publicKey,signatureBuffer,data);return isValid}catch(error){if(error instanceof _errors.SecurityError){throw error}throw new _errors.SecurityError("签名验证失败",error instanceof Error?error:undefined)}}static verifyOrigin(options){if(!options.allowedOrigins||options.allowedOrigins.length===0){return true}if(typeof window==="undefined"){return true}const currentOrigin=window.location.origin;const referer=document.referrer;if(options.allowedOrigins.includes(currentOrigin)){return true}if(options.verifyReferer&&referer){try{const refererOrigin=new URL(referer).origin;if(options.allowedOrigins.includes(refererOrigin)){return true}}catch{}}return false}static verifyWhitelist(config,options){const errors=[];if(options.allowedKeys&&options.allowedKeys.length>0){const configKeys=Object.keys(config);const invalidKeys=configKeys.filter(key=>!options.allowedKeys.includes(key));if(invalidKeys.length>0){errors.push(`配置包含不允许的键: ${invalidKeys.join(", ")}`)}}if(options.forbiddenKeys&&options.forbiddenKeys.length>0){const configKeys=Object.keys(config);const forbiddenFound=configKeys.filter(key=>options.forbiddenKeys.includes(key));if(forbiddenFound.length>0){errors.push(`配置包含禁止的键: ${forbiddenFound.join(", ")}`)}}if(options.valueSchema){const result=_validation.Validator.validateObject(options.valueSchema,config);if(!result.valid){errors.push(...result.errors)}}return{valid:errors.length===0,errors}}static sanitizeConfig(config){const sanitized={};for(const[key,value]of Object.entries(config)){if(typeof value==="string"){const validation=_security.SecurityUtils.validateInput(value);if(validation.safe&&validation.sanitized){sanitized[key]=validation.sanitized}else{console.warn(`配置项 ${key} 包含潜在危险内容,已跳过`)}}else if(value&&typeof value==="object"&&!Array.isArray(value)){sanitized[key]=this.sanitizeConfig(value)}else{sanitized[key]=value}}return sanitized}static async validateConfigSecurity(config,options){const errors=[];if(options.origin){const originValid=this.verifyOrigin(options.origin);if(!originValid){errors.push("配置来源验证失败")}}if(options.whitelist){const whitelistResult=this.verifyWhitelist(config,options.whitelist);if(!whitelistResult.valid){errors.push(...whitelistResult.errors)}}return{valid:errors.length===0,errors}}};