@vlian/framework 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/core/event/AppEventBus.cjs +446 -0
  2. package/dist/core/event/AppEventBus.cjs.map +1 -0
  3. package/dist/core/event/AppEventBus.d.ts +179 -0
  4. package/dist/core/event/AppEventBus.d.ts.map +1 -0
  5. package/dist/core/event/AppEventBus.js +438 -0
  6. package/dist/core/event/AppEventBus.js.map +1 -0
  7. package/dist/core/event/frameworkEvents.cjs +143 -0
  8. package/dist/core/event/frameworkEvents.cjs.map +1 -0
  9. package/dist/core/event/frameworkEvents.d.ts +70 -0
  10. package/dist/core/event/frameworkEvents.d.ts.map +1 -0
  11. package/dist/core/event/frameworkEvents.js +135 -0
  12. package/dist/core/event/frameworkEvents.js.map +1 -0
  13. package/dist/core/event/hooks.cjs +71 -0
  14. package/dist/core/event/hooks.cjs.map +1 -0
  15. package/dist/core/event/hooks.d.ts +58 -0
  16. package/dist/core/event/hooks.d.ts.map +1 -0
  17. package/dist/core/event/hooks.js +95 -0
  18. package/dist/core/event/hooks.js.map +1 -0
  19. package/dist/core/event/index.cjs +43 -0
  20. package/dist/core/event/index.cjs.map +1 -0
  21. package/dist/core/event/index.d.ts +11 -0
  22. package/dist/core/event/index.d.ts.map +1 -0
  23. package/dist/core/event/index.js +10 -0
  24. package/dist/core/event/index.js.map +1 -0
  25. package/dist/core/event/types.cjs +64 -0
  26. package/dist/core/event/types.cjs.map +1 -0
  27. package/dist/core/event/types.d.ts +270 -0
  28. package/dist/core/event/types.d.ts.map +1 -0
  29. package/dist/core/event/types.js +56 -0
  30. package/dist/core/event/types.js.map +1 -0
  31. package/dist/core/event/useEventBus.cjs +27 -0
  32. package/dist/core/event/useEventBus.cjs.map +1 -0
  33. package/dist/core/event/useEventBus.d.ts +29 -0
  34. package/dist/core/event/useEventBus.d.ts.map +1 -0
  35. package/dist/core/event/useEventBus.js +39 -0
  36. package/dist/core/event/useEventBus.js.map +1 -0
  37. package/dist/core/index.cjs +1 -0
  38. package/dist/core/index.cjs.map +1 -1
  39. package/dist/core/index.d.ts +1 -0
  40. package/dist/core/index.d.ts.map +1 -1
  41. package/dist/core/index.js +2 -0
  42. package/dist/core/index.js.map +1 -1
  43. package/dist/core/startup/AppInstance.cjs +8 -0
  44. package/dist/core/startup/AppInstance.cjs.map +1 -1
  45. package/dist/core/startup/AppInstance.d.ts +4 -0
  46. package/dist/core/startup/AppInstance.d.ts.map +1 -1
  47. package/dist/core/startup/AppInstance.js +8 -0
  48. package/dist/core/startup/AppInstance.js.map +1 -1
  49. package/dist/core/startup/initializeServices.cjs +21 -4
  50. package/dist/core/startup/initializeServices.cjs.map +1 -1
  51. package/dist/core/startup/initializeServices.d.ts +5 -0
  52. package/dist/core/startup/initializeServices.d.ts.map +1 -1
  53. package/dist/core/startup/initializeServices.js +21 -4
  54. package/dist/core/startup/initializeServices.js.map +1 -1
  55. package/dist/core/startup/startApp.cjs +59 -1
  56. package/dist/core/startup/startApp.cjs.map +1 -1
  57. package/dist/core/startup/startApp.d.ts.map +1 -1
  58. package/dist/core/startup/startApp.js +59 -1
  59. package/dist/core/startup/startApp.js.map +1 -1
  60. package/dist/core/types.d.ts +31 -0
  61. package/dist/core/types.d.ts.map +1 -1
  62. package/dist/core/types.js.map +1 -1
  63. package/dist/index.umd.cjs +29 -0
  64. package/dist/index.umd.cjs.map +1 -0
  65. package/dist/index.umd.d.ts +8 -0
  66. package/dist/index.umd.d.ts.map +1 -0
  67. package/dist/index.umd.js +39268 -0
  68. package/dist/index.umd.js.map +1 -0
  69. package/package.json +12 -5
