@vlian/framework 1.2.25 → 1.2.37

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 (213) hide show
  1. package/dist/analytics.umd.js +208 -2395
  2. package/dist/analytics.umd.js.map +1 -1
  3. package/dist/core/error/ErrorHandler.cjs.map +1 -1
  4. package/dist/core/error/ErrorHandler.d.ts +1 -1
  5. package/dist/core/error/ErrorHandler.js.map +1 -1
  6. package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -1
  7. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
  8. package/dist/core/router/monitoring/RouterMonitoring.js +1 -1
  9. package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
  10. package/dist/core/router/utils/adapters/react-router/transform.cjs +4 -0
  11. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
  12. package/dist/core/router/utils/adapters/react-router/transform.js +4 -0
  13. package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
  14. package/dist/core/startup/initializeServices.cjs +1 -1
  15. package/dist/core/startup/initializeServices.cjs.map +1 -1
  16. package/dist/core/startup/initializeServices.d.ts +1 -1
  17. package/dist/core/startup/initializeServices.js +1 -1
  18. package/dist/core/startup/initializeServices.js.map +1 -1
  19. package/dist/core/startup/performanceTracker.cjs.map +1 -1
  20. package/dist/core/startup/performanceTracker.d.ts +1 -1
  21. package/dist/core/startup/performanceTracker.js.map +1 -1
  22. package/dist/core/startup/renderApp.cjs +1 -1
  23. package/dist/core/startup/renderApp.cjs.map +1 -1
  24. package/dist/core/startup/renderApp.d.ts +1 -1
  25. package/dist/core/startup/renderApp.js +1 -1
  26. package/dist/core/startup/renderApp.js.map +1 -1
  27. package/dist/core/startup/startApp.cjs +2 -2
  28. package/dist/core/startup/startApp.cjs.map +1 -1
  29. package/dist/core/startup/startApp.js +3 -3
  30. package/dist/core/startup/startApp.js.map +1 -1
  31. package/dist/core/types.d.ts +1 -1
  32. package/dist/core/types.js.map +1 -1
  33. package/dist/index.cjs +15 -2
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.ts +6 -4
  36. package/dist/index.js +5 -4
  37. package/dist/index.js.map +1 -1
  38. package/dist/index.umd.js +11648 -32616
  39. package/dist/index.umd.js.map +1 -1
  40. package/dist/kernel/constants.cjs +67 -0
  41. package/dist/kernel/constants.cjs.map +1 -0
  42. package/dist/kernel/constants.d.ts +5 -0
  43. package/dist/kernel/constants.js +43 -0
  44. package/dist/kernel/constants.js.map +1 -0
  45. package/dist/kernel/index.cjs +40 -0
  46. package/dist/kernel/index.cjs.map +1 -0
  47. package/dist/kernel/index.d.ts +3 -0
  48. package/dist/kernel/index.js +4 -0
  49. package/dist/kernel/index.js.map +1 -0
  50. package/dist/kernel/kernel.cjs +296 -0
  51. package/dist/kernel/kernel.cjs.map +1 -0
  52. package/dist/kernel/kernel.d.ts +40 -0
  53. package/dist/kernel/kernel.js +272 -0
  54. package/dist/kernel/kernel.js.map +1 -0
  55. package/dist/kernel/manager/cacheManager.cjs +46 -0
  56. package/dist/kernel/manager/cacheManager.cjs.map +1 -0
  57. package/dist/kernel/manager/cacheManager.d.ts +6 -0
  58. package/dist/kernel/manager/cacheManager.js +36 -0
  59. package/dist/kernel/manager/cacheManager.js.map +1 -0
  60. package/dist/kernel/manager/i18nManager.cjs +68 -0
  61. package/dist/kernel/manager/i18nManager.cjs.map +1 -0
  62. package/dist/kernel/manager/i18nManager.d.ts +8 -0
  63. package/dist/kernel/manager/i18nManager.js +58 -0
  64. package/dist/kernel/manager/i18nManager.js.map +1 -0
  65. package/dist/kernel/manager/index.cjs +30 -0
  66. package/dist/kernel/manager/index.cjs.map +1 -0
  67. package/dist/kernel/manager/index.d.ts +4 -0
  68. package/dist/kernel/manager/index.js +6 -0
  69. package/dist/kernel/manager/index.js.map +1 -0
  70. package/dist/kernel/manager/loggerManager.cjs +70 -0
  71. package/dist/kernel/manager/loggerManager.cjs.map +1 -0
  72. package/dist/kernel/manager/loggerManager.d.ts +14 -0
  73. package/dist/kernel/manager/loggerManager.js +60 -0
  74. package/dist/kernel/manager/loggerManager.js.map +1 -0
  75. package/dist/kernel/manager/persistence.cjs +93 -0
  76. package/dist/kernel/manager/persistence.cjs.map +1 -0
  77. package/dist/kernel/manager/persistence.d.ts +3 -0
  78. package/dist/kernel/manager/persistence.js +75 -0
  79. package/dist/kernel/manager/persistence.js.map +1 -0
  80. package/dist/kernel/manager/themeManager.cjs +85 -0
  81. package/dist/kernel/manager/themeManager.cjs.map +1 -0
  82. package/dist/kernel/manager/themeManager.d.ts +9 -0
  83. package/dist/kernel/manager/themeManager.js +75 -0
  84. package/dist/kernel/manager/themeManager.js.map +1 -0
  85. package/dist/kernel/types.cjs +6 -0
  86. package/dist/kernel/types.cjs.map +1 -0
  87. package/dist/kernel/types.d.ts +72 -0
  88. package/dist/kernel/types.js +3 -0
  89. package/dist/kernel/types.js.map +1 -0
  90. package/dist/request/adapter.d.ts +1 -0
  91. package/dist/request/core.d.ts +1 -0
  92. package/dist/request/index.d.ts +1 -42
  93. package/dist/request/plugin/csrfPlugin.d.ts +2 -2
  94. package/dist/request/plugin/queue.d.ts +2 -2
  95. package/dist/request/plugin.d.ts +1 -0
  96. package/dist/request/runtime.d.ts +1 -0
  97. package/dist/request/types.d.ts +1 -394
  98. package/dist/request/utils.d.ts +1 -0
  99. package/dist/state.umd.js +1 -1
  100. package/dist/utils/csrf.cjs +13 -152
  101. package/dist/utils/csrf.cjs.map +1 -1
  102. package/dist/utils/csrf.d.ts +1 -72
  103. package/dist/utils/csrf.js +1 -142
  104. package/dist/utils/csrf.js.map +1 -1
  105. package/dist/utils/errors/ErrorCodes.cjs +6 -76
  106. package/dist/utils/errors/ErrorCodes.cjs.map +1 -1
  107. package/dist/utils/errors/ErrorCodes.d.ts +1 -45
  108. package/dist/utils/errors/ErrorCodes.js +1 -84
  109. package/dist/utils/errors/ErrorCodes.js.map +1 -1
  110. package/dist/utils/errors.cjs +15 -344
  111. package/dist/utils/errors.cjs.map +1 -1
  112. package/dist/utils/errors.d.ts +1 -183
  113. package/dist/utils/errors.js +1 -352
  114. package/dist/utils/errors.js.map +1 -1
  115. package/dist/utils/logger.cjs +5 -374
  116. package/dist/utils/logger.cjs.map +1 -1
  117. package/dist/utils/logger.d.ts +2 -189
  118. package/dist/utils/logger.js +1 -379
  119. package/dist/utils/logger.js.map +1 -1
  120. package/dist/utils/logger.types.cjs +3 -12
  121. package/dist/utils/logger.types.cjs.map +1 -1
  122. package/dist/utils/logger.types.d.ts +2 -57
  123. package/dist/utils/logger.types.js +1 -10
  124. package/dist/utils/logger.types.js.map +1 -1
  125. package/dist/utils/monitoring.cjs +11 -302
  126. package/dist/utils/monitoring.cjs.map +1 -1
  127. package/dist/utils/monitoring.d.ts +1 -163
  128. package/dist/utils/monitoring.js +1 -294
  129. package/dist/utils/monitoring.js.map +1 -1
  130. package/dist/utils/performance.cjs +5 -352
  131. package/dist/utils/performance.cjs.map +1 -1
  132. package/dist/utils/performance.d.ts +2 -246
  133. package/dist/utils/performance.js +1 -354
  134. package/dist/utils/performance.js.map +1 -1
  135. package/dist/utils/resourceLoader.cjs +5 -303
  136. package/dist/utils/resourceLoader.cjs.map +1 -1
  137. package/dist/utils/resourceLoader.d.ts +2 -130
  138. package/dist/utils/resourceLoader.js +1 -305
  139. package/dist/utils/resourceLoader.js.map +1 -1
  140. package/dist/utils/runtimeSecurity.cjs +2 -140
  141. package/dist/utils/runtimeSecurity.cjs.map +1 -1
  142. package/dist/utils/runtimeSecurity.d.ts +2 -104
  143. package/dist/utils/runtimeSecurity.js +1 -141
  144. package/dist/utils/runtimeSecurity.js.map +1 -1
  145. package/dist/utils/security.cjs +3 -314
  146. package/dist/utils/security.cjs.map +1 -1
  147. package/dist/utils/security.d.ts +2 -80
  148. package/dist/utils/security.js +1 -311
  149. package/dist/utils/security.js.map +1 -1
  150. package/dist/utils/traceId.cjs +10 -111
  151. package/dist/utils/traceId.cjs.map +1 -1
  152. package/dist/utils/traceId.d.ts +1 -63
  153. package/dist/utils/traceId.js +1 -116
  154. package/dist/utils/traceId.js.map +1 -1
  155. package/dist/utils/validation.cjs +3 -173
  156. package/dist/utils/validation.cjs.map +1 -1
  157. package/dist/utils/validation.d.ts +2 -110
  158. package/dist/utils/validation.js +1 -175
  159. package/dist/utils/validation.js.map +1 -1
  160. package/package.json +15 -24
  161. package/dist/lazy/index.cjs +0 -104
  162. package/dist/lazy/index.cjs.map +0 -1
  163. package/dist/lazy/index.d.ts +0 -19
  164. package/dist/lazy/index.js +0 -24
  165. package/dist/lazy/index.js.map +0 -1
  166. package/dist/request/adapter/RequestAdapter.cjs +0 -78
  167. package/dist/request/adapter/RequestAdapter.cjs.map +0 -1
  168. package/dist/request/adapter/axiosAdapter.cjs +0 -164
  169. package/dist/request/adapter/axiosAdapter.cjs.map +0 -1
  170. package/dist/request/adapter/fetchAdapter.cjs +0 -134
  171. package/dist/request/adapter/fetchAdapter.cjs.map +0 -1
  172. package/dist/request/adapter/index.cjs +0 -80
  173. package/dist/request/adapter/index.cjs.map +0 -1
  174. package/dist/request/adapter/kyAdapter.cjs +0 -191
  175. package/dist/request/adapter/kyAdapter.cjs.map +0 -1
  176. package/dist/request/adapter/undiciAdapter.cjs +0 -213
  177. package/dist/request/adapter/undiciAdapter.cjs.map +0 -1
  178. package/dist/request/core/RequestClient.cjs +0 -558
  179. package/dist/request/core/RequestClient.cjs.map +0 -1
  180. package/dist/request/core/index.cjs +0 -15
  181. package/dist/request/core/index.cjs.map +0 -1
  182. package/dist/request/index.cjs +0 -149
  183. package/dist/request/index.cjs.map +0 -1
  184. package/dist/request/plugin/RequestPlugin.cjs +0 -218
  185. package/dist/request/plugin/RequestPlugin.cjs.map +0 -1
  186. package/dist/request/plugin/cache.cjs +0 -269
  187. package/dist/request/plugin/cache.cjs.map +0 -1
  188. package/dist/request/plugin/csrfPlugin.cjs +0 -40
  189. package/dist/request/plugin/csrfPlugin.cjs.map +0 -1
  190. package/dist/request/plugin/index.cjs +0 -53
  191. package/dist/request/plugin/index.cjs.map +0 -1
  192. package/dist/request/plugin/monitoring.cjs +0 -216
  193. package/dist/request/plugin/monitoring.cjs.map +0 -1
  194. package/dist/request/plugin/queue.cjs +0 -140
  195. package/dist/request/plugin/queue.cjs.map +0 -1
  196. package/dist/request/plugin/retry.cjs +0 -98
  197. package/dist/request/plugin/retry.cjs.map +0 -1
  198. package/dist/request/plugin/validation.cjs +0 -121
  199. package/dist/request/plugin/validation.cjs.map +0 -1
  200. package/dist/request/runtime/RequestContext.cjs +0 -77
  201. package/dist/request/runtime/RequestContext.cjs.map +0 -1
  202. package/dist/request/runtime/index.cjs +0 -32
  203. package/dist/request/runtime/index.cjs.map +0 -1
  204. package/dist/request/types.cjs +0 -112
  205. package/dist/request/types.cjs.map +0 -1
  206. package/dist/request/utils/RequestQueueManager.cjs +0 -168
  207. package/dist/request/utils/RequestQueueManager.cjs.map +0 -1
  208. package/dist/request/utils/dependencyCheck.cjs +0 -237
  209. package/dist/request/utils/dependencyCheck.cjs.map +0 -1
  210. package/dist/request/utils/index.cjs +0 -30
  211. package/dist/request/utils/index.cjs.map +0 -1
  212. package/dist/request.umd.js +0 -5392
  213. package/dist/request.umd.js.map +0 -1
