- 新增 useWebSocket 组合式函数,用于在组件中使用 WebSocket - 添加 WebSocket 插件,提供全局 WebSocket 实例和相关方法 - 实现了连接、重连、发送消息、关闭连接等功能 - 通过自定义事件实现消息广播,供组件监听
21 lines
501 B
TypeScript
21 lines
501 B
TypeScript
export function useWebSocket() {
|
|
const { $ws } = useNuxtApp()
|
|
const messages = ref<any[]>([])
|
|
|
|
// 监听消息
|
|
const onMessage = (callback: (data: any) => void) => {
|
|
const handler = (event: CustomEvent) => callback(event.detail)
|
|
window.addEventListener('ws-message', handler as EventListener)
|
|
|
|
// 返回清理函数
|
|
return () => {
|
|
window.removeEventListener('ws-message', handler as EventListener)
|
|
}
|
|
}
|
|
|
|
return {
|
|
ws: $ws,
|
|
messages,
|
|
onMessage
|
|
}
|
|
}
|