@@ -0,0 +1,270 @@
1
+ /**
2
+ * 应用级事件系统类型定义
3
+ * 提供类型安全的事件通信能力
4
+ */
5
+ /**
6
+ * 事件监听器类型
7
+ *
8
+ * @template T - 事件数据类型
9
+ */
10
+ export type EventListener<T = unknown> = (data: T, metadata: EventMetadata) => void | Promise<void>;
11
+ /**
12
+ * 事件元数据
13
+ */
14
+ export interface EventMetadata {
15
+ /**
16
+ * 事件来源(模块/组件名称)
17
+ */
18
+ source?: string;
19
+ /**
20
+ * 事件时间戳
21
+ */
22
+ timestamp: number;
23
+ /**
24
+ * 事件ID(用于追踪)
25
+ */
26
+ eventId: string;
27
+ /**
28
+ * 事件优先级(数字越小优先级越高)
29
+ */
30
+ priority?: number;
31
+ /**
32
+ * 应用实例ID(多实例场景)
33
+ */
34
+ instanceId?: string;
35
+ /**
36
+ * 事件命名空间(用于作用域隔离)
37
+ */
38
+ namespace?: string;
39
+ /**
40
+ * 自定义元数据
41
+ */
42
+ [key: string]: unknown;
43
+ }
44
+ /**
45
+ * 事件包装器
46
+ *
47
+ * @template T - 事件数据类型
48
+ */
49
+ export interface EventWrapper<T = unknown> {
50
+ /**
51
+ * 事件数据
52
+ */
53
+ data: T;
54
+ /**
55
+ * 事件元数据
56
+ */
57
+ metadata: EventMetadata;
58
+ }
59
+ /**
60
+ * 事件中间件函数类型
61
+ *
62
+ * @template T - 事件数据类型
63
+ */
64
+ export type EventMiddleware<T = unknown> = (event: string, data: T, metadata: EventMetadata, next: () => Promise<void>) => Promise<void> | void;
65
+ /**
66
+ * 事件监听器选项
67
+ */
68
+ export interface EventListenerOptions {
69
+ /**
70
+ * 监听器优先级(数字越小优先级越高)
71
+ */
72
+ priority?: number;
73
+ /**
74
+ * 是否只执行一次
75
+ */
76
+ once?: boolean;
77
+ /**
78
+ * 事件命名空间(用于作用域隔离)
79
+ */
80
+ namespace?: string;
81
+ /**
82
+ * 是否异步执行
83
+ */
84
+ async?: boolean;
85
+ }
86
+ /**
87
+ * 事件总线配置
88
+ */
89
+ export interface AppEventBusConfig {
90
+ /**
91
+ * 是否启用事件追踪
92
+ */
93
+ enableTracking?: boolean;
94
+ /**
95
+ * 最大事件历史记录数
96
+ */
97
+ maxHistorySize?: number;
98
+ /**
99
+ * 是否启用事件验证
100
+ */
101
+ enableValidation?: boolean;
102
+ /**
103
+ * 事件验证函数
104
+ */
105
+ validator?: (event: string, data: unknown) => boolean;
106
+ /**
107
+ * 是否启用性能监控
108
+ */
109
+ enablePerformanceMonitoring?: boolean;
110
+ /**
111
+ * 事件命名空间前缀(用于多实例隔离)
112
+ */
113
+ namespacePrefix?: string;
114
+ /**
115
+ * 应用实例ID(多实例场景)
116
+ */
117
+ instanceId?: string;
118
+ /**
119
+ * 是否启用安全模式(限制事件来源)
120
+ */
121
+ enableSecurityMode?: boolean;
122
+ /**
123
+ * 允许的事件来源白名单(安全模式)
124
+ */
125
+ allowedSources?: string[];
126
+ }
127
+ /**
128
+ * 事件统计信息
129
+ */
130
+ export interface EventStats {
131
+ /**
132
+ * 事件名称
133
+ */
134
+ event: string;
135
+ /**
136
+ * 触发次数
137
+ */
138
+ count: number;
139
+ /**
140
+ * 平均执行时间(毫秒)
141
+ */
142
+ avgExecutionTime: number;
143
+ /**
144
+ * 监听器数量
145
+ */
146
+ listenerCount: number;
147
+ /**
148
+ * 最后触发时间
149
+ */
150
+ lastTriggered: number;
151
+ }
152
+ /**
153
+ * 框架内置事件类型
154
+ */
155
+ export declare enum FrameworkEventType {
156
+ /**
157
+ * 应用启动开始
158
+ */
159
+ APP_START = "framework:app:start",
160
+ /**
161
+ * 应用启动完成
162
+ */
163
+ APP_STARTED = "framework:app:started",
164
+ /**
165
+ * 应用初始化开始
166
+ */
167
+ APP_INIT_START = "framework:app:init:start",
168
+ /**
169
+ * 应用初始化完成
170
+ */
171
+ APP_INIT_COMPLETE = "framework:app:init:complete",
172
+ /**
173
+ * 应用初始化失败
174
+ */
175
+ APP_INIT_ERROR = "framework:app:init:error",
176
+ /**
177
+ * 应用渲染开始
178
+ */
179
+ APP_RENDER_START = "framework:app:render:start",
180
+ /**
181
+ * 应用渲染完成
182
+ */
183
+ APP_RENDER_COMPLETE = "framework:app:render:complete",
184
+ /**
185
+ * 路由变化
186
+ */
187
+ ROUTE_CHANGE = "framework:route:change",
188
+ /**
189
+ * 路由导航开始
190
+ */
191
+ ROUTE_NAVIGATE_START = "framework:route:navigate:start",
192
+ /**
193
+ * 路由导航完成
194
+ */
195
+ ROUTE_NAVIGATE_COMPLETE = "framework:route:navigate:complete",
196
+ /**
197
+ * 错误发生
198
+ */
199
+ ERROR_OCCURRED = "framework:error:occurred",
200
+ /**
201
+ * 实例创建
202
+ */
203
+ INSTANCE_CREATED = "framework:instance:created",
204
+ /**
205
+ * 实例销毁
206
+ */
207
+ INSTANCE_DESTROYED = "framework:instance:destroyed",
208
+ /**
209
+ * 性能指标更新
210
+ */
211
+ PERFORMANCE_UPDATE = "framework:performance:update"
212
+ }
213
+ /**
214
+ * 框架事件数据类型定义
215
+ */
216
+ export interface FrameworkEventData {
217
+ [FrameworkEventType.APP_START]: {
218
+ instanceId?: string;
219
+ };
220
+ [FrameworkEventType.APP_STARTED]: {
221
+ instanceId?: string;
222
+ duration: number;
223
+ };
224
+ [FrameworkEventType.APP_INIT_START]: {
225
+ instanceId?: string;
226
+ };
227
+ [FrameworkEventType.APP_INIT_COMPLETE]: {
228
+ instanceId?: string;
229
+ context: unknown;
230
+ duration: number;
231
+ };
232
+ [FrameworkEventType.APP_INIT_ERROR]: {
233
+ instanceId?: string;
234
+ error: Error;
235
+ };
236
+ [FrameworkEventType.APP_RENDER_START]: {
237
+ instanceId?: string;
238
+ };
239
+ [FrameworkEventType.APP_RENDER_COMPLETE]: {
240
+ instanceId?: string;
241
+ duration: number;
242
+ };
243
+ [FrameworkEventType.ROUTE_CHANGE]: {
244
+ from: string;
245
+ to: string;
246
+ params?: Record<string, unknown>;
247
+ };
248
+ [FrameworkEventType.ROUTE_NAVIGATE_START]: {
249
+ to: string;
250
+ options?: unknown;
251
+ };
252
+ [FrameworkEventType.ROUTE_NAVIGATE_COMPLETE]: {
253
+ to: string;
254
+ duration: number;
255
+ };
256
+ [FrameworkEventType.ERROR_OCCURRED]: {
257
+ error: Error;
258
+ context?: unknown;
259
+ };
260
+ [FrameworkEventType.INSTANCE_CREATED]: {
261
+ instanceId: string;
262
+ };
263
+ [FrameworkEventType.INSTANCE_DESTROYED]: {
264
+ instanceId: string;
265
+ };
266
+ [FrameworkEventType.PERFORMANCE_UPDATE]: {
267
+ metrics: Record<string, number>;
268
+ };
269
+ }
270
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/event/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * 应用级事件系统类型定义
3
+ * 提供类型安全的事件通信能力
4
+ */ /**
5
+ * 事件监听器类型
6
+ *
7
+ * @template T - 事件数据类型
8
+ */ /**
9
+ * 框架内置事件类型
10
+ */ export var FrameworkEventType = /*#__PURE__*/ function(FrameworkEventType) {
11
+ /**
12
+ * 应用启动开始
13
+ */ FrameworkEventType["APP_START"] = "framework:app:start";
14
+ /**
15
+ * 应用启动完成
16
+ */ FrameworkEventType["APP_STARTED"] = "framework:app:started";
17
+ /**
18
+ * 应用初始化开始
19
+ */ FrameworkEventType["APP_INIT_START"] = "framework:app:init:start";
20
+ /**
21
+ * 应用初始化完成
22
+ */ FrameworkEventType["APP_INIT_COMPLETE"] = "framework:app:init:complete";
23
+ /**
24
+ * 应用初始化失败
25
+ */ FrameworkEventType["APP_INIT_ERROR"] = "framework:app:init:error";
26
+ /**
27
+ * 应用渲染开始
28
+ */ FrameworkEventType["APP_RENDER_START"] = "framework:app:render:start";
29
+ /**
30
+ * 应用渲染完成
31
+ */ FrameworkEventType["APP_RENDER_COMPLETE"] = "framework:app:render:complete";
32
+ /**
33
+ * 路由变化
34
+ */ FrameworkEventType["ROUTE_CHANGE"] = "framework:route:change";
35
+ /**
36
+ * 路由导航开始
37
+ */ FrameworkEventType["ROUTE_NAVIGATE_START"] = "framework:route:navigate:start";
38
+ /**
39
+ * 路由导航完成
40
+ */ FrameworkEventType["ROUTE_NAVIGATE_COMPLETE"] = "framework:route:navigate:complete";
41
+ /**
42
+ * 错误发生
43
+ */ FrameworkEventType["ERROR_OCCURRED"] = "framework:error:occurred";
44
+ /**
45
+ * 实例创建
46
+ */ FrameworkEventType["INSTANCE_CREATED"] = "framework:instance:created";
47
+ /**
48
+ * 实例销毁
49
+ */ FrameworkEventType["INSTANCE_DESTROYED"] = "framework:instance:destroyed";
50
+ /**
51
+ * 性能指标更新
52
+ */ FrameworkEventType["PERFORMANCE_UPDATE"] = "framework:performance:update";
53
+ return FrameworkEventType;
54
+ }({});
55
+
56
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/core/event/types.ts"],"sourcesContent":["/**\n * 应用级事件系统类型定义\n * 提供类型安全的事件通信能力\n */\n\n/**\n * 事件监听器类型\n * \n * @template T - 事件数据类型\n */\nexport type EventListener<T = unknown> = (data: T, metadata: EventMetadata) => void | Promise<void>;\n\n/**\n * 事件元数据\n */\nexport interface EventMetadata {\n /**\n * 事件来源(模块/组件名称)\n */\n source?: string;\n \n /**\n * 事件时间戳\n */\n timestamp: number;\n \n /**\n * 事件ID(用于追踪)\n */\n eventId: string;\n \n /**\n * 事件优先级(数字越小优先级越高)\n */\n priority?: number;\n \n /**\n * 应用实例ID(多实例场景)\n */\n instanceId?: string;\n \n /**\n * 事件命名空间(用于作用域隔离)\n */\n namespace?: string;\n \n /**\n * 自定义元数据\n */\n [key: string]: unknown;\n}\n\n/**\n * 事件包装器\n * \n * @template T - 事件数据类型\n */\nexport interface EventWrapper<T = unknown> {\n /**\n * 事件数据\n */\n data: T;\n \n /**\n * 事件元数据\n */\n metadata: EventMetadata;\n}\n\n/**\n * 事件中间件函数类型\n * \n * @template T - 事件数据类型\n */\nexport type EventMiddleware<T = unknown> = (\n event: string,\n data: T,\n metadata: EventMetadata,\n next: () => Promise<void>\n) => Promise<void> | void;\n\n/**\n * 事件监听器选项\n */\nexport interface EventListenerOptions {\n /**\n * 监听器优先级(数字越小优先级越高)\n */\n priority?: number;\n \n /**\n * 是否只执行一次\n */\n once?: boolean;\n \n /**\n * 事件命名空间(用于作用域隔离)\n */\n namespace?: string;\n \n /**\n * 是否异步执行\n */\n async?: boolean;\n}\n\n/**\n * 事件总线配置\n */\nexport interface AppEventBusConfig {\n /**\n * 是否启用事件追踪\n */\n enableTracking?: boolean;\n \n /**\n * 最大事件历史记录数\n */\n maxHistorySize?: number;\n \n /**\n * 是否启用事件验证\n */\n enableValidation?: boolean;\n \n /**\n * 事件验证函数\n */\n validator?: (event: string, data: unknown) => boolean;\n \n /**\n * 是否启用性能监控\n */\n enablePerformanceMonitoring?: boolean;\n \n /**\n * 事件命名空间前缀(用于多实例隔离)\n */\n namespacePrefix?: string;\n \n /**\n * 应用实例ID(多实例场景)\n */\n instanceId?: string;\n \n /**\n * 是否启用安全模式(限制事件来源)\n */\n enableSecurityMode?: boolean;\n \n /**\n * 允许的事件来源白名单(安全模式)\n */\n allowedSources?: string[];\n}\n\n/**\n * 事件统计信息\n */\nexport interface EventStats {\n /**\n * 事件名称\n */\n event: string;\n \n /**\n * 触发次数\n */\n count: number;\n \n /**\n * 平均执行时间(毫秒)\n */\n avgExecutionTime: number;\n \n /**\n * 监听器数量\n */\n listenerCount: number;\n \n /**\n * 最后触发时间\n */\n lastTriggered: number;\n}\n\n/**\n * 框架内置事件类型\n */\nexport enum FrameworkEventType {\n /**\n * 应用启动开始\n */\n APP_START = 'framework:app:start',\n \n /**\n * 应用启动完成\n */\n APP_STARTED = 'framework:app:started',\n \n /**\n * 应用初始化开始\n */\n APP_INIT_START = 'framework:app:init:start',\n \n /**\n * 应用初始化完成\n */\n APP_INIT_COMPLETE = 'framework:app:init:complete',\n \n /**\n * 应用初始化失败\n */\n APP_INIT_ERROR = 'framework:app:init:error',\n \n /**\n * 应用渲染开始\n */\n APP_RENDER_START = 'framework:app:render:start',\n \n /**\n * 应用渲染完成\n */\n APP_RENDER_COMPLETE = 'framework:app:render:complete',\n \n /**\n * 路由变化\n */\n ROUTE_CHANGE = 'framework:route:change',\n \n /**\n * 路由导航开始\n */\n ROUTE_NAVIGATE_START = 'framework:route:navigate:start',\n \n /**\n * 路由导航完成\n */\n ROUTE_NAVIGATE_COMPLETE = 'framework:route:navigate:complete',\n \n /**\n * 错误发生\n */\n ERROR_OCCURRED = 'framework:error:occurred',\n \n /**\n * 实例创建\n */\n INSTANCE_CREATED = 'framework:instance:created',\n \n /**\n * 实例销毁\n */\n INSTANCE_DESTROYED = 'framework:instance:destroyed',\n \n /**\n * 性能指标更新\n */\n PERFORMANCE_UPDATE = 'framework:performance:update',\n}\n\n/**\n * 框架事件数据类型定义\n */\nexport interface FrameworkEventData {\n [FrameworkEventType.APP_START]: { instanceId?: string };\n [FrameworkEventType.APP_STARTED]: { instanceId?: string; duration: number };\n [FrameworkEventType.APP_INIT_START]: { instanceId?: string };\n [FrameworkEventType.APP_INIT_COMPLETE]: { instanceId?: string; context: unknown; duration: number };\n [FrameworkEventType.APP_INIT_ERROR]: { instanceId?: string; error: Error };\n [FrameworkEventType.APP_RENDER_START]: { instanceId?: string };\n [FrameworkEventType.APP_RENDER_COMPLETE]: { instanceId?: string; duration: number };\n [FrameworkEventType.ROUTE_CHANGE]: { from: string; to: string; params?: Record<string, unknown> };\n [FrameworkEventType.ROUTE_NAVIGATE_START]: { to: string; options?: unknown };\n [FrameworkEventType.ROUTE_NAVIGATE_COMPLETE]: { to: string; duration: number };\n [FrameworkEventType.ERROR_OCCURRED]: { error: Error; context?: unknown };\n [FrameworkEventType.INSTANCE_CREATED]: { instanceId: string };\n [FrameworkEventType.INSTANCE_DESTROYED]: { instanceId: string };\n [FrameworkEventType.PERFORMANCE_UPDATE]: { metrics: Record<string, number> };\n}\n"],"names":["FrameworkEventType"],"mappings":"AAAA;;;CAGC,GAED;;;;CAIC,GAiLD;;CAEC,GACD,OAAO,IAAA,AAAKA,4CAAAA;IACV;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;WApESA;MAsEX"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 便捷的 Hook:获取当前应用实例的事件总线
3
+ */ "use strict";
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "useEventBus", {
8
+ enumerable: true,
9
+ get: function() {
10
+ return useEventBus;
11
+ }
12
+ });
13
+ const _AppInstance = require("../startup/AppInstance");
14
+ function useEventBus() {
15
+ const instanceManager = (0, _AppInstance.getAppInstanceManager)();
16
+ const instance = instanceManager.getInstance();
17
+ if (!instance) {
18
+ throw new Error('应用实例未找到');
19
+ }
20
+ const eventBus = instance.getEventBus();
21
+ if (!eventBus) {
22
+ throw new Error('事件总线未初始化');
23
+ }
24
+ return eventBus;
25
+ }
26
+
27
+ //# sourceMappingURL=useEventBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/core/event/useEventBus.ts"],"sourcesContent":["/**\n * 便捷的 Hook:获取当前应用实例的事件总线\n */\n\nimport { getAppInstanceManager } from '../startup/AppInstance';\nimport type { AppEventBus } from './AppEventBus';\n\n/**\n * 获取当前应用实例的事件总线\n * \n * @returns 事件总线实例\n * \n * @example\n * ```tsx\n * import { useEventBus } from '@vlian/framework';\n * \n * function MyComponent() {\n * const eventBus = useEventBus();\n * \n * useEffect(() => {\n * const unsubscribe = eventBus.on('user:login', (data) => {\n * console.log('用户登录:', data);\n * });\n * return unsubscribe;\n * }, [eventBus]);\n * \n * return <div>My Component</div>;\n * }\n * ```\n */\nexport function useEventBus(): AppEventBus {\n const instanceManager = getAppInstanceManager();\n const instance = instanceManager.getInstance();\n \n if (!instance) {\n throw new Error('应用实例未找到');\n }\n \n const eventBus = instance.getEventBus();\n \n if (!eventBus) {\n throw new Error('事件总线未初始化');\n }\n \n return eventBus;\n}\n"],"names":["useEventBus","instanceManager","getAppInstanceManager","instance","getInstance","Error","eventBus","getEventBus"],"mappings":"AAAA;;CAEC;;;;+BA4BeA;;;eAAAA;;;6BA1BsB;AA0B/B,SAASA;IACd,MAAMC,kBAAkBC,IAAAA,kCAAqB;IAC7C,MAAMC,WAAWF,gBAAgBG,WAAW;IAE5C,IAAI,CAACD,UAAU;QACb,MAAM,IAAIE,MAAM;IAClB;IAEA,MAAMC,WAAWH,SAASI,WAAW;IAErC,IAAI,CAACD,UAAU;QACb,MAAM,IAAID,MAAM;IAClB;IAEA,OAAOC;AACT"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 便捷的 Hook:获取当前应用实例的事件总线
3
+ */
4
+ import type { AppEventBus } from './AppEventBus';
5
+ /**
6
+ * 获取当前应用实例的事件总线
7
+ *
8
+ * @returns 事件总线实例
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * import { useEventBus } from '@vlian/framework';
13
+ *
14
+ * function MyComponent() {
15
+ * const eventBus = useEventBus();
16
+ *
17
+ * useEffect(() => {
18
+ * const unsubscribe = eventBus.on('user:login', (data) => {
19
+ * console.log('用户登录:', data);
20
+ * });
21
+ * return unsubscribe;
22
+ * }, [eventBus]);
23
+ *
24
+ * return <div>My Component</div>;
25
+ * }
26
+ * ```
27
+ */
28
+ export declare function useEventBus(): AppEventBus;
29
+ //# sourceMappingURL=useEventBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventBus.d.ts","sourceRoot":"","sources":["../../../src/core/event/useEventBus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAezC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 便捷的 Hook:获取当前应用实例的事件总线
3
+ */ import { getAppInstanceManager } from "../startup/AppInstance";
4
+ /**
5
+ * 获取当前应用实例的事件总线
6
+ *
7
+ * @returns 事件总线实例
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { useEventBus } from '@vlian/framework';
12
+ *
13
+ * function MyComponent() {
14
+ * const eventBus = useEventBus();
15
+ *
16
+ * useEffect(() => {
17
+ * const unsubscribe = eventBus.on('user:login', (data) => {
18
+ * console.log('用户登录:', data);
19
+ * });
20
+ * return unsubscribe;
21
+ * }, [eventBus]);
22
+ *
23
+ * return <div>My Component</div>;
24
+ * }
25
+ * ```
26
+ */ export function useEventBus() {
27
+ const instanceManager = getAppInstanceManager();
28
+ const instance = instanceManager.getInstance();
29
+ if (!instance) {
30
+ throw new Error('应用实例未找到');
31
+ }
32
+ const eventBus = instance.getEventBus();
33
+ if (!eventBus) {
34
+ throw new Error('事件总线未初始化');
35
+ }
36
+ return eventBus;
37
+ }
38
+
39
+ //# sourceMappingURL=useEventBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/core/event/useEventBus.ts"],"sourcesContent":["/**\n * 便捷的 Hook:获取当前应用实例的事件总线\n */\n\nimport { getAppInstanceManager } from '../startup/AppInstance';\nimport type { AppEventBus } from './AppEventBus';\n\n/**\n * 获取当前应用实例的事件总线\n * \n * @returns 事件总线实例\n * \n * @example\n * ```tsx\n * import { useEventBus } from '@vlian/framework';\n * \n * function MyComponent() {\n * const eventBus = useEventBus();\n * \n * useEffect(() => {\n * const unsubscribe = eventBus.on('user:login', (data) => {\n * console.log('用户登录:', data);\n * });\n * return unsubscribe;\n * }, [eventBus]);\n * \n * return <div>My Component</div>;\n * }\n * ```\n */\nexport function useEventBus(): AppEventBus {\n const instanceManager = getAppInstanceManager();\n const instance = instanceManager.getInstance();\n \n if (!instance) {\n throw new Error('应用实例未找到');\n }\n \n const eventBus = instance.getEventBus();\n \n if (!eventBus) {\n throw new Error('事件总线未初始化');\n }\n \n return eventBus;\n}\n"],"names":["getAppInstanceManager","useEventBus","instanceManager","instance","getInstance","Error","eventBus","getEventBus"],"mappings":"AAAA;;CAEC,GAED,SAASA,qBAAqB,QAAQ,yBAAyB;AAG/D;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,SAASC;IACd,MAAMC,kBAAkBF;IACxB,MAAMG,WAAWD,gBAAgBE,WAAW;IAE5C,IAAI,CAACD,UAAU;QACb,MAAM,IAAIE,MAAM;IAClB;IAEA,MAAMC,WAAWH,SAASI,WAAW;IAErC,IAAI,CAACD,UAAU;QACb,MAAM,IAAID,MAAM;IAClB;IAEA,OAAOC;AACT"}
@@ -84,6 +84,7 @@ const _plugin = require("./plugin");
84
84
  _export_star(require("./startup"), exports);
