@vlian/framework 1.2.25 → 1.2.38

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 (319) hide show
  1. package/dist/analytics.umd.js +208 -2395
  2. package/dist/analytics.umd.js.map +1 -1
  3. package/dist/core/Test.cjs +2 -2
  4. package/dist/core/Test.cjs.map +1 -1
  5. package/dist/core/Test.js +1 -1
  6. package/dist/core/Test.js.map +1 -1
  7. package/dist/core/config/ConfigLoader.cjs +7 -7
  8. package/dist/core/config/ConfigLoader.cjs.map +1 -1
  9. package/dist/core/config/ConfigLoader.js +1 -1
  10. package/dist/core/config/ConfigLoader.js.map +1 -1
  11. package/dist/core/error/ErrorBoundary.cjs +6 -6
  12. package/dist/core/error/ErrorBoundary.cjs.map +1 -1
  13. package/dist/core/error/ErrorBoundary.d.ts +1 -1
  14. package/dist/core/error/ErrorBoundary.js +2 -2
  15. package/dist/core/error/ErrorBoundary.js.map +1 -1
  16. package/dist/core/error/ErrorHandler.cjs +19 -19
  17. package/dist/core/error/ErrorHandler.cjs.map +1 -1
  18. package/dist/core/error/ErrorHandler.d.ts +2 -2
  19. package/dist/core/error/ErrorHandler.js +2 -2
  20. package/dist/core/error/ErrorHandler.js.map +1 -1
  21. package/dist/core/event/AppEventBus.cjs +5 -5
  22. package/dist/core/event/AppEventBus.cjs.map +1 -1
  23. package/dist/core/event/AppEventBus.js +1 -1
  24. package/dist/core/event/AppEventBus.js.map +1 -1
  25. package/dist/core/initialization/InitializationErrorThrower.cjs.map +1 -1
  26. package/dist/core/initialization/InitializationErrorThrower.js.map +1 -1
  27. package/dist/core/initialization/initialization.cjs +3 -3
  28. package/dist/core/initialization/initialization.cjs.map +1 -1
  29. package/dist/core/initialization/initialization.d.ts +1 -1
  30. package/dist/core/initialization/initialization.js +1 -1
  31. package/dist/core/initialization/initialization.js.map +1 -1
  32. package/dist/core/initialization/initializationErrorState.cjs +2 -2
  33. package/dist/core/initialization/initializationErrorState.cjs.map +1 -1
  34. package/dist/core/initialization/initializationErrorState.d.ts +1 -1
  35. package/dist/core/initialization/initializationErrorState.js +1 -1
  36. package/dist/core/initialization/initializationErrorState.js.map +1 -1
  37. package/dist/core/kernel/defaultAdapters.cjs +14 -13
  38. package/dist/core/kernel/defaultAdapters.cjs.map +1 -1
  39. package/dist/core/kernel/defaultAdapters.js +2 -1
  40. package/dist/core/kernel/defaultAdapters.js.map +1 -1
  41. package/dist/core/kernel/types.d.ts +1 -1
  42. package/dist/core/kernel/types.js.map +1 -1
  43. package/dist/core/router/RouterManager.cjs +9 -9
  44. package/dist/core/router/RouterManager.cjs.map +1 -1
  45. package/dist/core/router/RouterManager.js +1 -1
  46. package/dist/core/router/RouterManager.js.map +1 -1
  47. package/dist/core/router/adapter/AdapterManager.cjs +10 -10
  48. package/dist/core/router/adapter/AdapterManager.cjs.map +1 -1
  49. package/dist/core/router/adapter/AdapterManager.js +1 -1
  50. package/dist/core/router/adapter/AdapterManager.js.map +1 -1
  51. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +4 -4
  52. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +1 -1
  53. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -1
  54. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +1 -1
  55. package/dist/core/router/dynamic/DynamicRouteManager.cjs +8 -8
  56. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +1 -1
  57. package/dist/core/router/dynamic/DynamicRouteManager.js +1 -1
  58. package/dist/core/router/dynamic/DynamicRouteManager.js.map +1 -1
  59. package/dist/core/router/errors/RouterError.cjs +4 -4
  60. package/dist/core/router/errors/RouterError.cjs.map +1 -1
  61. package/dist/core/router/errors/RouterError.d.ts +1 -1
  62. package/dist/core/router/errors/RouterError.js +1 -1
  63. package/dist/core/router/errors/RouterError.js.map +1 -1
  64. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +8 -8
  65. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +1 -1
  66. package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -1
  67. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +1 -1
  68. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +11 -11
  69. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +1 -1
  70. package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -1
  71. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +1 -1
  72. package/dist/core/router/middleware/auth.cjs +4 -4
  73. package/dist/core/router/middleware/auth.cjs.map +1 -1
  74. package/dist/core/router/middleware/auth.js +1 -1
  75. package/dist/core/router/middleware/auth.js.map +1 -1
  76. package/dist/core/router/monitoring/RouterMonitoring.cjs +2 -2
  77. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
  78. package/dist/core/router/monitoring/RouterMonitoring.js +2 -2
  79. package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
  80. package/dist/core/router/navigation/RouterNavigation.cjs +7 -7
  81. package/dist/core/router/navigation/RouterNavigation.cjs.map +1 -1
  82. package/dist/core/router/navigation/RouterNavigation.js +1 -1
  83. package/dist/core/router/navigation/RouterNavigation.js.map +1 -1
  84. package/dist/core/router/performance/RouteCache.cjs +7 -7
  85. package/dist/core/router/performance/RouteCache.cjs.map +1 -1
  86. package/dist/core/router/performance/RouteCache.js +1 -1
  87. package/dist/core/router/performance/RouteCache.js.map +1 -1
  88. package/dist/core/router/performance/RoutePreloader.cjs +6 -6
  89. package/dist/core/router/performance/RoutePreloader.cjs.map +1 -1
  90. package/dist/core/router/performance/RoutePreloader.js +1 -1
  91. package/dist/core/router/performance/RoutePreloader.js.map +1 -1
  92. package/dist/core/router/plugin/RouterPluginManager.cjs +8 -8
  93. package/dist/core/router/plugin/RouterPluginManager.cjs.map +1 -1
  94. package/dist/core/router/plugin/RouterPluginManager.js +1 -1
  95. package/dist/core/router/plugin/RouterPluginManager.js.map +1 -1
  96. package/dist/core/router/utils/adapters/react-router/transform.cjs +6 -2
  97. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
  98. package/dist/core/router/utils/adapters/react-router/transform.js +5 -1
  99. package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
  100. package/dist/core/router/utils/transform.cjs +13 -12
  101. package/dist/core/router/utils/transform.cjs.map +1 -1
  102. package/dist/core/router/utils/transform.js +2 -1
  103. package/dist/core/router/utils/transform.js.map +1 -1
  104. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -2
  105. package/dist/core/router/validation/RouterConfigValidator.cjs.map +1 -1
  106. package/dist/core/router/validation/RouterConfigValidator.js +1 -1
  107. package/dist/core/router/validation/RouterConfigValidator.js.map +1 -1
  108. package/dist/core/router/version/RouteVersionManager.cjs +6 -6
  109. package/dist/core/router/version/RouteVersionManager.cjs.map +1 -1
  110. package/dist/core/router/version/RouteVersionManager.js +1 -1
  111. package/dist/core/router/version/RouteVersionManager.js.map +1 -1
  112. package/dist/core/splash/SplashScreen.cjs +4 -4
  113. package/dist/core/splash/SplashScreen.cjs.map +1 -1
  114. package/dist/core/splash/SplashScreen.js +1 -1
  115. package/dist/core/splash/SplashScreen.js.map +1 -1
  116. package/dist/core/startup/initializeServices.cjs +15 -15
  117. package/dist/core/startup/initializeServices.cjs.map +1 -1
  118. package/dist/core/startup/initializeServices.d.ts +2 -2
  119. package/dist/core/startup/initializeServices.js +3 -3
  120. package/dist/core/startup/initializeServices.js.map +1 -1
  121. package/dist/core/startup/performanceTracker.cjs.map +1 -1
  122. package/dist/core/startup/performanceTracker.d.ts +1 -1
  123. package/dist/core/startup/performanceTracker.js.map +1 -1
  124. package/dist/core/startup/renderApp.cjs +3 -3
  125. package/dist/core/startup/renderApp.cjs.map +1 -1
  126. package/dist/core/startup/renderApp.d.ts +1 -1
  127. package/dist/core/startup/renderApp.js +2 -2
  128. package/dist/core/startup/renderApp.js.map +1 -1
  129. package/dist/core/startup/startApp.cjs +24 -24
  130. package/dist/core/startup/startApp.cjs.map +1 -1
  131. package/dist/core/startup/startApp.js +5 -5
  132. package/dist/core/startup/startApp.js.map +1 -1
  133. package/dist/core/types.d.ts +3 -3
  134. package/dist/core/types.js.map +1 -1
  135. package/dist/index.cjs +15 -2
  136. package/dist/index.cjs.map +1 -1
  137. package/dist/index.d.ts +6 -4
  138. package/dist/index.js +5 -4
  139. package/dist/index.js.map +1 -1
  140. package/dist/index.umd.js +2150 -23125
  141. package/dist/index.umd.js.map +1 -1
  142. package/dist/kernel/constants.cjs +67 -0
  143. package/dist/kernel/constants.cjs.map +1 -0
  144. package/dist/kernel/constants.d.ts +5 -0
  145. package/dist/kernel/constants.js +43 -0
  146. package/dist/kernel/constants.js.map +1 -0
  147. package/dist/kernel/index.cjs +40 -0
  148. package/dist/kernel/index.cjs.map +1 -0
  149. package/dist/kernel/index.d.ts +3 -0
  150. package/dist/kernel/index.js +4 -0
  151. package/dist/kernel/index.js.map +1 -0
  152. package/dist/kernel/kernel.cjs +296 -0
  153. package/dist/kernel/kernel.cjs.map +1 -0
  154. package/dist/kernel/kernel.d.ts +40 -0
  155. package/dist/kernel/kernel.js +272 -0
  156. package/dist/kernel/kernel.js.map +1 -0
  157. package/dist/kernel/manager/cacheManager.cjs +46 -0
  158. package/dist/kernel/manager/cacheManager.cjs.map +1 -0
  159. package/dist/kernel/manager/cacheManager.d.ts +6 -0
  160. package/dist/kernel/manager/cacheManager.js +36 -0
  161. package/dist/kernel/manager/cacheManager.js.map +1 -0
  162. package/dist/kernel/manager/i18nManager.cjs +68 -0
  163. package/dist/kernel/manager/i18nManager.cjs.map +1 -0
  164. package/dist/kernel/manager/i18nManager.d.ts +8 -0
  165. package/dist/kernel/manager/i18nManager.js +58 -0
  166. package/dist/kernel/manager/i18nManager.js.map +1 -0
  167. package/dist/kernel/manager/index.cjs +30 -0
  168. package/dist/kernel/manager/index.cjs.map +1 -0
  169. package/dist/kernel/manager/index.d.ts +4 -0
  170. package/dist/kernel/manager/index.js +6 -0
  171. package/dist/kernel/manager/index.js.map +1 -0
  172. package/dist/kernel/manager/loggerManager.cjs +70 -0
  173. package/dist/kernel/manager/loggerManager.cjs.map +1 -0
  174. package/dist/kernel/manager/loggerManager.d.ts +14 -0
  175. package/dist/kernel/manager/loggerManager.js +60 -0
  176. package/dist/kernel/manager/loggerManager.js.map +1 -0
  177. package/dist/kernel/manager/persistence.cjs +93 -0
  178. package/dist/kernel/manager/persistence.cjs.map +1 -0
  179. package/dist/kernel/manager/persistence.d.ts +3 -0
  180. package/dist/kernel/manager/persistence.js +75 -0
  181. package/dist/kernel/manager/persistence.js.map +1 -0
  182. package/dist/kernel/manager/themeManager.cjs +85 -0
  183. package/dist/kernel/manager/themeManager.cjs.map +1 -0
  184. package/dist/kernel/manager/themeManager.d.ts +9 -0
  185. package/dist/kernel/manager/themeManager.js +75 -0
  186. package/dist/kernel/manager/themeManager.js.map +1 -0
  187. package/dist/kernel/types.cjs +6 -0
  188. package/dist/kernel/types.cjs.map +1 -0
  189. package/dist/kernel/types.d.ts +72 -0
  190. package/dist/kernel/types.js +3 -0
  191. package/dist/kernel/types.js.map +1 -0
  192. package/dist/library/storage/encryption.cjs +12 -13
  193. package/dist/library/storage/encryption.cjs.map +1 -1
  194. package/dist/library/storage/encryption.js +1 -2
  195. package/dist/library/storage/encryption.js.map +1 -1
  196. package/dist/request/adapter.d.ts +1 -0
  197. package/dist/request/core.d.ts +1 -0
  198. package/dist/request/index.d.ts +1 -42
  199. package/dist/request/plugin/csrfPlugin.d.ts +2 -2
  200. package/dist/request/plugin/queue.d.ts +2 -2
  201. package/dist/request/plugin.d.ts +1 -0
  202. package/dist/request/runtime.d.ts +1 -0
  203. package/dist/request/types.d.ts +1 -394
  204. package/dist/request/utils.d.ts +1 -0
  205. package/dist/state.umd.js +1 -1
  206. package/dist/utils/csrf.cjs +13 -152
  207. package/dist/utils/csrf.cjs.map +1 -1
  208. package/dist/utils/csrf.d.ts +1 -72
  209. package/dist/utils/csrf.js +1 -142
  210. package/dist/utils/csrf.js.map +1 -1
  211. package/dist/utils/errors/ErrorCodes.cjs +6 -76
  212. package/dist/utils/errors/ErrorCodes.cjs.map +1 -1
  213. package/dist/utils/errors/ErrorCodes.d.ts +1 -45
  214. package/dist/utils/errors/ErrorCodes.js +1 -84
  215. package/dist/utils/errors/ErrorCodes.js.map +1 -1
  216. package/dist/utils/errors.cjs +53 -326
  217. package/dist/utils/errors.cjs.map +1 -1
  218. package/dist/utils/errors.d.ts +19 -172
  219. package/dist/utils/errors.js +16 -352
  220. package/dist/utils/errors.js.map +1 -1
  221. package/dist/utils/logger.cjs +5 -374
  222. package/dist/utils/logger.cjs.map +1 -1
  223. package/dist/utils/logger.d.ts +2 -189
  224. package/dist/utils/logger.js +1 -379
  225. package/dist/utils/logger.js.map +1 -1
  226. package/dist/utils/logger.types.cjs +3 -12
  227. package/dist/utils/logger.types.cjs.map +1 -1
  228. package/dist/utils/logger.types.d.ts +2 -57
  229. package/dist/utils/logger.types.js +1 -10
  230. package/dist/utils/logger.types.js.map +1 -1
  231. package/dist/utils/monitoring.cjs +11 -302
  232. package/dist/utils/monitoring.cjs.map +1 -1
  233. package/dist/utils/monitoring.d.ts +1 -163
  234. package/dist/utils/monitoring.js +1 -294
  235. package/dist/utils/monitoring.js.map +1 -1
  236. package/dist/utils/performance.cjs +5 -352
  237. package/dist/utils/performance.cjs.map +1 -1
  238. package/dist/utils/performance.d.ts +2 -246
  239. package/dist/utils/performance.js +1 -354
  240. package/dist/utils/performance.js.map +1 -1
  241. package/dist/utils/resourceLoader.cjs +5 -303
  242. package/dist/utils/resourceLoader.cjs.map +1 -1
  243. package/dist/utils/resourceLoader.d.ts +2 -130
  244. package/dist/utils/resourceLoader.js +1 -305
  245. package/dist/utils/resourceLoader.js.map +1 -1
  246. package/dist/utils/runtimeSecurity.cjs +2 -140
  247. package/dist/utils/runtimeSecurity.cjs.map +1 -1
  248. package/dist/utils/runtimeSecurity.d.ts +2 -104
  249. package/dist/utils/runtimeSecurity.js +1 -141
  250. package/dist/utils/runtimeSecurity.js.map +1 -1
  251. package/dist/utils/security.cjs +3 -314
  252. package/dist/utils/security.cjs.map +1 -1
  253. package/dist/utils/security.d.ts +2 -80
  254. package/dist/utils/security.js +1 -311
  255. package/dist/utils/security.js.map +1 -1
  256. package/dist/utils/traceId.cjs +10 -111
  257. package/dist/utils/traceId.cjs.map +1 -1
  258. package/dist/utils/traceId.d.ts +1 -63
  259. package/dist/utils/traceId.js +1 -116
  260. package/dist/utils/traceId.js.map +1 -1
  261. package/dist/utils/validation.cjs +3 -173
  262. package/dist/utils/validation.cjs.map +1 -1
  263. package/dist/utils/validation.d.ts +2 -110
  264. package/dist/utils/validation.js +1 -175
  265. package/dist/utils/validation.js.map +1 -1
  266. package/package.json +15 -24
  267. package/dist/lazy/index.cjs +0 -104
  268. package/dist/lazy/index.cjs.map +0 -1
  269. package/dist/lazy/index.d.ts +0 -19
  270. package/dist/lazy/index.js +0 -24
  271. package/dist/lazy/index.js.map +0 -1
  272. package/dist/request/adapter/RequestAdapter.cjs +0 -78
  273. package/dist/request/adapter/RequestAdapter.cjs.map +0 -1
  274. package/dist/request/adapter/axiosAdapter.cjs +0 -164
  275. package/dist/request/adapter/axiosAdapter.cjs.map +0 -1
  276. package/dist/request/adapter/fetchAdapter.cjs +0 -134
  277. package/dist/request/adapter/fetchAdapter.cjs.map +0 -1
  278. package/dist/request/adapter/index.cjs +0 -80
  279. package/dist/request/adapter/index.cjs.map +0 -1
  280. package/dist/request/adapter/kyAdapter.cjs +0 -191
  281. package/dist/request/adapter/kyAdapter.cjs.map +0 -1
  282. package/dist/request/adapter/undiciAdapter.cjs +0 -213
  283. package/dist/request/adapter/undiciAdapter.cjs.map +0 -1
  284. package/dist/request/core/RequestClient.cjs +0 -558
  285. package/dist/request/core/RequestClient.cjs.map +0 -1
  286. package/dist/request/core/index.cjs +0 -15
  287. package/dist/request/core/index.cjs.map +0 -1
  288. package/dist/request/index.cjs +0 -149
  289. package/dist/request/index.cjs.map +0 -1
  290. package/dist/request/plugin/RequestPlugin.cjs +0 -218
  291. package/dist/request/plugin/RequestPlugin.cjs.map +0 -1
  292. package/dist/request/plugin/cache.cjs +0 -269
  293. package/dist/request/plugin/cache.cjs.map +0 -1
  294. package/dist/request/plugin/csrfPlugin.cjs +0 -40
  295. package/dist/request/plugin/csrfPlugin.cjs.map +0 -1
  296. package/dist/request/plugin/index.cjs +0 -53
  297. package/dist/request/plugin/index.cjs.map +0 -1
  298. package/dist/request/plugin/monitoring.cjs +0 -216
  299. package/dist/request/plugin/monitoring.cjs.map +0 -1
  300. package/dist/request/plugin/queue.cjs +0 -140
  301. package/dist/request/plugin/queue.cjs.map +0 -1
  302. package/dist/request/plugin/retry.cjs +0 -98
  303. package/dist/request/plugin/retry.cjs.map +0 -1
  304. package/dist/request/plugin/validation.cjs +0 -121
  305. package/dist/request/plugin/validation.cjs.map +0 -1
  306. package/dist/request/runtime/RequestContext.cjs +0 -77
  307. package/dist/request/runtime/RequestContext.cjs.map +0 -1
  308. package/dist/request/runtime/index.cjs +0 -32
  309. package/dist/request/runtime/index.cjs.map +0 -1
  310. package/dist/request/types.cjs +0 -112
  311. package/dist/request/types.cjs.map +0 -1
  312. package/dist/request/utils/RequestQueueManager.cjs +0 -168
  313. package/dist/request/utils/RequestQueueManager.cjs.map +0 -1
  314. package/dist/request/utils/dependencyCheck.cjs +0 -237
  315. package/dist/request/utils/dependencyCheck.cjs.map +0 -1
  316. package/dist/request/utils/index.cjs +0 -30
  317. package/dist/request/utils/index.cjs.map +0 -1
  318. package/dist/request.umd.js +0 -5392
  319. package/dist/request.umd.js.map +0 -1