@@ -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';
@@ -1,144 +1,3 @@
1
- /**
2
- * CSRF 防护工具
3
- * 提供 CSRF Token 的生成、存储和验证功能
4
- */ /**
5
- * CSRF Token 存储接口
6
- */ function _define_property(obj, key, value) {
7
- if (key in obj) {
8
- Object.defineProperty(obj, key, {
9
- value: value,
10
- enumerable: true,
11
- configurable: true,
12
- writable: true
13
- });
14
- } else {
15
- obj[key] = value;
16
- }
17
- return obj;
18
- }
19
- /**
20
- * 默认 Token 存储(使用 Cookie)
21
- */ let CookieTokenStorage = class CookieTokenStorage {
22
- getToken() {
23
- if (typeof document === 'undefined') {
24
- return null;
25
- }
26
- const cookies = document.cookie.split(';');
27
- for (const cookie of cookies){
28
- const [name, value] = cookie.trim().split('=');
29
- if (name === this.cookieName) {
30
- return decodeURIComponent(value);
31
- }
32
- }
33
- return null;
34
- }
35
- setToken(token) {
36
- if (typeof document === 'undefined') {
37
- return;
38
- }
39
- // 设置 Cookie(HttpOnly 由服务端设置,这里只设置客户端可访问的)
40
- document.cookie = `${this.cookieName}=${encodeURIComponent(token)}; path=/; SameSite=Strict`;
41
- }
42
- clearToken() {
43
- if (typeof document === 'undefined') {
44
- return;
45
- }
46
- document.cookie = `${this.cookieName}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
47
- }
48
- constructor(cookieName = 'csrf-token'){
49
- _define_property(this, "cookieName", void 0);
50
- this.cookieName = cookieName;
51
- }
52
- };
53
- /**
54
- * 内存 Token 存储(用于 SSR 或测试)
55
- */ let MemoryTokenStorage = class MemoryTokenStorage {
56
- getToken() {
57
- return this.token;
58
- }
59
- setToken(token) {
60
- this.token = token;
61
- }
62
- clearToken() {
63
- this.token = null;
64
- }
65
- constructor(){
66
- _define_property(this, "token", null);
67
- }
68
- };
69
- /**
70
- * CSRF Token 管理器
71
- */ export class CSRFTokenManager {
72
- /**
73
- * 获取 CSRF Token
74
- */ async getToken() {
75
- if (this.getTokenFn) {
76
- try {
77
- return await Promise.resolve(this.getTokenFn());
78
- } catch (error) {
79
- console.warn('CSRF Token 获取失败:', error);
80
- return null;
81
- }
82
- }
83
- // 从存储中获取
84
- return this.storage.getToken();
85
- }
86
- /**
87
- * 设置 CSRF Token
88
- */ setToken(token) {
89
- this.storage.setToken(token);
90
- }
91
- /**
92
- * 验证 CSRF Token
93
- */ async validateToken(token) {
94
- if (this.validateTokenFn) {
95
- try {
96
- return await Promise.resolve(this.validateTokenFn(token));
97
- } catch (error) {
98
- console.warn('CSRF Token 验证失败:', error);
99
- return false;
100
- }
101
- }
102
- // 默认验证:检查存储中的 Token 是否匹配
103
- const storedToken = this.storage.getToken();
104
- return storedToken !== null && storedToken === token;
105
- }
106
- /**
107
- * 清除 CSRF Token
108
- */ clearToken() {
109
- this.storage.clearToken();
110
- }
111
- /**
112
- * 获取请求头名称
113
- */ getHeaderName() {
114
- return this.headerName;
115
- }
116
- constructor(config){
117
- _define_property(this, "storage", void 0);
118
- _define_property(this, "headerName", void 0);
119
- _define_property(this, "cookieName", void 0);
120
- _define_property(this, "getTokenFn", void 0);
121
- _define_property(this, "validateTokenFn", void 0);
122
- this.headerName = config?.headerName ?? 'X-CSRF-Token';
123
- this.cookieName = config?.cookieName ?? 'csrf-token';
124
- this.storage = config?.storage ?? (typeof document !== 'undefined' ? new CookieTokenStorage(this.cookieName) : new MemoryTokenStorage());
125
- this.getTokenFn = config?.getToken;
126
- this.validateTokenFn = config?.validateToken;
127
- }
128
- }
129
- /**
130
- * 全局 CSRF Token 管理器实例
131
- */ let globalCSRFManager = null;
132
- /**
133
- * 初始化 CSRF Token 管理器
134
- */ export function initCSRFManager(config) {
135
- globalCSRFManager = new CSRFTokenManager(config);
136
- return globalCSRFManager;
137
- }
138
- /**
139
- * 获取全局 CSRF Token 管理器
140
- */ export function getCSRFManager() {
141
- return globalCSRFManager;
142
- }
1
+ export * from "@vlian/csrf";
143
2
 
144
3
  //# 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":["CookieTokenStorage","getToken","document","cookies","cookie","split","name","value","trim","cookieName","decodeURIComponent","setToken","token","encodeURIComponent","clearToken","MemoryTokenStorage","CSRFTokenManager","getTokenFn","Promise","resolve","error","console","warn","storage","validateToken","validateTokenFn","storedToken","getHeaderName","headerName","config","globalCSRFManager","initCSRFManager","getCSRFManager"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/csrf.ts"],"sourcesContent":["export * from '@vlian/csrf';\n"],"names":[],"mappings":"AAAA,cAAc,cAAc"}
@@ -1,9 +1,4 @@
1
- /**
2
- * 错误码定义
3
- * 提供统一的错误码和错误信息映射
4
- */ /**
5
- * 错误码枚举
6
- */ "use strict";
1
+ "use strict";
7
2
  Object.defineProperty(exports, "__esModule", {
8
3
  value: true
9
4
  });
@@ -15,83 +10,18 @@ function _export(target, all) {
15
10
  }
16
11
  _export(exports, {
17
12
  get ErrorCode () {
18
- return ErrorCode;
13
+ return _utils.ErrorCode;
19
14
  },
20
15
  get ErrorMessages () {
21
- return ErrorMessages;
16
+ return _utils.ErrorMessages;
22
17
  },
23
18
  get getErrorMessage () {
24
- return getErrorMessage;
19
+ return _utils.getErrorMessage;
25
20
  },
26
21
  get getUserFriendlyMessage () {
27
- return getUserFriendlyMessage;
22
+ return _utils.getUserFriendlyMessage;
28
23
  }
29
24
  });
30
- var ErrorCode = /*#__PURE__*/ function(ErrorCode) {
31
- // 框架启动错误 (1000-1999)
32
- ErrorCode[ErrorCode["CONTAINER_NOT_FOUND"] = 1001] = "CONTAINER_NOT_FOUND";
33
- ErrorCode[ErrorCode["STARTUP_FAILED"] = 1002] = "STARTUP_FAILED";
34
- ErrorCode[ErrorCode["INITIALIZATION_FAILED"] = 1003] = "INITIALIZATION_FAILED";
35
- // 配置错误 (2000-2999)
36
- ErrorCode[ErrorCode["CONFIG_LOAD_FAILED"] = 2001] = "CONFIG_LOAD_FAILED";
37
- ErrorCode[ErrorCode["CONFIG_VALIDATION_FAILED"] = 2002] = "CONFIG_VALIDATION_FAILED";
38
- ErrorCode[ErrorCode["CONFIG_FILE_NOT_FOUND"] = 2003] = "CONFIG_FILE_NOT_FOUND";
39
- // 插件错误 (3000-3999)
40
- ErrorCode[ErrorCode["PLUGIN_REGISTER_FAILED"] = 3001] = "PLUGIN_REGISTER_FAILED";
41
- ErrorCode[ErrorCode["PLUGIN_EXECUTION_FAILED"] = 3002] = "PLUGIN_EXECUTION_FAILED";
42
- ErrorCode[ErrorCode["PLUGIN_PERMISSION_DENIED"] = 3003] = "PLUGIN_PERMISSION_DENIED";
43
- // 状态管理错误 (4000-4999)
44
- ErrorCode[ErrorCode["STATE_MANAGER_NOT_INITIALIZED"] = 4001] = "STATE_MANAGER_NOT_INITIALIZED";
45
- ErrorCode[ErrorCode["STATE_INSTANCE_NOT_FOUND"] = 4002] = "STATE_INSTANCE_NOT_FOUND";
46
- ErrorCode[ErrorCode["STATE_SCOPE_NOT_FOUND"] = 4003] = "STATE_SCOPE_NOT_FOUND";
47
- // 存储错误 (5000-5999)
48
- ErrorCode[ErrorCode["STORAGE_INITIALIZATION_FAILED"] = 5001] = "STORAGE_INITIALIZATION_FAILED";
49
- ErrorCode[ErrorCode["STORAGE_OPERATION_FAILED"] = 5002] = "STORAGE_OPERATION_FAILED";
50
- // 网络错误 (6000-6999)
51
- ErrorCode[ErrorCode["NETWORK_ERROR"] = 6001] = "NETWORK_ERROR";
52
- ErrorCode[ErrorCode["NETWORK_TIMEOUT"] = 6002] = "NETWORK_TIMEOUT";
53
- // 未知错误 (9999)
54
- ErrorCode[ErrorCode["UNKNOWN_ERROR"] = 9999] = "UNKNOWN_ERROR";
55
- return ErrorCode;
56
- }({});
57
- const ErrorMessages = {
58
- [1001]: '未找到挂载容器,请确保页面中存在 id="root" 的元素或通过 container 选项指定容器',
59
- [1002]: '框架启动失败',
60
- [1003]: '初始化失败',
61
- [2001]: '配置加载失败',
62
- [2002]: '配置验证失败',
63
- [2003]: '配置文件未找到',
64
- [3001]: '插件注册失败',
65
- [3002]: '插件执行失败',
66
- [3003]: '插件权限不足',
67
- [4001]: '状态管理器未初始化',
68
- [4002]: '状态实例未找到',
69
- [4003]: '状态作用域未找到',
70
- [5001]: '存储初始化失败',
71
- [5002]: '存储操作失败',
72
- [6001]: '网络错误',
73
- [6002]: '网络请求超时',
74
- [9999]: '未知错误'
75
- };
76
- function getErrorMessage(code) {
77
- return ErrorMessages[code] || ErrorMessages[9999];
78
- }
79
- function getUserFriendlyMessage(code, details) {
80
- const baseMessage = getErrorMessage(code);
81
- if (details) {
82
- return `${baseMessage}: ${details}`;
83
- }
84
- // 根据错误码提供修复建议
85
- const suggestions = {
86
- [1001]: '请检查HTML中是否存在id="root"的元素,或通过container选项指定容器',
87
- [2002]: '请检查配置文件格式是否正确,参考文档进行配置',
88
- [3003]: '请检查插件权限配置,确保插件有足够的权限'
89
- };
90
- const suggestion = suggestions[code];
91
- if (suggestion) {
92
- return `${baseMessage}\n建议: ${suggestion}`;
93
- }
94
- return baseMessage;
95
- }
25
+ const _utils = require("@vlian/utils");
96
26
 
97
27
  //# sourceMappingURL=ErrorCodes.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/errors/ErrorCodes.ts"],"sourcesContent":["/**\n * 错误码定义\n * 提供统一的错误码和错误信息映射\n */\n\n/**\n * 错误码枚举\n */\nexport enum ErrorCode {\n // 框架启动错误 (1000-1999)\n CONTAINER_NOT_FOUND = 1001,\n STARTUP_FAILED = 1002,\n INITIALIZATION_FAILED = 1003,\n\n // 配置错误 (2000-2999)\n CONFIG_LOAD_FAILED = 2001,\n CONFIG_VALIDATION_FAILED = 2002,\n CONFIG_FILE_NOT_FOUND = 2003,\n\n // 插件错误 (3000-3999)\n PLUGIN_REGISTER_FAILED = 3001,\n PLUGIN_EXECUTION_FAILED = 3002,\n PLUGIN_PERMISSION_DENIED = 3003,\n\n // 状态管理错误 (4000-4999)\n STATE_MANAGER_NOT_INITIALIZED = 4001,\n STATE_INSTANCE_NOT_FOUND = 4002,\n STATE_SCOPE_NOT_FOUND = 4003,\n\n // 存储错误 (5000-5999)\n STORAGE_INITIALIZATION_FAILED = 5001,\n STORAGE_OPERATION_FAILED = 5002,\n\n // 网络错误 (6000-6999)\n NETWORK_ERROR = 6001,\n NETWORK_TIMEOUT = 6002,\n\n // 未知错误 (9999)\n UNKNOWN_ERROR = 9999,\n}\n\n/**\n * 错误信息映射\n */\nexport const ErrorMessages: Record<ErrorCode, string> = {\n [ErrorCode.CONTAINER_NOT_FOUND]: '未找到挂载容器,请确保页面中存在 id=\"root\" 的元素或通过 container 选项指定容器',\n [ErrorCode.STARTUP_FAILED]: '框架启动失败',\n [ErrorCode.INITIALIZATION_FAILED]: '初始化失败',\n\n [ErrorCode.CONFIG_LOAD_FAILED]: '配置加载失败',\n [ErrorCode.CONFIG_VALIDATION_FAILED]: '配置验证失败',\n [ErrorCode.CONFIG_FILE_NOT_FOUND]: '配置文件未找到',\n\n [ErrorCode.PLUGIN_REGISTER_FAILED]: '插件注册失败',\n [ErrorCode.PLUGIN_EXECUTION_FAILED]: '插件执行失败',\n [ErrorCode.PLUGIN_PERMISSION_DENIED]: '插件权限不足',\n\n [ErrorCode.STATE_MANAGER_NOT_INITIALIZED]: '状态管理器未初始化',\n [ErrorCode.STATE_INSTANCE_NOT_FOUND]: '状态实例未找到',\n [ErrorCode.STATE_SCOPE_NOT_FOUND]: '状态作用域未找到',\n\n [ErrorCode.STORAGE_INITIALIZATION_FAILED]: '存储初始化失败',\n [ErrorCode.STORAGE_OPERATION_FAILED]: '存储操作失败',\n\n [ErrorCode.NETWORK_ERROR]: '网络错误',\n [ErrorCode.NETWORK_TIMEOUT]: '网络请求超时',\n\n [ErrorCode.UNKNOWN_ERROR]: '未知错误',\n};\n\n/**\n * 获取错误信息\n * \n * @param code - 错误码\n * @returns 错误信息\n */\nexport function getErrorMessage(code: ErrorCode): string {\n return ErrorMessages[code] || ErrorMessages[ErrorCode.UNKNOWN_ERROR];\n}\n\n/**\n * 获取用户友好的错误提示\n * \n * @param code - 错误码\n * @param details - 详细信息\n * @returns 用户友好的错误提示\n */\nexport function getUserFriendlyMessage(code: ErrorCode, details?: string): string {\n const baseMessage = getErrorMessage(code);\n \n if (details) {\n return `${baseMessage}: ${details}`;\n }\n\n // 根据错误码提供修复建议\n const suggestions: Partial<Record<ErrorCode, string>> = {\n [ErrorCode.CONTAINER_NOT_FOUND]: '请检查HTML中是否存在id=\"root\"的元素,或通过container选项指定容器',\n [ErrorCode.CONFIG_VALIDATION_FAILED]: '请检查配置文件格式是否正确,参考文档进行配置',\n [ErrorCode.PLUGIN_PERMISSION_DENIED]: '请检查插件权限配置,确保插件有足够的权限',\n };\n\n const suggestion = suggestions[code];\n if (suggestion) {\n return `${baseMessage}\\n建议: ${suggestion}`;\n }\n\n return baseMessage;\n}\n"],"names":["ErrorCode","ErrorMessages","getErrorMessage","getUserFriendlyMessage","code","details","baseMessage","suggestions","suggestion"],"mappings":"AAAA;;;CAGC,GAED;;CAEC;;;;;;;;;;;QACWA;eAAAA;;QAoCCC;eAAAA;;QAgCGC;eAAAA;;QAWAC;eAAAA;;;AA/ET,IAAA,AAAKH,mCAAAA;IACV,qBAAqB;;;;IAKrB,mBAAmB;;;;IAKnB,mBAAmB;;;;IAKnB,qBAAqB;;;;IAKrB,mBAAmB;;;IAInB,mBAAmB;;;IAInB,cAAc;;WA7BJA;;AAoCL,MAAMC,gBAA2C;IACtD,MAA+B,EAAE;IACjC,MAA0B,EAAE;IAC5B,MAAiC,EAAE;IAEnC,MAA8B,EAAE;IAChC,MAAoC,EAAE;IACtC,MAAiC,EAAE;IAEnC,MAAkC,EAAE;IACpC,MAAmC,EAAE;IACrC,MAAoC,EAAE;IAEtC,MAAyC,EAAE;IAC3C,MAAoC,EAAE;IACtC,MAAiC,EAAE;IAEnC,MAAyC,EAAE;IAC3C,MAAoC,EAAE;IAEtC,MAAyB,EAAE;IAC3B,MAA2B,EAAE;IAE7B,MAAyB,EAAE;AAC7B;AAQO,SAASC,gBAAgBE,IAAe;IAC7C,OAAOH,aAAa,CAACG,KAAK,IAAIH,aAAa,MAAyB;AACtE;AASO,SAASE,uBAAuBC,IAAe,EAAEC,OAAgB;IACtE,MAAMC,cAAcJ,gBAAgBE;IAEpC,IAAIC,SAAS;QACX,OAAO,GAAGC,YAAY,EAAE,EAAED,SAAS;IACrC;IAEA,cAAc;IACd,MAAME,cAAkD;QACtD,MAA+B,EAAE;QACjC,MAAoC,EAAE;QACtC,MAAoC,EAAE;IACxC;IAEA,MAAMC,aAAaD,WAAW,CAACH,KAAK;IACpC,IAAII,YAAY;QACd,OAAO,GAAGF,YAAY,MAAM,EAAEE,YAAY;IAC5C;IAEA,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../../src/utils/errors/ErrorCodes.ts"],"sourcesContent":["export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from '@vlian/utils';\n"],"names":["ErrorCode","ErrorMessages","getErrorMessage","getUserFriendlyMessage"],"mappings":";;;;;;;;;;;QAASA;eAAAA,gBAAS;;QAAEC;eAAAA,oBAAa;;QAAEC;eAAAA,sBAAe;;QAAEC;eAAAA,6BAAsB;;;uBAAQ"}
@@ -1,45 +1 @@
1
- /**
2
- * 错误码定义
3
- * 提供统一的错误码和错误信息映射
4
- */
5
- /**
6
- * 错误码枚举
7
- */
8
- export declare enum ErrorCode {
9
- CONTAINER_NOT_FOUND = 1001,
10
- STARTUP_FAILED = 1002,
11
- INITIALIZATION_FAILED = 1003,
12
- CONFIG_LOAD_FAILED = 2001,
13
- CONFIG_VALIDATION_FAILED = 2002,
14
- CONFIG_FILE_NOT_FOUND = 2003,
15
- PLUGIN_REGISTER_FAILED = 3001,
16
- PLUGIN_EXECUTION_FAILED = 3002,
17
- PLUGIN_PERMISSION_DENIED = 3003,
18
- STATE_MANAGER_NOT_INITIALIZED = 4001,
19
- STATE_INSTANCE_NOT_FOUND = 4002,
20
- STATE_SCOPE_NOT_FOUND = 4003,
21
- STORAGE_INITIALIZATION_FAILED = 5001,
22
- STORAGE_OPERATION_FAILED = 5002,
23
- NETWORK_ERROR = 6001,
24
- NETWORK_TIMEOUT = 6002,
25
- UNKNOWN_ERROR = 9999
26
- }
27
- /**
28
- * 错误信息映射
29
- */
30
- export declare const ErrorMessages: Record<ErrorCode, string>;
31
- /**
32
- * 获取错误信息
33
- *
34
- * @param code - 错误码
35
- * @returns 错误信息
36
- */
37
- export declare function getErrorMessage(code: ErrorCode): string;
38
- /**
39
- * 获取用户友好的错误提示
40
- *
41
- * @param code - 错误码
42
- * @param details - 详细信息
43
- * @returns 用户友好的错误提示
44
- */
45
- export declare function getUserFriendlyMessage(code: ErrorCode, details?: string): string;
1
+ export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from '@vlian/utils';
@@ -1,86 +1,3 @@
1
- /**
2
- * 错误码定义
3
- * 提供统一的错误码和错误信息映射
4
- */ /**
5
- * 错误码枚举
6
- */ export var ErrorCode = /*#__PURE__*/ function(ErrorCode) {
7
- // 框架启动错误 (1000-1999)
8
- ErrorCode[ErrorCode["CONTAINER_NOT_FOUND"] = 1001] = "CONTAINER_NOT_FOUND";
9
- ErrorCode[ErrorCode["STARTUP_FAILED"] = 1002] = "STARTUP_FAILED";
10
- ErrorCode[ErrorCode["INITIALIZATION_FAILED"] = 1003] = "INITIALIZATION_FAILED";
11
- // 配置错误 (2000-2999)
12
- ErrorCode[ErrorCode["CONFIG_LOAD_FAILED"] = 2001] = "CONFIG_LOAD_FAILED";
13
- ErrorCode[ErrorCode["CONFIG_VALIDATION_FAILED"] = 2002] = "CONFIG_VALIDATION_FAILED";
14
- ErrorCode[ErrorCode["CONFIG_FILE_NOT_FOUND"] = 2003] = "CONFIG_FILE_NOT_FOUND";
15
- // 插件错误 (3000-3999)
16
- ErrorCode[ErrorCode["PLUGIN_REGISTER_FAILED"] = 3001] = "PLUGIN_REGISTER_FAILED";
17
- ErrorCode[ErrorCode["PLUGIN_EXECUTION_FAILED"] = 3002] = "PLUGIN_EXECUTION_FAILED";
18
- ErrorCode[ErrorCode["PLUGIN_PERMISSION_DENIED"] = 3003] = "PLUGIN_PERMISSION_DENIED";
19
- // 状态管理错误 (4000-4999)
20
- ErrorCode[ErrorCode["STATE_MANAGER_NOT_INITIALIZED"] = 4001] = "STATE_MANAGER_NOT_INITIALIZED";
21
- ErrorCode[ErrorCode["STATE_INSTANCE_NOT_FOUND"] = 4002] = "STATE_INSTANCE_NOT_FOUND";
22
- ErrorCode[ErrorCode["STATE_SCOPE_NOT_FOUND"] = 4003] = "STATE_SCOPE_NOT_FOUND";
23
- // 存储错误 (5000-5999)
24
- ErrorCode[ErrorCode["STORAGE_INITIALIZATION_FAILED"] = 5001] = "STORAGE_INITIALIZATION_FAILED";
25
- ErrorCode[ErrorCode["STORAGE_OPERATION_FAILED"] = 5002] = "STORAGE_OPERATION_FAILED";
26
- // 网络错误 (6000-6999)
27
- ErrorCode[ErrorCode["NETWORK_ERROR"] = 6001] = "NETWORK_ERROR";
28
- ErrorCode[ErrorCode["NETWORK_TIMEOUT"] = 6002] = "NETWORK_TIMEOUT";
29
- // 未知错误 (9999)
30
- ErrorCode[ErrorCode["UNKNOWN_ERROR"] = 9999] = "UNKNOWN_ERROR";
31
- return ErrorCode;
32
- }({});
33
- /**
34
- * 错误信息映射
35
- */ export const ErrorMessages = {
36
- [1001]: '未找到挂载容器,请确保页面中存在 id="root" 的元素或通过 container 选项指定容器',
37
- [1002]: '框架启动失败',
38
- [1003]: '初始化失败',
39
- [2001]: '配置加载失败',
40
- [2002]: '配置验证失败',
41
- [2003]: '配置文件未找到',
42
- [3001]: '插件注册失败',
43
- [3002]: '插件执行失败',
44
- [3003]: '插件权限不足',
45
- [4001]: '状态管理器未初始化',
46
- [4002]: '状态实例未找到',
47
- [4003]: '状态作用域未找到',
48
- [5001]: '存储初始化失败',
49
- [5002]: '存储操作失败',
50
- [6001]: '网络错误',
51
- [6002]: '网络请求超时',
52
- [9999]: '未知错误'
53
- };
54
- /**
55
- * 获取错误信息
56
- *
57
- * @param code - 错误码
58
- * @returns 错误信息
59
- */ export function getErrorMessage(code) {
60
- return ErrorMessages[code] || ErrorMessages[9999];
61
- }
62
- /**
63
- * 获取用户友好的错误提示
64
- *
65
- * @param code - 错误码
66
- * @param details - 详细信息
67
- * @returns 用户友好的错误提示
68
- */ export function getUserFriendlyMessage(code, details) {
69
- const baseMessage = getErrorMessage(code);
70
- if (details) {
71
- return `${baseMessage}: ${details}`;
72
- }
73
- // 根据错误码提供修复建议
74
- const suggestions = {
75
- [1001]: '请检查HTML中是否存在id="root"的元素,或通过container选项指定容器',
76
- [2002]: '请检查配置文件格式是否正确,参考文档进行配置',
77
- [3003]: '请检查插件权限配置,确保插件有足够的权限'
78
- };
79
- const suggestion = suggestions[code];
80
- if (suggestion) {
81
- return `${baseMessage}\n建议: ${suggestion}`;
82
- }
83
- return baseMessage;
84
- }
1
+ export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from "@vlian/utils";
85
2
 
86
3
  //# sourceMappingURL=ErrorCodes.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/errors/ErrorCodes.ts"],"sourcesContent":["/**\n * 错误码定义\n * 提供统一的错误码和错误信息映射\n */\n\n/**\n * 错误码枚举\n */\nexport enum ErrorCode {\n // 框架启动错误 (1000-1999)\n CONTAINER_NOT_FOUND = 1001,\n STARTUP_FAILED = 1002,\n INITIALIZATION_FAILED = 1003,\n\n // 配置错误 (2000-2999)\n CONFIG_LOAD_FAILED = 2001,\n CONFIG_VALIDATION_FAILED = 2002,\n CONFIG_FILE_NOT_FOUND = 2003,\n\n // 插件错误 (3000-3999)\n PLUGIN_REGISTER_FAILED = 3001,\n PLUGIN_EXECUTION_FAILED = 3002,\n PLUGIN_PERMISSION_DENIED = 3003,\n\n // 状态管理错误 (4000-4999)\n STATE_MANAGER_NOT_INITIALIZED = 4001,\n STATE_INSTANCE_NOT_FOUND = 4002,\n STATE_SCOPE_NOT_FOUND = 4003,\n\n // 存储错误 (5000-5999)\n STORAGE_INITIALIZATION_FAILED = 5001,\n STORAGE_OPERATION_FAILED = 5002,\n\n // 网络错误 (6000-6999)\n NETWORK_ERROR = 6001,\n NETWORK_TIMEOUT = 6002,\n\n // 未知错误 (9999)\n UNKNOWN_ERROR = 9999,\n}\n\n/**\n * 错误信息映射\n */\nexport const ErrorMessages: Record<ErrorCode, string> = {\n [ErrorCode.CONTAINER_NOT_FOUND]: '未找到挂载容器,请确保页面中存在 id=\"root\" 的元素或通过 container 选项指定容器',\n [ErrorCode.STARTUP_FAILED]: '框架启动失败',\n [ErrorCode.INITIALIZATION_FAILED]: '初始化失败',\n\n [ErrorCode.CONFIG_LOAD_FAILED]: '配置加载失败',\n [ErrorCode.CONFIG_VALIDATION_FAILED]: '配置验证失败',\n [ErrorCode.CONFIG_FILE_NOT_FOUND]: '配置文件未找到',\n\n [ErrorCode.PLUGIN_REGISTER_FAILED]: '插件注册失败',\n [ErrorCode.PLUGIN_EXECUTION_FAILED]: '插件执行失败',\n [ErrorCode.PLUGIN_PERMISSION_DENIED]: '插件权限不足',\n\n [ErrorCode.STATE_MANAGER_NOT_INITIALIZED]: '状态管理器未初始化',\n [ErrorCode.STATE_INSTANCE_NOT_FOUND]: '状态实例未找到',\n [ErrorCode.STATE_SCOPE_NOT_FOUND]: '状态作用域未找到',\n\n [ErrorCode.STORAGE_INITIALIZATION_FAILED]: '存储初始化失败',\n [ErrorCode.STORAGE_OPERATION_FAILED]: '存储操作失败',\n\n [ErrorCode.NETWORK_ERROR]: '网络错误',\n [ErrorCode.NETWORK_TIMEOUT]: '网络请求超时',\n\n [ErrorCode.UNKNOWN_ERROR]: '未知错误',\n};\n\n/**\n * 获取错误信息\n * \n * @param code - 错误码\n * @returns 错误信息\n */\nexport function getErrorMessage(code: ErrorCode): string {\n return ErrorMessages[code] || ErrorMessages[ErrorCode.UNKNOWN_ERROR];\n}\n\n/**\n * 获取用户友好的错误提示\n * \n * @param code - 错误码\n * @param details - 详细信息\n * @returns 用户友好的错误提示\n */\nexport function getUserFriendlyMessage(code: ErrorCode, details?: string): string {\n const baseMessage = getErrorMessage(code);\n \n if (details) {\n return `${baseMessage}: ${details}`;\n }\n\n // 根据错误码提供修复建议\n const suggestions: Partial<Record<ErrorCode, string>> = {\n [ErrorCode.CONTAINER_NOT_FOUND]: '请检查HTML中是否存在id=\"root\"的元素,或通过container选项指定容器',\n [ErrorCode.CONFIG_VALIDATION_FAILED]: '请检查配置文件格式是否正确,参考文档进行配置',\n [ErrorCode.PLUGIN_PERMISSION_DENIED]: '请检查插件权限配置,确保插件有足够的权限',\n };\n\n const suggestion = suggestions[code];\n if (suggestion) {\n return `${baseMessage}\\n建议: ${suggestion}`;\n }\n\n return baseMessage;\n}\n"],"names":["ErrorCode","ErrorMessages","getErrorMessage","code","getUserFriendlyMessage","details","baseMessage","suggestions","suggestion"],"mappings":"AAAA;;;CAGC,GAED;;CAEC,GACD,OAAO,IAAA,AAAKA,mCAAAA;IACV,qBAAqB;;;;IAKrB,mBAAmB;;;;IAKnB,mBAAmB;;;;IAKnB,qBAAqB;;;;IAKrB,mBAAmB;;;IAInB,mBAAmB;;;IAInB,cAAc;;WA7BJA;MA+BX;AAED;;CAEC,GACD,OAAO,MAAMC,gBAA2C;IACtD,MAA+B,EAAE;IACjC,MAA0B,EAAE;IAC5B,MAAiC,EAAE;IAEnC,MAA8B,EAAE;IAChC,MAAoC,EAAE;IACtC,MAAiC,EAAE;IAEnC,MAAkC,EAAE;IACpC,MAAmC,EAAE;IACrC,MAAoC,EAAE;IAEtC,MAAyC,EAAE;IAC3C,MAAoC,EAAE;IACtC,MAAiC,EAAE;IAEnC,MAAyC,EAAE;IAC3C,MAAoC,EAAE;IAEtC,MAAyB,EAAE;IAC3B,MAA2B,EAAE;IAE7B,MAAyB,EAAE;AAC7B,EAAE;AAEF;;;;;CAKC,GACD,OAAO,SAASC,gBAAgBC,IAAe;IAC7C,OAAOF,aAAa,CAACE,KAAK,IAAIF,aAAa,MAAyB;AACtE;AAEA;;;;;;CAMC,GACD,OAAO,SAASG,uBAAuBD,IAAe,EAAEE,OAAgB;IACtE,MAAMC,cAAcJ,gBAAgBC;IAEpC,IAAIE,SAAS;QACX,OAAO,GAAGC,YAAY,EAAE,EAAED,SAAS;IACrC;IAEA,cAAc;IACd,MAAME,cAAkD;QACtD,MAA+B,EAAE;QACjC,MAAoC,EAAE;QACtC,MAAoC,EAAE;IACxC;IAEA,MAAMC,aAAaD,WAAW,CAACJ,KAAK;IACpC,IAAIK,YAAY;QACd,OAAO,GAAGF,YAAY,MAAM,EAAEE,YAAY;IAC5C;IAEA,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../../src/utils/errors/ErrorCodes.ts"],"sourcesContent":["export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from '@vlian/utils';\n"],"names":["ErrorCode","ErrorMessages","getErrorMessage","getUserFriendlyMessage"],"mappings":"AAAA,SAASA,SAAS,EAAEC,aAAa,EAAEC,eAAe,EAAEC,sBAAsB,QAAQ,eAAe"}