85
85
  _export_star(require("./config"), exports);
86
86
  _export_star(require("./router"), exports);
87
+ _export_star(require("./event"), exports);
87
88
  const _DevTools = require("./dev/DevTools");
88
89
  function _export_star(from, to) {
89
90
  Object.keys(from).forEach(function(k) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/index.tsx"],"sourcesContent":["import type { StartOptions } from \"./types\";\nimport { storage } from '../library';\nimport { StateManager } from '../state';\nimport { startApp } from './startup/startApp';\nimport { getAppInstanceManager } from './startup/AppInstance';\n\n\n/**\n * 启动框架\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @example\n * ```typescript\n * import { start } from '@vlian/framework';\n * \n * start({\n * loggerLevel: LogLevel.DEBUG,\n * lifecycle: {\n * beforeInitialization: async () => {\n * console.log('初始化前执行');\n * },\n * },\n * });\n * ```\n */\n/**\n * 启动框架(向后兼容的API)\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @deprecated 建议使用 startApp 函数,支持多实例\n */\nconst start = async (options: StartOptions = {}): Promise<void> => {\n // 使用新的启动函数,保持向后兼容\n await startApp(options);\n};\n\n// 导出新的启动函数\nexport { startApp } from './startup/startApp';\nexport { getAppInstanceManager } from './startup/AppInstance';\nexport type { AppInstance } from './startup/AppInstance';\n\n// 导出向后兼容的start函数\nexport {\n start,\n storage,\n};\n\n// 导出getStateManager(向后兼容)\nexport const getStateManager = (): StateManager | null => {\n const instanceManager = getAppInstanceManager();\n const instance = instanceManager.getInstance();\n if (instance) {\n return instance.getServices().stateManager;\n }\n return null;\n};\n\n// 导出应用上下文相关功能\nexport {\n AppContextProvider,\n useAppContext,\n useTheme,\n useLocale,\n useConfig,\n useStateManager,\n} from './app';\n\n// 导出错误边界\nexport { ErrorBoundary, withErrorBoundary, useErrorHandler } from './error';\nexport type { ErrorBoundaryProps } from './error';\n\n// 导出应用配置单例\nexport { appConfig } from './config/AppConfig';\n\n// 导出初始化相关类型\nexport type {\n InitializationContext,\n ConfigStrategy,\n InitializationOptions,\n ProgressCallback,\n} from './initialization';\n\n// 导出中间件\nexport { MiddlewareManager, middlewareManager } from './middleware';\nexport type { Middleware } from './middleware';\n\n// 导出插件\nexport { PluginManager, pluginManager } from './plugin';\nexport type { Plugin } from './plugin';\n\n// 导出应用上下文相关类型\nexport type {\n AppContextValue,\n ThemeContextValue,\n LocaleContextValue,\n ConfigContextValue,\n StateManagerContextValue,\n ThemeConfig,\n AppConfig,\n AppContextProviderProps,\n} from './app';\n\n// 导出启动配置相关类型\nexport type { StartOptions, ManagerLifecycle, SplashScreenCustomProps } from './types';\n\n// 导出启动相关模块\nexport * from './startup';\nexport * from './config';\n\n// 导出路由相关模块\nexport * from './router';\n\n// 导出开发工具\nexport { DevTools, DevToolsTrigger } from './dev/DevTools';"],"names":["AppContextProvider","DevTools","DevToolsTrigger","ErrorBoundary","MiddlewareManager","PluginManager","appConfig","getAppInstanceManager","getStateManager","middlewareManager","pluginManager","start","startApp","storage","useAppContext","useConfig","useErrorHandler","useLocale","useStateManager","useTheme","withErrorBoundary","options","instanceManager","instance","getInstance","getServices","stateManager"],"mappings":";;;;;;;;;;;QA+DIA;eAAAA,uBAAkB;;QAsDbC;eAAAA,kBAAQ;;QAAEC;eAAAA,yBAAe;;QA7CzBC;eAAAA,oBAAa;;QAebC;eAAAA,6BAAiB;;QAIjBC;eAAAA,qBAAa;;QAfbC;eAAAA,oBAAS;;QAlCTC;eAAAA,kCAAqB;;QAUjBC;eAAAA;;QAmCeC;eAAAA,6BAAiB;;QAIrBC;eAAAA,qBAAa;;QA5CjCC;eAAAA;;QANKC;eAAAA,kBAAQ;;QAObC;eAAAA,gBAAO;;QAgBPC;eAAAA,kBAAa;;QAGbC;eAAAA,cAAS;;QAK8BC;eAAAA,sBAAe;;QANtDC;eAAAA,cAAS;;QAETC;eAAAA,oBAAe;;QAHfC;eAAAA,aAAQ;;QAOYC;eAAAA,wBAAiB;;;yBAvEjB;0BAEC;6BACa;qBAiE/B;uBAG2D;2BAIxC;4BAW2B;wBAIR;qBAmB/B;qBACA;qBAGA;0BAG4B;;;;;;;;;;;;;;AA9G1C;;;;;;;;;;;;;;;;;;;CAmBC,GACD;;;;;;;CAOC,GACD,MAAMT,QAAQ,OAAOU,UAAwB,CAAC,CAAC;IAC3C,kBAAkB;IAClB,MAAMT,IAAAA,kBAAQ,EAACS;AACnB;AAcO,MAAMb,kBAAkB;IAC3B,MAAMc,kBAAkBf,IAAAA,kCAAqB;IAC7C,MAAMgB,WAAWD,gBAAgBE,WAAW;IAC5C,IAAID,UAAU;QACV,OAAOA,SAASE,WAAW,GAAGC,YAAY;IAC9C;IACA,OAAO;AACX"}
