From 34f1e65179910f3c02f0ac6813dbfefb4244d4d7 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期三, 15 四月 2026 19:23:24 +0800
Subject: [PATCH] feat(同步服务): 添加实例同步功能并优化更新逻辑

---
 Code/测试工具/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/views/HomeView.vue |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/views/HomeView.vue" "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/views/HomeView.vue"
index 06cb505..f16afb0 100644
--- "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/views/HomeView.vue"
+++ "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/views/HomeView.vue"
@@ -13,6 +13,10 @@
         <p class="text-muted">绠$悊鍜岀洃鎺� S7 PLC 妯℃嫙鍣ㄥ疄渚�</p>
       </div>
       <div class="header-right">
+        <el-button type="default" @click="handleRefresh">
+          <el-icon><Refresh /></el-icon>
+          閲嶆柊鑾峰彇瀹炰緥
+        </el-button>
         <el-button type="primary" class="create-btn" @click="$router.push('/create')">
           <el-icon><Plus /></el-icon>
           鍒涘缓瀹炰緥
@@ -173,11 +177,14 @@
 import { onMounted, onUnmounted, ref } from 'vue'
 import { storeToRefs } from 'pinia'
 import { useInstancesStore } from '../stores/instances'
+import api from '../api'
+import { syncInstances } from '../api'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import {
   Cpu,
   Plus,
   Loading,
+  Refresh,
   User,
   VideoPause,
   VideoPlay,
@@ -199,6 +206,17 @@
   store.stopAutoRefresh()
 })
 
+async function handleRefresh() {
+  try {
+    await syncInstances()
+    await store.loadInstances()
+    ElMessage.success('宸查噸鏂拌幏鍙栧疄渚嬪垪琛�')
+  } catch (err) {
+    console.error('鍚屾澶辫触:', err)
+    ElMessage.error('鍚屾澶辫触锛岃鏌ョ湅鎺у埗鍙�')
+  }
+}
+
 async function handleStart(id: string) {
   try {
     await ElMessageBox.confirm(`纭畾瑕佸惎鍔ㄥ疄渚� "${id}" 鍚楋紵`, '纭', {

--
Gitblit v1.9.3