@@ -1,394 +1 @@
1
- /**
2
- * 请求库核心类型定义
3
- */
4
- /**
5
- * HTTP 请求方法
6
- */
7
- export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS';
8
- /**
9
- * 请求头类型
10
- */
11
- export type RequestHeaders = Record<string, string | number | boolean>;
12
- /**
13
- * 请求查询参数类型
14
- */
15
- export type RequestQuery = Record<string, string | number | boolean | null | undefined>;
16
- /**
17
- * 请求体类型
18
- */
19
- export type RequestBody = string | FormData | URLSearchParams | Blob | ArrayBuffer | Record<string, unknown> | null;
20
- /**
21
- * 请求配置选项
22
- *
23
- * @template TResponse - 响应数据类型(用于类型推导)
24
- */
25
- export interface RequestOptions<TResponse = unknown> {
26
- /**
27
- * 响应类型占位符(用于类型推导,实际不使用)
28
- * @internal
29
- */
30
- _responseType?: TResponse;
31
- /**
32
- * 请求方法
33
- */
34
- method?: HttpMethod;
35
- /**
36
- * 请求 URL
37
- */
38
- url: string;
39
- /**
40
- * 请求头
41
- */
42
- headers?: RequestHeaders;
43
- /**
44
- * 查询参数
45
- */
46
- query?: RequestQuery;
47
- /**
48
- * 请求体
49
- */
50
- body?: RequestBody;
51
- /**
52
- * 请求超时时间(毫秒)
53
- */
54
- timeout?: number;
55
- /**
56
- * 是否允许跨域请求
57
- */
58
- credentials?: 'include' | 'same-origin' | 'omit';
59
- /**
60
- * 响应类型
61
- */
62
- responseType?: 'json' | 'text' | 'blob' | 'arrayBuffer' | 'formData';
63
- /**
64
- * 是否中止请求
65
- */
66
- signal?: AbortSignal;
67
- /**
68
- * 请求元数据(用于插件扩展)
69
- */
70
- meta?: Record<string, unknown>;
71
- /**
72
- * 请求标签(用于缓存、监控等)
73
- */
74
- tags?: string[];
75
- /**
76
- * 是否跳过默认插件
77
- */
78
- skipPlugins?: string[];
79
- /**
80
- * 请求重试配置
81
- */
82
- retry?: RetryConfig;
83
- /**
84
- * 请求缓存配置
85
- */
86
- cache?: CacheConfig;
87
- /**
88
- * 请求验证配置
89
- */
90
- validation?: ValidationConfig;
91
- }
92
- /**
93
- * 重试配置
94
- */
95
- export interface RetryConfig {
96
- /**
97
- * 最大重试次数
98
- */
99
- maxAttempts?: number;
100
- /**
101
- * 重试延迟(毫秒)
102
- */
103
- delay?: number;
104
- /**
105
- * 重试延迟策略(指数退避)
106
- */
107
- exponentialBackoff?: boolean;
108
- /**
109
- * 重试条件函数
110
- */
111
- shouldRetry?: (error: unknown, attempt: number) => boolean;
112
- /**
113
- * 重试延迟计算函数
114
- */
115
- calculateDelay?: (attempt: number) => number;
116
- }
117
- /**
118
- * 缓存配置
119
- */
120
- export interface CacheConfig {
121
- /**
122
- * 缓存键
123
- */
124
- key?: string;
125
- /**
126
- * 缓存时间(毫秒)
127
- */
128
- ttl?: number;
129
- /**
130
- * 是否强制刷新
131
- */
132
- forceRefresh?: boolean;
133
- /**
134
- * 缓存存储类型
135
- */
136
- storage?: 'memory' | 'localStorage' | 'sessionStorage';
137
- /**
138
- * 缓存条件函数
139
- */
140
- shouldCache?: (response: Response<unknown>) => boolean;
141
- }
142
- /**
143
- * 验证配置
144
- *
145
- * @template TResponse - 响应数据类型
146
- */
147
- export interface ValidationConfig {
148
- /**
149
- * 请求参数验证 Schema(Zod)
150
- */
151
- requestSchema?: unknown;
152
- /**
153
- * 响应数据验证 Schema(Zod)
154
- */
155
- responseSchema?: unknown;
156
- /**
157
- * 验证失败时的处理方式
158
- */
159
- onValidationError?: (error: unknown) => void;
160
- }
161
- /**
162
- * 响应对象
163
- *
164
- * @template TData - 响应数据类型
165
- * @template TMeta - 响应元数据类型
166
- */
167
- export interface Response<TData = unknown, TMeta = Record<string, unknown>> {
168
- /**
169
- * 响应数据
170
- */
171
- data: TData;
172
- /**
173
- * HTTP 状态码
174
- */
175
- status: number;
176
- /**
177
- * HTTP 状态文本
178
- */
179
- statusText: string;
180
- /**
181
- * 响应头
182
- */
183
- headers: RequestHeaders;
184
- /**
185
- * 响应元数据(由插件注入)
186
- */
187
- meta?: TMeta;
188
- /**
189
- * 原始响应对象(适配器提供)
190
- */
191
- raw?: unknown;
192
- }
193
- /**
194
- * 请求错误类型
195
- */
196
- export declare enum RequestErrorType {
197
- /**
198
- * 网络错误
199
- */
200
- NETWORK_ERROR = "NETWORK_ERROR",
201
- /**
202
- * 超时错误
203
- */
204
- TIMEOUT_ERROR = "TIMEOUT_ERROR",
205
- /**
206
- * HTTP 错误(4xx, 5xx)
207
- */
208
- HTTP_ERROR = "HTTP_ERROR",
209
- /**
210
- * 取消错误
211
- */
212
- ABORT_ERROR = "ABORT_ERROR",
213
- /**
214
- * 验证错误
215
- */
216
- VALIDATION_ERROR = "VALIDATION_ERROR",
217
- /**
218
- * 未知错误
219
- */
220
- UNKNOWN_ERROR = "UNKNOWN_ERROR"
221
- }
222
- /**
223
- * 请求错误代码
224
- */
225
- export declare enum RequestErrorCode {
226
- /**
227
- * 网络连接失败
228
- */
229
- NETWORK_CONNECTION_FAILED = "NETWORK_CONNECTION_FAILED",
230
- /**
231
- * 请求超时
232
- */
233
- REQUEST_TIMEOUT = "REQUEST_TIMEOUT",
234
- /**
235
- * 服务器错误(5xx)
236
- */
237
- SERVER_ERROR = "SERVER_ERROR",
238
- /**
239
- * 客户端错误(4xx)
240
- */
241
- CLIENT_ERROR = "CLIENT_ERROR",
242
- /**
243
- * 请求被取消
244
- */
245
- REQUEST_ABORTED = "REQUEST_ABORTED",
246
- /**
247
- * 响应验证失败
248
- */
249
- RESPONSE_VALIDATION_FAILED = "RESPONSE_VALIDATION_FAILED",
250
- /**
251
- * 请求参数验证失败
252
- */
253
- REQUEST_VALIDATION_FAILED = "REQUEST_VALIDATION_FAILED"
254
- }
255
- /**
256
- * 请求错误类
257
- */
258
- export declare class RequestError extends Error {
259
- /**
260
- * 错误类型
261
- */
262
- type: RequestErrorType;
263
- /**
264
- * 错误代码
265
- */
266
- code: RequestErrorCode;
267
- /**
268
- * HTTP 状态码(如果有)
269
- */
270
- status?: number;
271
- /**
272
- * 原始错误
273
- */
274
- cause?: unknown;
275
- /**
276
- * 请求配置
277
- */
278
- request?: RequestOptions;
279
- /**
280
- * 响应数据(如果有)
281
- */
282
- response?: Response;
283
- /**
284
- * 错误上下文
285
- */
286
- context?: Record<string, unknown>;
287
- constructor(message: string, type: RequestErrorType, code: RequestErrorCode, options?: {
288
- status?: number;
289
- cause?: unknown;
290
- request?: RequestOptions;
291
- response?: Response;
292
- context?: Record<string, unknown>;
293
- });
294
- }
295
- /**
296
- * 请求上下文
297
- *
298
- * @template TRequest - 请求配置类型
299
- * @template TResponse - 响应类型
300
- * @template TMeta - 元数据类型
301
- */
302
- export interface RequestContext<TRequest = RequestOptions, TResponse = Response, TMeta = Record<string, unknown>> {
303
- /**
304
- * 请求配置
305
- */
306
- request: TRequest;
307
- /**
308
- * 响应(如果已收到)
309
- */
310
- response?: TResponse;
311
- /**
312
- * 错误(如果发生)
313
- */
314
- error?: RequestError;
315
- /**
316
- * 上下文元数据(由插件注入)
317
- */
318
- meta: TMeta;
319
- /**
320
- * 请求开始时间
321
- */
322
- startTime: number;
323
- /**
324
- * 请求结束时间(如果已完成)
325
- */
326
- endTime?: number;
327
- /**
328
- * 请求耗时(毫秒)
329
- */
330
- duration?: number;
331
- /**
332
- * 重试次数
333
- */
334
- retryCount: number;
335
- /**
336
- * 是否已取消
337
- */
338
- cancelled: boolean;
339
- /**
340
- * 中止控制器
341
- */
342
- abortController?: AbortController;
343
- }
344
- /**
345
- * 适配器能力声明
346
- */
347
- export interface AdapterCapabilities {
348
- /**
349
- * 是否支持取消请求
350
- */
351
- supportsAbort?: boolean;
352
- /**
353
- * 是否支持超时
354
- */
355
- supportsTimeout?: boolean;
356
- /**
357
- * 是否支持进度追踪
358
- */
359
- supportsProgress?: boolean;
360
- /**
361
- * 是否支持拦截器
362
- */
363
- supportsInterceptors?: boolean;
364
- }
365
- /**
366
- * 请求客户端配置
367
- */
368
- export interface RequestClientConfig {
369
- /**
370
- * 基础 URL
371
- */
372
- baseURL?: string;
373
- /**
374
- * 默认请求头
375
- */
376
- defaultHeaders?: RequestHeaders;
377
- /**
378
- * 默认超时时间(毫秒)
379
- */
380
- defaultTimeout?: number;
381
- /**
382
- * 默认适配器(按需加载)
383
- * 可以是适配器名称字符串,或返回适配器的工厂函数
384
- */
385
- defaultAdapter?: string | (() => Promise<import('./adapter/RequestAdapter').RequestAdapter>);
386
- /**
387
- * 插件列表
388
- */
389
- plugins?: Array<import('./plugin/RequestPlugin').RequestPlugin>;
390
- /**
391
- * 是否启用开发模式
392
- */
393
- devMode?: boolean;
394
- }
1
+ export * from '@vlian/request/types';
@@ -0,0 +1 @@
1
+ export * from '@vlian/request/utils';
package/dist/state.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @vlian/framework v1.2.25
2
+ * @vlian/framework v1.2.37
3
3
  * Secra Framework - 一个现代化的低代码框架