1
+ {"version":3,"sources":["../../src/core/index.tsx"],"sourcesContent":["import type { StartOptions } from \"./types\";\nimport { storage } from '../library';\nimport { StateManager } from '../state';\nimport { startApp } from './startup/startApp';\nimport { getAppInstanceManager } from './startup/AppInstance';\n\n\n/**\n * 启动框架\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @example\n * ```typescript\n * import { start } from '@vlian/framework';\n * \n * start({\n * loggerLevel: LogLevel.DEBUG,\n * lifecycle: {\n * beforeInitialization: async () => {\n * console.log('初始化前执行');\n * },\n * },\n * });\n * ```\n */\n/**\n * 启动框架(向后兼容的API)\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @deprecated 建议使用 startApp 函数,支持多实例\n */\nconst start = async (options: StartOptions = {}): Promise<void> => {\n // 使用新的启动函数,保持向后兼容\n await startApp(options);\n};\n\n// 导出新的启动函数\nexport { startApp } from './startup/startApp';\nexport { getAppInstanceManager } from './startup/AppInstance';\nexport type { AppInstance } from './startup/AppInstance';\n\n// 导出向后兼容的start函数\nexport {\n start,\n storage,\n};\n\n// 导出getStateManager(向后兼容)\nexport const getStateManager = (): StateManager | null => {\n const instanceManager = getAppInstanceManager();\n const instance = instanceManager.getInstance();\n if (instance) {\n return instance.getServices().stateManager;\n }\n return null;\n};\n\n// 导出应用上下文相关功能\nexport {\n AppContextProvider,\n useAppContext,\n useTheme,\n useLocale,\n useConfig,\n useStateManager,\n} from './app';\n\n// 导出错误边界\nexport { ErrorBoundary, withErrorBoundary, useErrorHandler } from './error';\nexport type { ErrorBoundaryProps } from './error';\n\n// 导出应用配置单例\nexport { appConfig } from './config/AppConfig';\n\n// 导出初始化相关类型\nexport type {\n InitializationContext,\n ConfigStrategy,\n InitializationOptions,\n ProgressCallback,\n} from './initialization';\n\n// 导出中间件\nexport { MiddlewareManager, middlewareManager } from './middleware';\nexport type { Middleware } from './middleware';\n\n// 导出插件\nexport { PluginManager, pluginManager } from './plugin';\nexport type { Plugin } from './plugin';\n\n// 导出应用上下文相关类型\nexport type {\n AppContextValue,\n ThemeContextValue,\n LocaleContextValue,\n ConfigContextValue,\n StateManagerContextValue,\n ThemeConfig,\n AppConfig,\n AppContextProviderProps,\n} from './app';\n\n// 导出启动配置相关类型\nexport type { StartOptions, ManagerLifecycle, SplashScreenCustomProps } from './types';\n\n// 导出启动相关模块\nexport * from './startup';\nexport * from './config';\n\n// 导出路由相关模块\nexport * from './router';\n\n// 导出事件系统\nexport * from './event';\n\n// 导出开发工具\nexport { DevTools, DevToolsTrigger } from './dev/DevTools';"],"names":["AppContextProvider","DevTools","DevToolsTrigger","ErrorBoundary","MiddlewareManager","PluginManager","appConfig","getAppInstanceManager","getStateManager","middlewareManager","pluginManager","start","startApp","storage","useAppContext","useConfig","useErrorHandler","useLocale","useStateManager","useTheme","withErrorBoundary","options","instanceManager","instance","getInstance","getServices","stateManager"],"mappings":";;;;;;;;;;;QA+DIA;eAAAA,uBAAkB;;QAyDbC;eAAAA,kBAAQ;;QAAEC;eAAAA,yBAAe;;QAhDzBC;eAAAA,oBAAa;;QAebC;eAAAA,6BAAiB;;QAIjBC;eAAAA,qBAAa;;QAfbC;eAAAA,oBAAS;;QAlCTC;eAAAA,kCAAqB;;QAUjBC;eAAAA;;QAmCeC;eAAAA,6BAAiB;;QAIrBC;eAAAA,qBAAa;;QA5CjCC;eAAAA;;QANKC;eAAAA,kBAAQ;;QAObC;eAAAA,gBAAO;;QAgBPC;eAAAA,kBAAa;;QAGbC;eAAAA,cAAS;;QAK8BC;eAAAA,sBAAe;;QANtDC;eAAAA,cAAS;;QAETC;eAAAA,oBAAe;;QAHfC;eAAAA,aAAQ;;QAOYC;eAAAA,wBAAiB;;;yBAvEjB;0BAEC;6BACa;qBAiE/B;uBAG2D;2BAIxC;4BAW2B;wBAIR;qBAmB/B;qBACA;qBAGA;qBAGA;0BAG4B;;;;;;;;;;;;;;AAjH1C;;;;;;;;;;;;;;;;;;;CAmBC,GACD;;;;;;;CAOC,GACD,MAAMT,QAAQ,OAAOU,UAAwB,CAAC,CAAC;IAC3C,kBAAkB;IAClB,MAAMT,IAAAA,kBAAQ,EAACS;AACnB;AAcO,MAAMb,kBAAkB;IAC3B,MAAMc,kBAAkBf,IAAAA,kCAAqB;IAC7C,MAAMgB,WAAWD,gBAAgBE,WAAW;IAC5C,IAAID,UAAU;QACV,OAAOA,SAASE,WAAW,GAAGC,YAAY;IAC9C;IACA,OAAO;AACX"}
@@ -49,5 +49,6 @@ export type { StartOptions, ManagerLifecycle, SplashScreenCustomProps } from './
49
49
  export * from './startup';
