Guanghu Domestic Migration d1e47f4565
Some checks are pending
自动更新代码和重启 / update-and-restart (push) Waiting to run
CI检查 + 自动部署 / check (push) Waiting to run
CI检查 + 自动部署 / deploy (push) Blocked by required conditions
重启聊天服务 / restart (push) Waiting to run
chore: import sanitized domestic snapshot for REPO-002
Source snapshot: ca48d3ddf926d79aa138306164169baf764bb829
2026-07-17 15:54:41 +08:00

38 lines
1.1 KiB
JavaScript

// 事件总线(群聊频道)
window.EventBus = {
listeners: {},
// 订阅(加入群聊)
on: function(event, callback) {
if (!this.listeners[event]) {
this.listeners[event] = [];
}
this.listeners[event].push(callback);
console.log(`[事件总线] 订阅事件: ${event}`);
},
// 取消订阅(退群)
off: function(event, callback) {
if (!this.listeners[event]) return;
if (!callback) {
delete this.listeners[event];
} else {
this.listeners[event] = this.listeners[event].filter(cb => cb !== callback);
}
console.log(`[事件总线] 取消订阅: ${event}`);
},
// 发送消息(@所有人)
emit: function(event, data) {
console.log(`[事件总线] 发送事件: ${event}`, data);
if (!this.listeners[event]) return;
this.listeners[event].forEach(callback => {
try {
callback(data);
} catch (e) {
console.error(`[事件总线] 执行回调出错: ${e}`);
}
});
}
};