From d667fce729c223e885930bb8edb528ab501b8d6a Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期二, 26 十一月 2024 16:57:53 +0800
Subject: [PATCH] 1. 移动socket客户端类、新增socket/index.js文件(初始化) 2. socketMessage枚举类的完善(增加对每个类型的英文描述字段以及对类型筛选和判断是否为心跳消息的工具方法) 3. 在FYBgTaskCard.vue监听并处理如何刷后台任务状态逻辑

---
 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..ae58f2b 100644
--- a/src/components/bg-task/FYBgTaskCard.vue
+++ b/src/components/bg-task/FYBgTaskCard.vue
@@ -46,6 +46,7 @@
 import { useFetchData } from '@/composables/fetchData';
 import bgtaskApi from '@/api/fysp/bgtaskApi';
 import { enumBgTask, BG_TASK_TYPE, BG_TASK_STATUS } from '@/enum/bgTask';
+import eventBus from '@/socket/eventBus.js';
 
 export default {
   setup() {
@@ -77,6 +78,32 @@
     }
   },
   methods: {
+    registerBgTaskMessage() {
+      eventBus.register('background_task', (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,7 +178,11 @@
     },
     gotoResult(index) {}
   },
+  created() {
+    this.registerBgTaskMessage()
+  },
   mounted() {
+    bgtaskApi.newTestTask(1)
     this.fetchTask();
     // setInterval(() => {
     //   this.fetchTask();

--
Gitblit v1.9.3