50
50
  export * from './config';
51
51
  export * from './router';
52
+ export * from './event';
52
53
  export { DevTools, DevToolsTrigger } from './dev/DevTools';
53
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,GAAU,UAAS,YAAiB,KAAG,OAAO,CAAC,IAAI,CAG7D,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EACH,KAAK,EACL,OAAO,GACV,CAAC;AAGF,eAAO,MAAM,eAAe,QAAO,YAAY,GAAG,IAOjD,CAAC;AAGF,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,eAAe,GAClB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,YAAY,EACR,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,YAAY,EACR,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACX,SAAS,EACT,uBAAuB,GAC1B,MAAM,OAAO,CAAC;AAGf,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGvF,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,GAAU,UAAS,YAAiB,KAAG,OAAO,CAAC,IAAI,CAG7D,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EACH,KAAK,EACL,OAAO,GACV,CAAC;AAGF,eAAO,MAAM,eAAe,QAAO,YAAY,GAAG,IAOjD,CAAC;AAGF,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,eAAe,GAClB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,YAAY,EACR,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,YAAY,EACR,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACX,SAAS,EACT,uBAAuB,GAC1B,MAAM,OAAO,CAAC;AAGf,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGvF,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -60,6 +60,8 @@ export * from "./startup";
60
60
  export * from "./config";
61
61
  // 导出路由相关模块
62
62
  export * from "./router";
63
+ // 导出事件系统
64
+ export * from "./event";
63
65
  // 导出开发工具
64
66
  export { DevTools, DevToolsTrigger } from "./dev/DevTools";
65
67
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/core/index.tsx"],"sourcesContent":["import type { StartOptions } from \"./types\";\nimport { storage } from '../library';\nimport { StateManager } from '../state';\nimport { startApp } from './startup/startApp';\nimport { getAppInstanceManager } from './startup/AppInstance';\n\n\n/**\n * 启动框架\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @example\n * ```typescript\n * import { start } from '@vlian/framework';\n * \n * start({\n * loggerLevel: LogLevel.DEBUG,\n * lifecycle: {\n * beforeInitialization: async () => {\n * console.log('初始化前执行');\n * },\n * },\n * });\n * ```\n */\n/**\n * 启动框架(向后兼容的API)\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @deprecated 建议使用 startApp 函数,支持多实例\n */\nconst start = async (options: StartOptions = {}): Promise<void> => {\n // 使用新的启动函数,保持向后兼容\n await startApp(options);\n};\n\n// 导出新的启动函数\nexport { startApp } from './startup/startApp';\nexport { getAppInstanceManager } from './startup/AppInstance';\nexport type { AppInstance } from './startup/AppInstance';\n\n// 导出向后兼容的start函数\nexport {\n start,\n storage,\n};\n\n// 导出getStateManager(向后兼容)\nexport const getStateManager = (): StateManager | null => {\n const instanceManager = getAppInstanceManager();\n const instance = instanceManager.getInstance();\n if (instance) {\n return instance.getServices().stateManager;\n }\n return null;\n};\n\n// 导出应用上下文相关功能\nexport {\n AppContextProvider,\n useAppContext,\n useTheme,\n useLocale,\n useConfig,\n useStateManager,\n} from './app';\n\n// 导出错误边界\nexport { ErrorBoundary, withErrorBoundary, useErrorHandler } from './error';\nexport type { ErrorBoundaryProps } from './error';\n\n// 导出应用配置单例\nexport { appConfig } from './config/AppConfig';\n\n// 导出初始化相关类型\nexport type {\n InitializationContext,\n ConfigStrategy,\n InitializationOptions,\n ProgressCallback,\n} from './initialization';\n\n// 导出中间件\nexport { MiddlewareManager, middlewareManager } from './middleware';\nexport type { Middleware } from './middleware';\n\n// 导出插件\nexport { PluginManager, pluginManager } from './plugin';\nexport type { Plugin } from './plugin';\n\n// 导出应用上下文相关类型\nexport type {\n AppContextValue,\n ThemeContextValue,\n LocaleContextValue,\n ConfigContextValue,\n StateManagerContextValue,\n ThemeConfig,\n AppConfig,\n AppContextProviderProps,\n} from './app';\n\n// 导出启动配置相关类型\nexport type { StartOptions, ManagerLifecycle, SplashScreenCustomProps } from './types';\n\n// 导出启动相关模块\nexport * from './startup';\nexport * from './config';\n\n// 导出路由相关模块\nexport * from './router';\n\n// 导出开发工具\nexport { DevTools, DevToolsTrigger } from './dev/DevTools';"],"names":["storage","startApp","getAppInstanceManager","start","options","getStateManager","instanceManager","instance","getInstance","getServices","stateManager","AppContextProvider","useAppContext","useTheme","useLocale","useConfig","useStateManager","ErrorBoundary","withErrorBoundary","useErrorHandler","appConfig","MiddlewareManager","middlewareManager","PluginManager","pluginManager","DevTools","DevToolsTrigger"],"mappings":"AACA,SAASA,OAAO,QAAQ,aAAa;AAErC,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,qBAAqB,QAAQ,wBAAwB;AAG9D;;;;;;;;;;;;;;;;;;;CAmBC,GACD;;;;;;;CAOC,GACD,MAAMC,QAAQ,OAAOC,UAAwB,CAAC,CAAC;IAC3C,kBAAkB;IAClB,MAAMH,SAASG;AACnB;AAEA,WAAW;AACX,SAASH,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,qBAAqB,QAAQ,wBAAwB;AAG9D,iBAAiB;AACjB,SACIC,KAAK,EACLH,OAAO,GACT;AAEF,0BAA0B;AAC1B,OAAO,MAAMK,kBAAkB;IAC3B,MAAMC,kBAAkBJ;IACxB,MAAMK,WAAWD,gBAAgBE,WAAW;IAC5C,IAAID,UAAU;QACV,OAAOA,SAASE,WAAW,GAAGC,YAAY;IAC9C;IACA,OAAO;AACX,EAAE;AAEF,cAAc;AACd,SACIC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,eAAe,QACZ,QAAQ;AAEf,SAAS;AACT,SAASC,aAAa,EAAEC,iBAAiB,EAAEC,eAAe,QAAQ,UAAU;AAG5E,WAAW;AACX,SAASC,SAAS,QAAQ,qBAAqB;AAU/C,QAAQ;AACR,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,eAAe;AAGpE,OAAO;AACP,SAASC,aAAa,EAAEC,aAAa,QAAQ,WAAW;AAkBxD,WAAW;AACX,cAAc,YAAY;AAC1B,cAAc,WAAW;AAEzB,WAAW;AACX,cAAc,WAAW;AAEzB,SAAS;AACT,SAASC,QAAQ,EAAEC,eAAe,QAAQ,iBAAiB"}
1
+ {"version":3,"sources":["../../src/core/index.tsx"],"sourcesContent":["import type { StartOptions } from \"./types\";\nimport { storage } from '../library';\nimport { StateManager } from '../state';\nimport { startApp } from './startup/startApp';\nimport { getAppInstanceManager } from './startup/AppInstance';\n\n\n/**\n * 启动框架\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @example\n * ```typescript\n * import { start } from '@vlian/framework';\n * \n * start({\n * loggerLevel: LogLevel.DEBUG,\n * lifecycle: {\n * beforeInitialization: async () => {\n * console.log('初始化前执行');\n * },\n * },\n * });\n * ```\n */\n/**\n * 启动框架(向后兼容的API)\n * \n * @param options - 启动配置选项\n * @returns Promise<void>\n * \n * @deprecated 建议使用 startApp 函数,支持多实例\n */\nconst start = async (options: StartOptions = {}): Promise<void> => {\n // 使用新的启动函数,保持向后兼容\n await startApp(options);\n};\n\n// 导出新的启动函数\nexport { startApp } from './startup/startApp';\nexport { getAppInstanceManager } from './startup/AppInstance';\nexport type { AppInstance } from './startup/AppInstance';\n\n// 导出向后兼容的start函数\nexport {\n start,\n storage,\n};\n\n// 导出getStateManager(向后兼容)\nexport const getStateManager = (): StateManager | null => {\n const instanceManager = getAppInstanceManager();\n const instance = instanceManager.getInstance();\n if (instance) {\n return instance.getServices().stateManager;\n }\n return null;\n};\n\n// 导出应用上下文相关功能\nexport {\n AppContextProvider,\n useAppContext,\n useTheme,\n useLocale,\n useConfig,\n useStateManager,\n} from './app';\n\n// 导出错误边界\nexport { ErrorBoundary, withErrorBoundary, useErrorHandler } from './error';\nexport type { ErrorBoundaryProps } from './error';\n\n// 导出应用配置单例\nexport { appConfig } from './config/AppConfig';\n\n// 导出初始化相关类型\nexport type {\n InitializationContext,\n ConfigStrategy,\n InitializationOptions,\n ProgressCallback,\n} from './initialization';\n\n// 导出中间件\nexport { MiddlewareManager, middlewareManager } from './middleware';\nexport type { Middleware } from './middleware';\n\n// 导出插件\nexport { PluginManager, pluginManager } from './plugin';\nexport type { Plugin } from './plugin';\n\n// 导出应用上下文相关类型\nexport type {\n AppContextValue,\n ThemeContextValue,\n LocaleContextValue,\n ConfigContextValue,\n StateManagerContextValue,\n ThemeConfig,\n AppConfig,\n AppContextProviderProps,\n} from './app';\n\n// 导出启动配置相关类型\nexport type { StartOptions, ManagerLifecycle, SplashScreenCustomProps } from './types';\n\n// 导出启动相关模块\nexport * from './startup';\nexport * from './config';\n\n// 导出路由相关模块\nexport * from './router';\n\n// 导出事件系统\nexport * from './event';\n\n// 导出开发工具\nexport { DevTools, DevToolsTrigger } from './dev/DevTools';"],"names":["storage","startApp","getAppInstanceManager","start","options","getStateManager","instanceManager","instance","getInstance","getServices","stateManager","AppContextProvider","useAppContext","useTheme","useLocale","useConfig","useStateManager","ErrorBoundary","withErrorBoundary","useErrorHandler","appConfig","MiddlewareManager","middlewareManager","PluginManager","pluginManager","DevTools","DevToolsTrigger"],"mappings":"AACA,SAASA,OAAO,QAAQ,aAAa;AAErC,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,qBAAqB,QAAQ,wBAAwB;AAG9D;;;;;;;;;;;;;;;;;;;CAmBC,GACD;;;;;;;CAOC,GACD,MAAMC,QAAQ,OAAOC,UAAwB,CAAC,CAAC;IAC3C,kBAAkB;IAClB,MAAMH,SAASG;AACnB;AAEA,WAAW;AACX,SAASH,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,qBAAqB,QAAQ,wBAAwB;AAG9D,iBAAiB;AACjB,SACIC,KAAK,EACLH,OAAO,GACT;AAEF,0BAA0B;AAC1B,OAAO,MAAMK,kBAAkB;IAC3B,MAAMC,kBAAkBJ;IACxB,MAAMK,WAAWD,gBAAgBE,WAAW;IAC5C,IAAID,UAAU;QACV,OAAOA,SAASE,WAAW,GAAGC,YAAY;IAC9C;IACA,OAAO;AACX,EAAE;AAEF,cAAc;AACd,SACIC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,eAAe,QACZ,QAAQ;AAEf,SAAS;AACT,SAASC,aAAa,EAAEC,iBAAiB,EAAEC,eAAe,QAAQ,UAAU;AAG5E,WAAW;AACX,SAASC,SAAS,QAAQ,qBAAqB;AAU/C,QAAQ;AACR,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,eAAe;AAGpE,OAAO;AACP,SAASC,aAAa,EAAEC,aAAa,QAAQ,WAAW;AAkBxD,WAAW;AACX,cAAc,YAAY;AAC1B,cAAc,WAAW;AAEzB,WAAW;AACX,cAAc,WAAW;AAEzB,SAAS;AACT,cAAc,UAAU;AAExB,SAAS;AACT,SAASC,QAAQ,EAAEC,eAAe,QAAQ,iBAAiB"}
@@ -78,6 +78,14 @@ let AppInstance = class AppInstance {
78
78
  return this.performanceTracker;
79
79
  }
