export const eventBus = { events: {}, // 注册事件监听 on(eventName, callback) { if (!this.events[eventName]) { this.events[eventName] = []; } this.events[eventName].push(callback); }, // 触发事件 emit(eventName, data) { const callbacks = this.events[eventName] || []; callbacks.forEach((callback) => { if (typeof callback === "function") { callback(data); } }); }, // 移除事件监听 off(eventName, callback) { const callbacks = this.events[eventName]; if (!callbacks) return; if (!callback) { delete this.events[eventName]; return; } this.events[eventName] = callbacks.filter((item) => item !== callback); if (!this.events[eventName].length) { delete this.events[eventName]; } } };