From 5c766d7e5c969b7530a014ded771973e242f25e0 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期三, 18 三月 2026 14:51:07 +0800
Subject: [PATCH] refactor: 拆分 TaskService 任务流程并补充注释

---
 Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/api/index.ts |   85 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 75 insertions(+), 10 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/api/index.ts b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/api/index.ts
index 1650852..e6c9850 100644
--- a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/api/index.ts
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/src/api/index.ts
@@ -2,7 +2,8 @@
 import type {
   InstanceListItem,
   InstanceState,
-  InstanceConfig
+  InstanceConfig,
+  ProtocolTemplate
 } from '../types'
 
 const api = axios.create({
@@ -14,14 +15,16 @@
 
 // 鑾峰彇鎵�鏈夊疄渚�
 export async function getAllInstances(): Promise<InstanceListItem[]> {
-  const response = await api.get<InstanceListItem[]>('/SimulatorInstances')
+  const response = await api.get<InstanceListItem[]>('/SimulatorInstances/GetAll')
   return response.data
 }
 
 // 鑾峰彇鎸囧畾瀹炰緥鐘舵��
 export async function getInstance(id: string): Promise<InstanceState | null> {
   try {
-    const response = await api.get<InstanceState>(`/SimulatorInstances/${encodeURIComponent(id)}`)
+    const response = await api.get<InstanceState>('/SimulatorInstances/GetInstance', {
+      params: { id }
+    })
     return response.data
   } catch (error) {
     if (axios.isAxiosError(error) && error.response?.status === 404) {
@@ -34,7 +37,9 @@
 // 鑾峰彇瀹炰緥閰嶇疆
 export async function getInstanceConfig(id: string): Promise<InstanceConfig | null> {
   try {
-    const response = await api.get<InstanceConfig>(`/SimulatorInstances/${encodeURIComponent(id)}/config`)
+    const response = await api.get<InstanceConfig>('/SimulatorInstances/GetInstanceConfig', {
+      params: { id }
+    })
     return response.data
   } catch (error) {
     if (axios.isAxiosError(error) && error.response?.status === 404) {
@@ -47,7 +52,7 @@
 // 鍒涘缓瀹炰緥
 export async function createInstance(config: InstanceConfig): Promise<InstanceState | null> {
   try {
-    const response = await api.post<InstanceState>('/SimulatorInstances', config)
+    const response = await api.post<InstanceState>('/SimulatorInstances/Create',  config )
     return response.data
   } catch (error) {
     console.error('鍒涘缓瀹炰緥澶辫触:', error)
@@ -58,7 +63,9 @@
 // 鏇存柊瀹炰緥
 export async function updateInstance(id: string, config: InstanceConfig): Promise<InstanceState | null> {
   try {
-    const response = await api.put<InstanceState>(`/SimulatorInstances/${encodeURIComponent(id)}`, config)
+    const response = await api.put<InstanceState>('/SimulatorInstances/Update', config, {
+      params: { id }
+    })
     return response.data
   } catch (error) {
     console.error('鏇存柊瀹炰緥澶辫触:', error)
@@ -69,7 +76,9 @@
 // 鍒犻櫎瀹炰緥
 export async function deleteInstance(id: string, deleteConfig: boolean = true): Promise<boolean> {
   try {
-    await api.delete(`/SimulatorInstances/${encodeURIComponent(id)}?deleteConfig=${deleteConfig}`)
+    await api.delete('/SimulatorInstances/Delete', {
+      params: { id, deleteConfig }
+    })
     return true
   } catch (error) {
     console.error('鍒犻櫎瀹炰緥澶辫触:', error)
@@ -80,7 +89,9 @@
 // 鍚姩瀹炰緥
 export async function startInstance(id: string): Promise<InstanceState | null> {
   try {
-    const response = await api.post<InstanceState>(`/SimulatorInstances/${encodeURIComponent(id)}/start`)
+    const response = await api.post<InstanceState>('/SimulatorInstances/start', null, {
+      params: { id }
+    })
     return response.data
   } catch (error) {
     console.error('鍚姩瀹炰緥澶辫触:', error)
@@ -91,7 +102,9 @@
 // 鍋滄瀹炰緥
 export async function stopInstance(id: string): Promise<InstanceState | null> {
   try {
-    const response = await api.post<InstanceState>(`/SimulatorInstances/${encodeURIComponent(id)}/stop`)
+    const response = await api.post<InstanceState>('/SimulatorInstances/stop', null, {
+      params: { id }
+    })
     return response.data
   } catch (error) {
     console.error('鍋滄瀹炰緥澶辫触:', error)
@@ -102,7 +115,9 @@
 // 閲嶅惎瀹炰緥
 export async function restartInstance(id: string): Promise<InstanceState | null> {
   try {
-    const response = await api.post<InstanceState>(`/SimulatorInstances/${encodeURIComponent(id)}/restart`)
+    const response = await api.post<InstanceState>('/SimulatorInstances/restart', null, {
+      params: { id }
+    })
     return response.data
   } catch (error) {
     console.error('閲嶅惎瀹炰緥澶辫触:', error)
@@ -110,4 +125,54 @@
   }
 }
 
+export async function getProtocolTemplates(): Promise<ProtocolTemplate[]> {
+  const response = await api.get<ProtocolTemplate[]>('/ProtocolTemplates')
+  return response.data
+}
+
+export async function getProtocolTemplate(id: string): Promise<ProtocolTemplate | null> {
+  try {
+    const response = await api.get<ProtocolTemplate>(`/ProtocolTemplates/${id}`)
+    return response.data
+  } catch (error) {
+    if (axios.isAxiosError(error) && error.response?.status === 404) {
+      return null
+    }
+    throw error
+  }
+}
+
+export async function createProtocolTemplate(template: ProtocolTemplate): Promise<ProtocolTemplate> {
+  const response = await api.post<ProtocolTemplate>('/ProtocolTemplates', template)
+  return response.data
+}
+
+export async function updateProtocolTemplate(id: string, template: ProtocolTemplate): Promise<ProtocolTemplate> {
+  const response = await api.put<ProtocolTemplate>(`/ProtocolTemplates/${id}`, template)
+  return response.data
+}
+
+export async function deleteProtocolTemplate(id: string): Promise<void> {
+  await api.delete(`/ProtocolTemplates/${id}`)
+}
+
+export async function readMemory(id: string): Promise<Record<string, string>> {
+  const response = await api.get<Record<string, string>>('/Memory/ReadMemory', {
+    params: { id }
+  })
+  return response.data
+}
+
+export async function writeMemory(id: string, data: Record<string, string>): Promise<boolean> {
+  try {
+    await api.post('/Memory/WriteMemory', data, {
+      params: { id }
+    })
+    return true
+  } catch (error) {
+    console.error('鍐欏叆鍐呭瓨澶辫触:', error)
+    return false
+  }
+}
+
 export default api

--
Gitblit v1.9.3