4
4
  * (c) 2026 Secra Framework Contributors
5
5
  * Licensed under Apache-2.0
@@ -1,159 +1,20 @@
1
- /**
2
- * CSRF 防护工具
3
- * 提供 CSRF Token 的生成、存储和验证功能
4
- */ /**
5
- * CSRF Token 存储接口
6
- */ "use strict";
1
+ "use strict";
7
2
  Object.defineProperty(exports, "__esModule", {
8
3
  value: true
9
4
  });
10
- function _export(target, all) {
11
- for(var name in all)Object.defineProperty(target, name, {
12
- enumerable: true,
13
- get: Object.getOwnPropertyDescriptor(all, name).get
14
- });
15
- }
16
- _export(exports, {
17
- get CSRFTokenManager () {
18
- return CSRFTokenManager;
19
- },
20
- get getCSRFManager () {
21
- return getCSRFManager;
22
- },
23
- get initCSRFManager () {
24
- return initCSRFManager;
25
- }
26
- });
27
- function _define_property(obj, key, value) {
28
- if (key in obj) {
29
- Object.defineProperty(obj, key, {
30
- value: value,
31
- enumerable: true,
32
- configurable: true,
33
- writable: true
34
- });
35
- } else {
36
- obj[key] = value;
37
- }
38
- return obj;
39
- }
40
- /**
41
- * 默认 Token 存储(使用 Cookie)
42
- */ let CookieTokenStorage = class CookieTokenStorage {
43
- getToken() {
44
- if (typeof document === 'undefined') {
45
- return null;
46
- }
47
- const cookies = document.cookie.split(';');
48
- for (const cookie of cookies){
49
- const [name, value] = cookie.trim().split('=');
50
- if (name === this.cookieName) {
51
- return decodeURIComponent(value);
52
- }
53
- }
54
- return null;
55
- }
56
- setToken(token) {
57
- if (typeof document === 'undefined') {
58
- return;
5
+ _export_star(require("@vlian/csrf"), exports);
6
+ function _export_star(from, to) {
7
+ Object.keys(from).forEach(function(k) {
8
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
+ Object.defineProperty(to, k, {
10
+ enumerable: true,
11
+ get: function() {
12
+ return from[k];
13
+ }
14
+ });
59
15
  }
60
- // 设置 Cookie(HttpOnly 由服务端设置,这里只设置客户端可访问的)
61
- document.cookie = `${this.cookieName}=${encodeURIComponent(token)}; path=/; SameSite=Strict`;
62
- }
63
- clearToken() {
64
- if (typeof document === 'undefined') {
65
- return;
66
- }
67
- document.cookie = `${this.cookieName}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
68
- }
69
- constructor(cookieName = 'csrf-token'){
70
- _define_property(this, "cookieName", void 0);
71
- this.cookieName = cookieName;
72
- }
73
- };
74
- /**
75
- * 内存 Token 存储(用于 SSR 或测试)
76
- */ let MemoryTokenStorage = class MemoryTokenStorage {
77
- getToken() {
78
- return this.token;
79
- }
80
- setToken(token) {
81
- this.token = token;
82
- }
83
- clearToken() {
84
- this.token = null;
85
- }
86
- constructor(){
87
- _define_property(this, "token", null);
88
- }
89
- };
90
- let CSRFTokenManager = class CSRFTokenManager {
91
- /**
92
- * 获取 CSRF Token
93
- */ async getToken() {
94
- if (this.getTokenFn) {
95
- try {
96
- return await Promise.resolve(this.getTokenFn());
97
- } catch (error) {
98
- console.warn('CSRF Token 获取失败:', error);
99
- return null;
100
- }
101
- }
102
- // 从存储中获取
103
- return this.storage.getToken();
104
- }
105
- /**
106
- * 设置 CSRF Token
107
- */ setToken(token) {
108
- this.storage.setToken(token);
109
- }
110
- /**
111
- * 验证 CSRF Token
112
- */ async validateToken(token) {
113
- if (this.validateTokenFn) {
114
- try {
115
- return await Promise.resolve(this.validateTokenFn(token));
116
- } catch (error) {
117
- console.warn('CSRF Token 验证失败:', error);
118
- return false;
119
- }
120
- }
121
- // 默认验证:检查存储中的 Token 是否匹配
122
- const storedToken = this.storage.getToken();
123
- return storedToken !== null && storedToken === token;
124
- }
125
- /**
126
- * 清除 CSRF Token
127
- */ clearToken() {
128
- this.storage.clearToken();
129
- }
130
- /**
131
- * 获取请求头名称
132
- */ getHeaderName() {
133
- return this.headerName;
134
- }
135
- constructor(config){
136
- _define_property(this, "storage", void 0);
137
- _define_property(this, "headerName", void 0);
138
- _define_property(this, "cookieName", void 0);
139
- _define_property(this, "getTokenFn", void 0);
140
- _define_property(this, "validateTokenFn", void 0);
141
- this.headerName = config?.headerName ?? 'X-CSRF-Token';
142
- this.cookieName = config?.cookieName ?? 'csrf-token';
143
- this.storage = config?.storage ?? (typeof document !== 'undefined' ? new CookieTokenStorage(this.cookieName) : new MemoryTokenStorage());
144
- this.getTokenFn = config?.getToken;
145
- this.validateTokenFn = config?.validateToken;
146
- }
147
- };
148
- /**
149
- * 全局 CSRF Token 管理器实例
150
- */ let globalCSRFManager = null;
151
- function initCSRFManager(config) {
152
- globalCSRFManager = new CSRFTokenManager(config);
153
- return globalCSRFManager;
154
- }
155
- function getCSRFManager() {
156
- return globalCSRFManager;
16
+ });
17
+ return from;
157
18
  }
158
19
 
159
20
  //# sourceMappingURL=csrf.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/csrf.ts"],"sourcesContent":["/**\n * CSRF 防护工具\n * 提供 CSRF Token 的生成、存储和验证功能\n */\n\n/**\n * CSRF Token 存储接口\n */\nexport interface CSRFTokenStorage {\n /**\n * 获取 Token\n */\n getToken(): string | null;\n /**\n * 设置 Token\n */\n setToken(token: string): void;\n /**\n * 清除 Token\n */\n clearToken(): void;\n}\n\n/**\n * 默认 Token 存储(使用 Cookie)\n */\nclass CookieTokenStorage implements CSRFTokenStorage {\n private cookieName: string;\n\n constructor(cookieName: string = 'csrf-token') {\n this.cookieName = cookieName;\n }\n\n getToken(): string | null {\n if (typeof document === 'undefined') {\n return null;\n }\n\n const cookies = document.cookie.split(';');\n for (const cookie of cookies) {\n const [name, value] = cookie.trim().split('=');\n if (name === this.cookieName) {\n return decodeURIComponent(value);\n }\n }\n return null;\n }\n\n setToken(token: string): void {\n if (typeof document === 'undefined') {\n return;\n }\n\n // 设置 Cookie(HttpOnly 由服务端设置,这里只设置客户端可访问的)\n document.cookie = `${this.cookieName}=${encodeURIComponent(token)}; path=/; SameSite=Strict`;\n }\n\n clearToken(): void {\n if (typeof document === 'undefined') {\n return;\n }\n\n document.cookie = `${this.cookieName}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;\n }\n}\n\n/**\n * 内存 Token 存储(用于 SSR 或测试)\n */\nclass MemoryTokenStorage implements CSRFTokenStorage {\n private token: string | null = null;\n\n getToken(): string | null {\n return this.token;\n }\n\n setToken(token: string): void {\n this.token = token;\n }\n\n clearToken(): void {\n this.token = null;\n }\n}\n\n/**\n * CSRF Token 管理器\n */\nexport class CSRFTokenManager {\n private storage: CSRFTokenStorage;\n private headerName: string;\n private cookieName: string;\n private getTokenFn?: () => string | Promise<string>;\n private validateTokenFn?: (token: string) => boolean | Promise<boolean>;\n\n constructor(config?: {\n storage?: CSRFTokenStorage;\n headerName?: string;\n cookieName?: string;\n getToken?: () => string | Promise<string>;\n validateToken?: (token: string) => boolean | Promise<boolean>;\n }) {\n this.headerName = config?.headerName ?? 'X-CSRF-Token';\n this.cookieName = config?.cookieName ?? 'csrf-token';\n this.storage = config?.storage ?? (typeof document !== 'undefined' \n ? new CookieTokenStorage(this.cookieName)\n : new MemoryTokenStorage());\n this.getTokenFn = config?.getToken;\n this.validateTokenFn = config?.validateToken;\n }\n\n /**\n * 获取 CSRF Token\n */\n async getToken(): Promise<string | null> {\n if (this.getTokenFn) {\n try {\n return await Promise.resolve(this.getTokenFn());\n } catch (error) {\n console.warn('CSRF Token 获取失败:', error);\n return null;\n }\n }\n\n // 从存储中获取\n return this.storage.getToken();\n }\n\n /**\n * 设置 CSRF Token\n */\n setToken(token: string): void {\n this.storage.setToken(token);\n }\n\n /**\n * 验证 CSRF Token\n */\n async validateToken(token: string): Promise<boolean> {\n if (this.validateTokenFn) {\n try {\n return await Promise.resolve(this.validateTokenFn(token));\n } catch (error) {\n console.warn('CSRF Token 验证失败:', error);\n return false;\n }\n }\n\n // 默认验证:检查存储中的 Token 是否匹配\n const storedToken = this.storage.getToken();\n return storedToken !== null && storedToken === token;\n }\n\n /**\n * 清除 CSRF Token\n */\n clearToken(): void {\n this.storage.clearToken();\n }\n\n /**\n * 获取请求头名称\n */\n getHeaderName(): string {\n return this.headerName;\n }\n}\n\n/**\n * 全局 CSRF Token 管理器实例\n */\nlet globalCSRFManager: CSRFTokenManager | null = null;\n\n/**\n * 初始化 CSRF Token 管理器\n */\nexport function initCSRFManager(config?: {\n storage?: CSRFTokenStorage;\n headerName?: string;\n cookieName?: string;\n getToken?: () => string | Promise<string>;\n validateToken?: (token: string) => boolean | Promise<boolean>;\n}): CSRFTokenManager {\n globalCSRFManager = new CSRFTokenManager(config);\n return globalCSRFManager;\n}\n\n/**\n * 获取全局 CSRF Token 管理器\n */\nexport function getCSRFManager(): CSRFTokenManager | null {\n return globalCSRFManager;\n}\n"],"names":["CSRFTokenManager","getCSRFManager","initCSRFManager","CookieTokenStorage","getToken","document","cookies","cookie","split","name","value","trim","cookieName","decodeURIComponent","setToken","token","encodeURIComponent","clearToken","MemoryTokenStorage","getTokenFn","Promise","resolve","error","console","warn","storage","validateToken","validateTokenFn","storedToken","getHeaderName","headerName","config","globalCSRFManager"],"mappings":"AAAA;;;CAGC,GAED;;CAEC;;;;;;;;;;;QAiFYA;eAAAA;;QAsGGC;eAAAA;;QAdAC;eAAAA;;;;;;;;;;;;;;;;AAzJhB;;CAEC,GACD,IAAA,AAAMC,qBAAN,MAAMA;IAOJC,WAA0B;QACxB,IAAI,OAAOC,aAAa,aAAa;YACnC,OAAO;QACT;QAEA,MAAMC,UAAUD,SAASE,MAAM,CAACC,KAAK,CAAC;QACtC,KAAK,MAAMD,UAAUD,QAAS;YAC5B,MAAM,CAACG,MAAMC,MAAM,GAAGH,OAAOI,IAAI,GAAGH,KAAK,CAAC;YAC1C,IAAIC,SAAS,IAAI,CAACG,UAAU,EAAE;gBAC5B,OAAOC,mBAAmBH;YAC5B;QACF;QACA,OAAO;IACT;IAEAI,SAASC,KAAa,EAAQ;QAC5B,IAAI,OAAOV,aAAa,aAAa;YACnC;QACF;QAEA,0CAA0C;QAC1CA,SAASE,MAAM,GAAG,GAAG,IAAI,CAACK,UAAU,CAAC,CAAC,EAAEI,mBAAmBD,OAAO,yBAAyB,CAAC;IAC9F;IAEAE,aAAmB;QACjB,IAAI,OAAOZ,aAAa,aAAa;YACnC;QACF;QAEAA,SAASE,MAAM,GAAG,GAAG,IAAI,CAACK,UAAU,CAAC,gDAAgD,CAAC;IACxF;IAlCA,YAAYA,aAAqB,YAAY,CAAE;QAF/C,uBAAQA,cAAR,KAAA;QAGE,IAAI,CAACA,UAAU,GAAGA;IACpB;AAiCF;AAEA;;CAEC,GACD,IAAA,AAAMM,qBAAN,MAAMA;IAGJd,WAA0B;QACxB,OAAO,IAAI,CAACW,KAAK;IACnB;IAEAD,SAASC,KAAa,EAAQ;QAC5B,IAAI,CAACA,KAAK,GAAGA;IACf;IAEAE,aAAmB;QACjB,IAAI,CAACF,KAAK,GAAG;IACf;;QAZA,uBAAQA,SAAuB;;AAajC;AAKO,IAAA,AAAMf,mBAAN,MAAMA;IAuBX;;GAEC,GACD,MAAMI,WAAmC;QACvC,IAAI,IAAI,CAACe,UAAU,EAAE;YACnB,IAAI;gBACF,OAAO,MAAMC,QAAQC,OAAO,CAAC,IAAI,CAACF,UAAU;YAC9C,EAAE,OAAOG,OAAO;gBACdC,QAAQC,IAAI,CAAC,oBAAoBF;gBACjC,OAAO;YACT;QACF;QAEA,SAAS;QACT,OAAO,IAAI,CAACG,OAAO,CAACrB,QAAQ;IAC9B;IAEA;;GAEC,GACDU,SAASC,KAAa,EAAQ;QAC5B,IAAI,CAACU,OAAO,CAACX,QAAQ,CAACC;IACxB;IAEA;;GAEC,GACD,MAAMW,cAAcX,KAAa,EAAoB;QACnD,IAAI,IAAI,CAACY,eAAe,EAAE;YACxB,IAAI;gBACF,OAAO,MAAMP,QAAQC,OAAO,CAAC,IAAI,CAACM,eAAe,CAACZ;YACpD,EAAE,OAAOO,OAAO;gBACdC,QAAQC,IAAI,CAAC,oBAAoBF;gBACjC,OAAO;YACT;QACF;QAEA,yBAAyB;QACzB,MAAMM,cAAc,IAAI,CAACH,OAAO,CAACrB,QAAQ;QACzC,OAAOwB,gBAAgB,QAAQA,gBAAgBb;IACjD;IAEA;;GAEC,GACDE,aAAmB;QACjB,IAAI,CAACQ,OAAO,CAACR,UAAU;IACzB;IAEA;;GAEC,GACDY,gBAAwB;QACtB,OAAO,IAAI,CAACC,UAAU;IACxB;IAtEA,YAAYC,MAMX,CAAE;QAZH,uBAAQN,WAAR,KAAA;QACA,uBAAQK,cAAR,KAAA;QACA,uBAAQlB,cAAR,KAAA;QACA,uBAAQO,cAAR,KAAA;QACA,uBAAQQ,mBAAR,KAAA;QASE,IAAI,CAACG,UAAU,GAAGC,QAAQD,cAAc;QACxC,IAAI,CAAClB,UAAU,GAAGmB,QAAQnB,cAAc;QACxC,IAAI,CAACa,OAAO,GAAGM,QAAQN,WAAY,CAAA,OAAOpB,aAAa,cACnD,IAAIF,mBAAmB,IAAI,CAACS,UAAU,IACtC,IAAIM,oBAAmB;QAC3B,IAAI,CAACC,UAAU,GAAGY,QAAQ3B;QAC1B,IAAI,CAACuB,eAAe,GAAGI,QAAQL;IACjC;AAyDF;AAEA;;CAEC,GACD,IAAIM,oBAA6C;AAK1C,SAAS9B,gBAAgB6B,MAM/B;IACCC,oBAAoB,IAAIhC,iBAAiB+B;IACzC,OAAOC;AACT;AAKO,SAAS/B;IACd,OAAO+B;AACT"}
1
+ {"version":3,"sources":["../../src/utils/csrf.ts"],"sourcesContent":["export * from '@vlian/csrf';\n"],"names":[],"mappings":";;;;qBAAc"}
@@ -1,72 +1 @@
1
- /**
2
- * CSRF 防护工具
3
- * 提供 CSRF Token 的生成、存储和验证功能
4
- */
5
- /**
6
- * CSRF Token 存储接口
7
- */
8
- export interface CSRFTokenStorage {
9
- /**
10
- * 获取 Token
11
- */
12
- getToken(): string | null;
13
- /**
14
- * 设置 Token
15
- */
16
- setToken(token: string): void;
17
- /**
18
- * 清除 Token
19
- */
20
- clearToken(): void;
21
- }
22
- /**
23
- * CSRF Token 管理器
24
- */
25
- export declare class CSRFTokenManager {
26
- private storage;
27
- private headerName;
28
- private cookieName;
29
- private getTokenFn?;
30
- private validateTokenFn?;
31
- constructor(config?: {
32
- storage?: CSRFTokenStorage;
33
- headerName?: string;
34
- cookieName?: string;
35
- getToken?: () => string | Promise<string>;
36
- validateToken?: (token: string) => boolean | Promise<boolean>;
37
- });
38
- /**
39
- * 获取 CSRF Token
40
- */
41
- getToken(): Promise<string | null>;
42
- /**
43
- * 设置 CSRF Token
44
- */
45
- setToken(token: string): void;
46
- /**
47
- * 验证 CSRF Token
48
- */
49
- validateToken(token: string): Promise<boolean>;
50
- /**
51
- * 清除 CSRF Token
52
- */
53
- clearToken(): void;
54
- /**
55
- * 获取请求头名称
56
- */
57
- getHeaderName(): string;
58
- }
59
- /**
60
- * 初始化 CSRF Token 管理器
61
- */
62
- export declare function initCSRFManager(config?: {
63
- storage?: CSRFTokenStorage;
64
- headerName?: string;
65
- cookieName?: string;
66
- getToken?: () => string | Promise<string>;
67
- validateToken?: (token: string) => boolean | Promise<boolean>;
68
- }): CSRFTokenManager;
69
- /**
70
- * 获取全局 CSRF Token 管理器
71
- */
72
- export declare function getCSRFManager(): CSRFTokenManager | null;
1
+ export * from '@vlian/csrf';