import { EventEmitter } from 'events'; /** * 共享事件类型 */ export interface SharedEventMap { /** * 修改配色方案 */ loadColorScheme: (schemeName: string) => void; } export type SharedEventType = keyof SharedEventMap; const bus = new EventEmitter(); /** * 事件中心 */ export const sharedEvent = { on(eventName: T, listener: SharedEventMap[T]) { bus.on(eventName, listener); }, off(eventName: T, listener: SharedEventMap[T]) { bus.off(eventName, listener); }, emit( eventName: T, ...args: Parameters ) { bus.emit(eventName, ...args); }, };