use-connect-websocket.ts 581 B

123456789101112131415161718192021
  1. import { onMounted, onUnmounted } from 'vue'
  2. import ReconnectingWebSocket from 'reconnecting-websocket'
  3. import ConnectWebSocket, { MessageHandler } from '/@/websocket'
  4. import { getWebsocketUrl } from '/@/websocket/util/config'
  5. /**
  6. * 接收一个message函数
  7. * @param messageHandler
  8. */
  9. export function useConnectWebSocket(messageHandler: MessageHandler) {
  10. const webSocket = new ConnectWebSocket(getWebsocketUrl())
  11. onMounted(() => {
  12. webSocket?.registerMessageHandler(messageHandler)
  13. webSocket?.initSocket()
  14. })
  15. onUnmounted(() => {
  16. webSocket?.close()
  17. })
  18. }