From 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 21 Apr 2025 18:29:09 +0800
Subject: [PATCH] fix: 天气显示
---
src/websocket/index.js | 112 ++++++++++++++++++++++++++++---------------------------
1 files changed, 57 insertions(+), 55 deletions(-)
diff --git a/src/websocket/index.js b/src/websocket/index.js
index f5732b8..48e79d6 100644
--- a/src/websocket/index.js
+++ b/src/websocket/index.js
@@ -1,4 +1,4 @@
-import ReconnectingWebSocket from 'reconnecting-websocket';
+import ReconnectingWebSocket from 'reconnecting-websocket'
/**
* ConnectWebSocket 类
@@ -6,69 +6,71 @@
*/
class ConnectWebSocket {
- _url;
- _socket;
- _hasInit;
- _messageHandler;
+ _url
+ _socket
+ _hasInit
+ _messageHandler
- constructor(url) {
- this._url = url;
- this._socket = null;
- this._hasInit = false;
- this._messageHandler = null;
- }
+ constructor(url) {
+ this._url = url
+ this._socket = null
+ this._hasInit = false
+ this._messageHandler = null
+ }
- initSocket() {
- if (this._hasInit) {
- return;
- }
- if (!this._url) {
- return;
- }
- // 会自动重连,无需处理重连逻辑
- this._socket = new ReconnectingWebSocket(this._url, [], {
- maxReconnectionDelay: 20000, // 断开后最大的重连时间: 20s,每多一次重连,会增加 1.3 倍,5 * 1.3 * 1.3 * 1.3...
- minReconnectionDelay: 5000, // 断开后最短的重连时间: 5s
- maxRetries: 5,
- });
- this._hasInit = true;
+ initSocket() {
+ if (this._hasInit) {
+ return
+ }
+ if (!this._url) {
+ return
+ }
+ // 会自动重连,无需处理重连逻辑
+ this._socket = new ReconnectingWebSocket(this._url, [], {
+ maxReconnectionDelay: 20000, // 断开后最大的重连时间: 20s,每多一次重连,会增加 1.3 倍,5 * 1.3 * 1.3 * 1.3...
+ minReconnectionDelay: 5000, // 断开后最短的重连时间: 5s
+ maxRetries: 5,
+ })
+ this._hasInit = true
- this._socket.addEventListener('open', this._onOpen.bind(this));
- this._socket.addEventListener('close', this._onClose.bind(this));
- this._socket.addEventListener('error', this._onError.bind(this));
- this._socket.addEventListener('message', this._onMessage.bind(this));
- }
+ this._socket.addEventListener('open', this._onOpen.bind(this))
+ this._socket.addEventListener('close', this._onClose.bind(this))
+ this._socket.addEventListener('error', this._onError.bind(this))
+ this._socket.addEventListener('message', this._onMessage.bind(this))
+ }
- _onOpen() {
- console.log('连接成功');
- }
+ _onOpen() {
+ console.log('ws连接成功')
+ }
- _onClose() {
- console.log('连接已断开');
- }
+ _onClose() {
+ console.log('ws连接已断开')
+ }
- _onError() {
- console.log('连接 error');
- }
+ _onError() {
+ console.log('ws连接 error')
+ }
- registerMessageHandler(messageHandler) {
- this._messageHandler = messageHandler;
- }
+ registerMessageHandler(messageHandler) {
+ this._messageHandler = messageHandler
+ }
- _onMessage(msg) {
- // const data = JSON.parse(msg.data);
- this._messageHandler && this._messageHandler(msg.data);
- }
+ _onMessage(msg) {
+ // const data = JSON.parse(msg.data);
+ this._messageHandler && this._messageHandler(msg.data)
+ }
- sendMessage = (message) => {
- // 目前只供AI聊天使用
- this._socket?.send(message)
- // this._socket?.send(JSON.stringify(message.data));
- };
+ sendMessage = message => {
+ // 目前只供AI聊天使用
+ this._socket?.send(message)
+ // this._socket?.send(JSON.stringify(message.data));
+ }
- close() {
- this._socket?.close();
- }
+ close() {
+ this._socket?.close()
+ this._messageHandler = null
+ this._socket = null
+ }
}
-export default ConnectWebSocket;
+export default ConnectWebSocket
--
Gitblit v1.9.3