From bc5fa85ba63d27bf65d2406c087d5ceb3bdea19c Mon Sep 17 00:00:00 2001 From: ktianc <2445667550@qq.com> Date: Sun, 17 Mar 2024 04:13:30 +0000 Subject: [PATCH 1/3] =?UTF-8?q?Revert=20"Revert=20"=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=87=B3=203.9.0""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 03d8bd2eb4ae77ed2e57aa55635972b43515b10c. --- kinit-api/application/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kinit-api/application/settings.py b/kinit-api/application/settings.py index 6642c12..7c23647 100644 --- a/kinit-api/application/settings.py +++ b/kinit-api/application/settings.py @@ -11,7 +11,7 @@ from fastapi.security import OAuth2PasswordBearer """ 系统版本 """ -VERSION = "3.8.2" +VERSION = "3.9.0" """安全警告: 不要在生产中打开调试运行!""" DEBUG = False From 332e728ca3a75163241af1bd49aad3c21c23c46e Mon Sep 17 00:00:00 2001 From: ktianc <2445667550@qq.com> Date: Sun, 17 Mar 2024 04:14:35 +0000 Subject: [PATCH 2/3] =?UTF-8?q?Revert=20"=E6=9B=B4=E6=96=B01"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 53a694be367e0b30a1070e9a72476cf01be8db90. --- kinit-admin/src/components/Chat/src/Chat.vue | 34 ++------------------ 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/kinit-admin/src/components/Chat/src/Chat.vue b/kinit-admin/src/components/Chat/src/Chat.vue index 7229bf5..d29df3b 100644 --- a/kinit-admin/src/components/Chat/src/Chat.vue +++ b/kinit-admin/src/components/Chat/src/Chat.vue @@ -1,7 +1,7 @@ - - diff --git a/kinit-admin/src/layout/components/ToolHeader.vue b/kinit-admin/src/layout/components/ToolHeader.vue index 8bd05d5..6b2479c 100644 --- a/kinit-admin/src/layout/components/ToolHeader.vue +++ b/kinit-admin/src/layout/components/ToolHeader.vue @@ -5,7 +5,6 @@ import { LocaleDropdown } from '@/components/LocaleDropdown' import { SizeDropdown } from '@/components/SizeDropdown' import { UserInfo } from '@/components/UserInfo' import { Screenfull } from '@/components/Screenfull' -import { Chat } from '@/components/Chat' import { Breadcrumb } from '@/components/Breadcrumb' import { useAppStore } from '@/store/modules/app' import { useDesign } from '@/hooks/web/useDesign' @@ -55,7 +54,6 @@ export default defineComponent({ ) : undefined}
- {screenfull.value ? ( diff --git a/kinit-admin/src/store/modules/chat.ts b/kinit-admin/src/store/modules/chat.ts deleted file mode 100644 index b98cd3b..0000000 --- a/kinit-admin/src/store/modules/chat.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { defineStore } from 'pinia' -import { store } from '../index' -import { ref } from 'vue' -import { ElMessage } from 'element-plus' - -interface ChatState { - socket: any - messageQueue: string[] - socketMessage: string -} - -export const useChatStore = defineStore('chat', { - state: (): ChatState => { - return { - socket: null, - messageQueue: [], - socketMessage: '1' - } - }, - getters: {}, - actions: { - SET_SOCKET(socket: any) { - this.socket = socket - }, - SET_SOCKET_MESSAGE(socketMessage: any) { - this.socketMessage = socketMessage - }, - connectWebSocket() { - if (typeof WebSocket === 'undefined') { - ElMessage.error('您的浏览器不支持Websocket通信协议,请使用Chrome或者其他高版本的浏览器!') - return - } - if (this.socket != null && this.socket.readyState === WebSocket.OPEN) { - return this.socket - } - - const HOST_ADDRESS = 'ws://127.0.0.1:8000/api/v1/ws/chat/' - const PING_INTERVAL = 5000 // 心跳间隔,单位为毫秒 - const heartbeatMessage = { type: 0, msg: 'ping' } // 心跳消息 - const heartbeatMessage2 = { type: 0, msg: 'pong', data: ['在线设备'] } // 发送消息 - - const socket = ref(new WebSocket(HOST_ADDRESS)) - let checkTask: any = null - // 监听连接事件 - socket.value.onopen = () => { - // 启动心跳检测 确保连接存活 客户端每隔5秒向服务端发送一次心跳消息 - checkTask = setInterval(() => { - socket.value.send(JSON.stringify(heartbeatMessage)) - }, PING_INTERVAL) - } - - // 当WebSocket接收到服务器发送的消息时,这个函数将被调用。 - socket.value.onmessage = (event) => { - console.log('接收到服务端发送过来的消息', event.data) - const message = JSON.parse(event.data) - console.log(message.type) - if (message.type == WebSocket.CONNECTING) { - socket.value.send(JSON.stringify(heartbeatMessage2)) - return - } else { - if (this.messageQueue.length > 2 << 16) { - this.messageQueue = [] - } - console.log('WebSocket消息: ', message) - this.SET_SOCKET_MESSAGE(message) - } - } - - // 监听关闭事件 断线重连 - socket.value.onclose = () => { - if (this.socket.readyState === WebSocket.CLOSED) { - this.messageQueue.forEach((message) => { - this.sendMessage(message) - }) - this.messageQueue = [] - } - // 清除心跳计时器 - checkTask && clearInterval(checkTask) - // 断线重连 - setTimeout(() => { - this.connectWebSocket() - }, 3000) - } - - // 连接错误 - socket.value.onerror = (event) => { - console.log('WebSocket error:', event) - } - }, - // 发送消息方法 - sendMessage(message: string) { - this.socket.send(message) - } - }, - persist: true -}) - -export const useChatStoreWithOut = () => { - return useChatStore(store) -}