80
80
  /**
81
+ * 获取事件总线
82
+ */ getEventBus() {
83
+ if (!this.services) {
84
+ return null;
85
+ }
86
+ return this.services.eventBus;
87
+ }
88
+ /**
81
89
  * 获取启动配置
82
90
  */ getOptions() {
83
91
  return this.options;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/core/startup/AppInstance.ts"],"sourcesContent":["/**\n * 应用实例管理模块\n * 支持多实例隔离\n */\n\nimport type { Container } from 'react-dom/client';\nimport type { StartOptions } from '../types';\nimport { AppRenderer } from './renderApp';\nimport type { ServicesInitResult } from './initializeServices';\nimport { PerformanceTracker } from './performanceTracker';\n\n/**\n * 应用实例\n */\nexport class AppInstance {\n /**\n * 实例ID\n */\n readonly id: string;\n\n /**\n * 应用渲染器\n */\n private renderer: AppRenderer;\n\n /**\n * 服务实例\n */\n private services: ServicesInitResult | null = null;\n\n /**\n * 性能追踪器\n */\n private performanceTracker: PerformanceTracker | null = null;\n\n /**\n * 启动配置\n */\n private options: StartOptions;\n\n /**\n * 是否已初始化\n */\n private initialized = false;\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n constructor(id: string, options: StartOptions) {\n this.id = id;\n this.options = options;\n this.renderer = new AppRenderer();\n }\n\n /**\n * 初始化应用实例\n * \n * @param container - React应用的挂载容器\n * @param services - 服务实例\n */\n initialize(container: Container, services: ServicesInitResult): void {\n if (this.initialized) {\n throw new Error(`应用实例 ${this.id} 已经初始化`);\n }\n\n if (this.destroyed) {\n throw new Error(`应用实例 ${this.id} 已销毁,无法重新初始化`);\n }\n\n this.services = services;\n this.renderer.initialize(container, this.options.rootOptions);\n this.performanceTracker = new PerformanceTracker(services.monitoring);\n this.performanceTracker.collectWebVitals();\n this.initialized = true;\n }\n\n /**\n * 获取渲染器\n */\n getRenderer(): AppRenderer {\n if (!this.initialized) {\n throw new Error(`应用实例 ${this.id} 未初始化`);\n }\n return this.renderer;\n }\n\n /**\n * 获取服务实例\n */\n getServices(): ServicesInitResult {\n if (!this.services) {\n throw new Error(`应用实例 ${this.id} 未初始化`);\n }\n return this.services;\n }\n\n /**\n * 获取性能追踪器\n */\n getPerformanceTracker(): PerformanceTracker | null {\n return this.performanceTracker;\n }\n\n /**\n * 获取启动配置\n */\n getOptions(): StartOptions {\n return this.options;\n }\n\n /**\n * 是否已初始化\n */\n isInitialized(): boolean {\n return this.initialized;\n }\n\n /**\n * 是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 销毁应用实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.renderer.destroy();\n this.services = null;\n this.performanceTracker = null;\n this.destroyed = true;\n }\n}\n\n/**\n * 应用实例管理器\n */\nexport class AppInstanceManager {\n private static instance: AppInstanceManager | null = null;\n private instances: Map<string, AppInstance> = new Map();\n private defaultInstanceId: string | null = null;\n\n private constructor() {\n // 私有构造函数\n }\n\n /**\n * 获取单例实例\n */\n static getInstance(): AppInstanceManager {\n if (!AppInstanceManager.instance) {\n AppInstanceManager.instance = new AppInstanceManager();\n }\n return AppInstanceManager.instance;\n }\n\n /**\n * 创建应用实例\n * \n * @param id - 实例ID,如果不提供则自动生成\n * @param options - 启动配置选项\n * @returns 应用实例\n */\n createInstance(id?: string, options: StartOptions = {}): AppInstance {\n const instanceId = id || `app-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n \n if (this.instances.has(instanceId)) {\n throw new Error(`应用实例 ${instanceId} 已存在`);\n }\n\n const instance = new AppInstance(instanceId, options);\n this.instances.set(instanceId, instance);\n\n // 如果没有默认实例,设置为默认实例\n if (!this.defaultInstanceId) {\n this.defaultInstanceId = instanceId;\n }\n\n return instance;\n }\n\n /**\n * 获取应用实例\n * \n * @param id - 实例ID,如果不提供则返回默认实例\n * @returns 应用实例或undefined\n */\n getInstance(id?: string): AppInstance | undefined {\n const instanceId = id || this.defaultInstanceId;\n if (!instanceId) {\n return undefined;\n }\n return this.instances.get(instanceId);\n }\n\n /**\n * 销毁应用实例\n * \n * @param id - 实例ID,如果不提供则销毁默认实例\n */\n destroyInstance(id?: string): void {\n const instanceId = id || this.defaultInstanceId;\n if (!instanceId) {\n return;\n }\n\n const instance = this.instances.get(instanceId);\n if (instance) {\n instance.destroy();\n this.instances.delete(instanceId);\n\n // 如果销毁的是默认实例,重新设置默认实例\n if (this.defaultInstanceId === instanceId) {\n const remainingInstances = Array.from(this.instances.keys());\n this.defaultInstanceId = remainingInstances.length > 0 ? remainingInstances[0] : null;\n }\n }\n }\n\n /**\n * 获取所有实例\n */\n getAllInstances(): AppInstance[] {\n return Array.from(this.instances.values());\n }\n\n /**\n * 设置默认实例\n * \n * @param id - 实例ID\n */\n setDefaultInstance(id: string): void {\n if (!this.instances.has(id)) {\n throw new Error(`应用实例 ${id} 不存在`);\n }\n this.defaultInstanceId = id;\n }\n\n /**\n * 获取默认实例ID\n */\n getDefaultInstanceId(): string | null {\n return this.defaultInstanceId;\n }\n\n /**\n * 清空所有实例\n */\n clear(): void {\n for (const instance of this.instances.values()) {\n instance.destroy();\n }\n this.instances.clear();\n this.defaultInstanceId = null;\n }\n}\n\n/**\n * 获取应用实例管理器\n */\nexport function getAppInstanceManager(): AppInstanceManager {\n return AppInstanceManager.getInstance();\n}\n"],"names":["AppInstance","AppInstanceManager","getAppInstanceManager","initialize","container","services","initialized","Error","id","destroyed","renderer","options","rootOptions","performanceTracker","PerformanceTracker","monitoring","collectWebVitals","getRenderer","getServices","getPerformanceTracker","getOptions","isInitialized","isDestroyed","destroy","AppRenderer","getInstance","instance","createInstance","instanceId","Date","now","Math","random","toString","substr","instances","has","set","defaultInstanceId","undefined","get","destroyInstance","delete","remainingInstances","Array","from","keys","length","getAllInstances","values","setDefaultInstance","getDefaultInstanceId","clear","Map"],"mappings":"AAAA;;;CAGC;;;;;;;;;;;QAWYA;eAAAA;;QAkIAC;eAAAA;;QA2HGC;eAAAA;;;2BApQY;oCAEO;;;;;;;;;;;;;;AAK5B,IAAA,AAAMF,cAAN,MAAMA;IA0CX;;;;;GAKC,GACDG,WAAWC,SAAoB,EAAEC,QAA4B,EAAQ;QACnE,IAAI,IAAI,CAACC,WAAW,EAAE;YACpB,MAAM,IAAIC,MAAM,CAAC,KAAK,EAAE,IAAI,CAACC,EAAE,CAAC,MAAM,CAAC;QACzC;QAEA,IAAI,IAAI,CAACC,SAAS,EAAE;YAClB,MAAM,IAAIF,MAAM,CAAC,KAAK,EAAE,IAAI,CAACC,EAAE,CAAC,YAAY,CAAC;QAC/C;QAEA,IAAI,CAACH,QAAQ,GAAGA;QAChB,IAAI,CAACK,QAAQ,CAACP,UAAU,CAACC,WAAW,IAAI,CAACO,OAAO,CAACC,WAAW;QAC5D,IAAI,CAACC,kBAAkB,GAAG,IAAIC,sCAAkB,CAACT,SAASU,UAAU;QACpE,IAAI,CAACF,kBAAkB,CAACG,gBAAgB;QACxC,IAAI,CAACV,WAAW,GAAG;IACrB;IAEA;;GAEC,GACDW,cAA2B;QACzB,IAAI,CAAC,IAAI,CAACX,WAAW,EAAE;YACrB,MAAM,IAAIC,MAAM,CAAC,KAAK,EAAE,IAAI,CAACC,EAAE,CAAC,KAAK,CAAC;QACxC;QACA,OAAO,IAAI,CAACE,QAAQ;IACtB;IAEA;;GAEC,GACDQ,cAAkC;QAChC,IAAI,CAAC,IAAI,CAACb,QAAQ,EAAE;YAClB,MAAM,IAAIE,MAAM,CAAC,KAAK,EAAE,IAAI,CAACC,EAAE,CAAC,KAAK,CAAC;QACxC;QACA,OAAO,IAAI,CAACH,QAAQ;IACtB;IAEA;;GAEC,GACDc,wBAAmD;QACjD,OAAO,IAAI,CAACN,kBAAkB;IAChC;IAEA;;GAEC,GACDO,aAA2B;QACzB,OAAO,IAAI,CAACT,OAAO;IACrB;IAEA;;GAEC,GACDU,gBAAyB;QACvB,OAAO,IAAI,CAACf,WAAW;IACzB;IAEA;;GAEC,GACDgB,cAAuB;QACrB,OAAO,IAAI,CAACb,SAAS;IACvB;IAEA;;GAEC,GACDc,UAAgB;QACd,IAAI,IAAI,CAACd,SAAS,EAAE;YAClB;QACF;QAEA,IAAI,CAACC,QAAQ,CAACa,OAAO;QACrB,IAAI,CAAClB,QAAQ,GAAG;QAChB,IAAI,CAACQ,kBAAkB,GAAG;QAC1B,IAAI,CAACJ,SAAS,GAAG;IACnB;IAxFA,YAAYD,EAAU,EAAEG,OAAqB,CAAE;QAnC/C;;GAEC,GACD,uBAASH,MAAT,KAAA;QAEA;;GAEC,GACD,uBAAQE,YAAR,KAAA;QAEA;;GAEC,GACD,uBAAQL,YAAsC;QAE9C;;GAEC,GACD,uBAAQQ,sBAAgD;QAExD;;GAEC,GACD,uBAAQF,WAAR,KAAA;QAEA;;GAEC,GACD,uBAAQL,eAAc;QAEtB;;GAEC,GACD,uBAAQG,aAAY;QAGlB,IAAI,CAACD,EAAE,GAAGA;QACV,IAAI,CAACG,OAAO,GAAGA;QACf,IAAI,CAACD,QAAQ,GAAG,IAAIc,sBAAW;IACjC;AAqFF;AAKO,IAAA,AAAMvB,qBAAN,MAAMA;IASX;;GAEC,GACD,OAAOwB,cAAkC;QACvC,IAAI,CAACxB,mBAAmByB,QAAQ,EAAE;YAChCzB,mBAAmByB,QAAQ,GAAG,IAAIzB;QACpC;QACA,OAAOA,mBAAmByB,QAAQ;IACpC;IAEA;;;;;;GAMC,GACDC,eAAenB,EAAW,EAAEG,UAAwB,CAAC,CAAC,EAAe;QACnE,MAAMiB,aAAapB,MAAM,CAAC,IAAI,EAAEqB,KAAKC,GAAG,GAAG,CAAC,EAAEC,KAAKC,MAAM,GAAGC,QAAQ,CAAC,IAAIC,MAAM,CAAC,GAAG,IAAI;QAEvF,IAAI,IAAI,CAACC,SAAS,CAACC,GAAG,CAACR,aAAa;YAClC,MAAM,IAAIrB,MAAM,CAAC,KAAK,EAAEqB,WAAW,IAAI,CAAC;QAC1C;QAEA,MAAMF,WAAW,IAAI1B,YAAY4B,YAAYjB;QAC7C,IAAI,CAACwB,SAAS,CAACE,GAAG,CAACT,YAAYF;QAE/B,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAACY,iBAAiB,EAAE;YAC3B,IAAI,CAACA,iBAAiB,GAAGV;QAC3B;QAEA,OAAOF;IACT;IAEA;;;;;GAKC,GACDD,YAAYjB,EAAW,EAA2B;QAChD,MAAMoB,aAAapB,MAAM,IAAI,CAAC8B,iBAAiB;QAC/C,IAAI,CAACV,YAAY;YACf,OAAOW;QACT;QACA,OAAO,IAAI,CAACJ,SAAS,CAACK,GAAG,CAACZ;IAC5B;IAEA;;;;GAIC,GACDa,gBAAgBjC,EAAW,EAAQ;QACjC,MAAMoB,aAAapB,MAAM,IAAI,CAAC8B,iBAAiB;QAC/C,IAAI,CAACV,YAAY;YACf;QACF;QAEA,MAAMF,WAAW,IAAI,CAACS,SAAS,CAACK,GAAG,CAACZ;QACpC,IAAIF,UAAU;YACZA,SAASH,OAAO;YAChB,IAAI,CAACY,SAAS,CAACO,MAAM,CAACd;YAEtB,sBAAsB;YACtB,IAAI,IAAI,CAACU,iBAAiB,KAAKV,YAAY;gBACzC,MAAMe,qBAAqBC,MAAMC,IAAI,CAAC,IAAI,CAACV,SAAS,CAACW,IAAI;gBACzD,IAAI,CAACR,iBAAiB,GAAGK,mBAAmBI,MAAM,GAAG,IAAIJ,kBAAkB,CAAC,EAAE,GAAG;YACnF;QACF;IACF;IAEA;;GAEC,GACDK,kBAAiC;QAC/B,OAAOJ,MAAMC,IAAI,CAAC,IAAI,CAACV,SAAS,CAACc,MAAM;IACzC;IAEA;;;;GAIC,GACDC,mBAAmB1C,EAAU,EAAQ;QACnC,IAAI,CAAC,IAAI,CAAC2B,SAAS,CAACC,GAAG,CAAC5B,KAAK;YAC3B,MAAM,IAAID,MAAM,CAAC,KAAK,EAAEC,GAAG,IAAI,CAAC;QAClC;QACA,IAAI,CAAC8B,iBAAiB,GAAG9B;IAC3B;IAEA;;GAEC,GACD2C,uBAAsC;QACpC,OAAO,IAAI,CAACb,iBAAiB;IAC/B;IAEA;;GAEC,GACDc,QAAc;QACZ,KAAK,MAAM1B,YAAY,IAAI,CAACS,SAAS,CAACc,MAAM,GAAI;YAC9CvB,SAASH,OAAO;QAClB;QACA,IAAI,CAACY,SAAS,CAACiB,KAAK;QACpB,IAAI,CAACd,iBAAiB,GAAG;IAC3B;IAhHA,aAAsB;QAHtB,uBAAQH,aAAsC,IAAIkB;QAClD,uBAAQf,qBAAmC;IAGzC,SAAS;IACX;AA+GF;AArHE,iBADWrC,oBACIyB,YAAsC;AA0HhD,SAASxB;IACd,OAAOD,mBAAmBwB,WAAW;AACvC"}
1
+ {"version":3,"sources":["../../../src/core/startup/AppInstance.ts"],"sourcesContent":["/**\n * 应用实例管理模块\n * 支持多实例隔离\n */\n\nimport type { Container } from 'react-dom/client';\nimport type { StartOptions } from '../types';\nimport { AppRenderer } from './renderApp';\nimport type { ServicesInitResult } from './initializeServices';\nimport { PerformanceTracker } from './performanceTracker';\n\n/**\n * 应用实例\n */\nexport class AppInstance {\n /**\n * 实例ID\n */\n readonly id: string;\n\n /**\n * 应用渲染器\n */\n private renderer: AppRenderer;\n\n /**\n * 服务实例\n */\n private services: ServicesInitResult | null = null;\n\n /**\n * 性能追踪器\n */\n private performanceTracker: PerformanceTracker | null = null;\n\n /**\n * 启动配置\n */\n private options: StartOptions;\n\n /**\n * 是否已初始化\n */\n private initialized = false;\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n constructor(id: string, options: StartOptions) {\n this.id = id;\n this.options = options;\n this.renderer = new AppRenderer();\n }\n\n /**\n * 初始化应用实例\n * \n * @param container - React应用的挂载容器\n * @param services - 服务实例\n */\n initialize(container: Container, services: ServicesInitResult): void {\n if (this.initialized) {\n throw new Error(`应用实例 ${this.id} 已经初始化`);\n }\n\n if (this.destroyed) {\n throw new Error(`应用实例 ${this.id} 已销毁,无法重新初始化`);\n }\n\n this.services = services;\n this.renderer.initialize(container, this.options.rootOptions);\n this.performanceTracker = new PerformanceTracker(services.monitoring);\n this.performanceTracker.collectWebVitals();\n this.initialized = true;\n }\n\n /**\n * 获取渲染器\n */\n getRenderer(): AppRenderer {\n if (!this.initialized) {\n throw new Error(`应用实例 ${this.id} 未初始化`);\n }\n return this.renderer;\n }\n\n /**\n * 获取服务实例\n */\n getServices(): ServicesInitResult {\n if (!this.services) {\n throw new Error(`应用实例 ${this.id} 未初始化`);\n }\n return this.services;\n }\n\n /**\n * 获取性能追踪器\n */\n getPerformanceTracker(): PerformanceTracker | null {\n return this.performanceTracker;\n }\n\n /**\n * 获取事件总线\n */\n getEventBus(): import('../event/AppEventBus').AppEventBus | null {\n if (!this.services) {\n return null;\n }\n return this.services.eventBus;\n }\n\n /**\n * 获取启动配置\n */\n getOptions(): StartOptions {\n return this.options;\n }\n\n /**\n * 是否已初始化\n */\n isInitialized(): boolean {\n return this.initialized;\n }\n\n /**\n * 是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 销毁应用实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.renderer.destroy();\n this.services = null;\n this.performanceTracker = null;\n this.destroyed = true;\n }\n}\n\n/**\n * 应用实例管理器\n */\nexport class AppInstanceManager {\n private static instance: AppInstanceManager | null = null;\n private instances: Map<string, AppInstance> = new Map();\n private defaultInstanceId: string | null = null;\n\n private constructor() {\n // 私有构造函数\n }\n\n /**\n * 获取单例实例\n */\n static getInstance(): AppInstanceManager {\n if (!AppInstanceManager.instance) {\n AppInstanceManager.instance = new AppInstanceManager();\n }\n return AppInstanceManager.instance;\n }\n\n /**\n * 创建应用实例\n * \n * @param id - 实例ID,如果不提供则自动生成\n * @param options - 启动配置选项\n * @returns 应用实例\n */\n createInstance(id?: string, options: StartOptions = {}): AppInstance {\n const instanceId = id || `app-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n \n if (this.instances.has(instanceId)) {\n throw new Error(`应用实例 ${instanceId} 已存在`);\n }\n\n const instance = new AppInstance(instanceId, options);\n this.instances.set(instanceId, instance);\n\n // 如果没有默认实例,设置为默认实例\n if (!this.defaultInstanceId) {\n this.defaultInstanceId = instanceId;\n }\n\n return instance;\n }\n\n /**\n * 获取应用实例\n * \n * @param id - 实例ID,如果不提供则返回默认实例\n * @returns 应用实例或undefined\n */\n getInstance(id?: string): AppInstance | undefined {\n const instanceId = id || this.defaultInstanceId;\n if (!instanceId) {\n return undefined;\n }\n return this.instances.get(instanceId);\n }\n\n /**\n * 销毁应用实例\n * \n * @param id - 实例ID,如果不提供则销毁默认实例\n */\n destroyInstance(id?: string): void {\n const instanceId = id || this.defaultInstanceId;\n if (!instanceId) {\n return;\n }\n\n const instance = this.instances.get(instanceId);\n if (instance) {\n instance.destroy();\n this.instances.delete(instanceId);\n\n // 如果销毁的是默认实例,重新设置默认实例\n if (this.defaultInstanceId === instanceId) {\n const remainingInstances = Array.from(this.instances.keys());\n this.defaultInstanceId = remainingInstances.length > 0 ? remainingInstances[0] : null;\n }\n }\n }\n\n /**\n * 获取所有实例\n */\n getAllInstances(): AppInstance[] {\n return Array.from(this.instances.values());\n }\n\n /**\n * 设置默认实例\n * \n * @param id - 实例ID\n */\n setDefaultInstance(id: string): void {\n if (!this.instances.has(id)) {\n throw new Error(`应用实例 ${id} 不存在`);\n }\n this.defaultInstanceId = id;\n }\n\n /**\n * 获取默认实例ID\n */\n getDefaultInstanceId(): string | null {\n return this.defaultInstanceId;\n }\n\n /**\n * 清空所有实例\n */\n clear(): void {\n for (const instance of this.instances.values()) {\n instance.destroy();\n }\n this.instances.clear();\n this.defaultInstanceId = null;\n }\n}\n\n/**\n * 获取应用实例管理器\n */\nexport function getAppInstanceManager(): AppInstanceManager {\n return AppInstanceManager.getInstance();\n}\n"],"names":["AppInstance","AppInstanceManager","getAppInstanceManager","initialize","container","services","initialized","Error","id","destroyed","renderer","options","rootOptions","performanceTracker","PerformanceTracker","monitoring","collectWebVitals","getRenderer","getServices","getPerformanceTracker","getEventBus","eventBus","getOptions","isInitialized","isDestroyed","destroy","AppRenderer","getInstance","instance","createInstance","instanceId","Date","now","Math","random","toString","substr","instances","has","set","defaultInstanceId","undefined","get","destroyInstance","delete","remainingInstances","Array","from","keys","length","getAllInstances","values","setDefaultInstance","getDefaultInstanceId","clear","Map"],"mappings":"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"}
@@ -59,6 +59,10 @@ export declare class AppInstance {
59
59
  * 获取性能追踪器
60
60
  */
61
61
  getPerformanceTracker(): PerformanceTracker | null;
62
+ /**
63
+ * 获取事件总线
64
+ */
65
+ getEventBus(): import('../event/AppEventBus').AppEventBus | null;
62
66
  /**
63
67
  * 获取启动配置
64
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AppInstance.d.ts","sourceRoot":"","sources":["../../../src/core/startup/AppInstance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAc;IAE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAmC;IAEnD;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAmC;IAE7D;;OAEG;IACH,OAAO,CAAC,OAAO,CAAe;IAE9B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAS;IAE5B;;OAEG;IACH,OAAO,CAAC,SAAS,CAAS;gBAEd,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAM7C;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAgBpE;;OAEG;IACH,WAAW,IAAI,WAAW;IAO1B;;OAEG;IACH,WAAW,IAAI,kBAAkB;IAOjC;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,GAAG,IAAI;IAIlD;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,IAAI,IAAI;CAUhB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW;IAkBpE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAQjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBlC;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOpC;;OAEG;IACH,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,KAAK,IAAI,IAAI;CAOd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAE1D"}
1
+ {"version":3,"file":"AppInstance.d.ts","sourceRoot":"","sources":["../../../src/core/startup/AppInstance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAc;IAE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAmC;IAEnD;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAmC;IAE7D;;OAEG;IACH,OAAO,CAAC,OAAO,CAAe;IAE9B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAS;IAE5B;;OAEG;IACH,OAAO,CAAC,SAAS,CAAS;gBAEd,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAM7C;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAgBpE;;OAEG;IACH,WAAW,IAAI,WAAW;IAO1B;;OAEG;IACH,WAAW,IAAI,kBAAkB;IAOjC;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,GAAG,IAAI;IAIlD;;OAEG;IACH,WAAW,IAAI,OAAO,sBAAsB,EAAE,WAAW,GAAG,IAAI;IAOhE;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,IAAI,IAAI;CAUhB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW;IAkBpE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAQjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBlC;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOpC;;OAEG;IACH,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,KAAK,IAAI,IAAI;CAOd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAE1D"}