liveh5-nuxt/app/composables/useWebSocket.ts
xingyy 65f8d2d1e9 feat(websocket): 实现 WebSocket通信功能
- 新增 useWebSocket 组合式函数,用于在组件中使用 WebSocket
- 添加 WebSocket 插件,提供全局 WebSocket 实例和相关方法
- 实现了连接、重连、发送消息、关闭连接等功能
- 通过自定义事件实现消息广播,供组件监听
2025-01-23 16:37:11 +08:00

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
}
}