From 6584cbef8a5829950c20b507e17445b97650e73f Mon Sep 17 00:00:00 2001 From: hcong <1050828145@qq.com> Date: 星期三, 27 十一月 2024 12:15:04 +0800 Subject: [PATCH] 1. 新增消息管理类 2. socket消息类型js改为枚举类 3. 重连函数在使用时以参数传递进来 --- src/components/bg-task/FYBgTaskCard.vue | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0 deletions(-) diff --git a/src/components/bg-task/FYBgTaskCard.vue b/src/components/bg-task/FYBgTaskCard.vue index 5853db3..91c449f 100644 --- a/src/components/bg-task/FYBgTaskCard.vue +++ b/src/components/bg-task/FYBgTaskCard.vue @@ -46,6 +46,8 @@ import { useFetchData } from '@/composables/fetchData'; import bgtaskApi from '@/api/fysp/bgtaskApi'; import { enumBgTask, BG_TASK_TYPE, BG_TASK_STATUS } from '@/enum/bgTask'; +import { SOCKET_MESSAGE_TYPE } from '@/enum/socketMessage'; +import MessageManager from '@/socket/MessageManager.js'; export default { setup() { @@ -77,6 +79,32 @@ } }, methods: { + registerBgTaskMessage() { + MessageManager.register(SOCKET_MESSAGE_TYPE.BACKGROUND_TASK.name, (data) => { + this.refreshTaskById(data) + }) + }, + /** + * 鍒锋柊涓�涓换鍔¢�氳繃id锛屽鏋滄槸鏂扮殑浠诲姟鍒欐坊鍔犲埌浠诲姟鍒楄〃taskList涓� + * @param data + */ + refreshTaskById(data) { + if (!data || data == {}) { + return; + } + let isNewTask = true + for (let index = 0; index < this.taskList.length; index++) { + const task = this.taskList[index]; + if (task.id == data.id) { + this.taskList[index] = data + isNewTask = false + break + } + } + if (isNewTask) { + this.taskList.push(data) + } + }, addTask() {}, newTestTask() { this.fetchData((page, pageSize) => { @@ -151,6 +179,9 @@ }, gotoResult(index) {} }, + created() { + this.registerBgTaskMessage() + }, mounted() { this.fetchTask(); // setInterval(() => { -- Gitblit v1.9.3