wanshenmean
2026-03-17 737dec3c384f394fd6f9849b4480b697d1ba35d5
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({
@@ -124,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