diff --git a/src/components/layout/CadSidebar.vue b/src/components/layout/CadSidebar.vue index 0e935e1..6d657bf 100644 --- a/src/components/layout/CadSidebar.vue +++ b/src/components/layout/CadSidebar.vue @@ -67,6 +67,7 @@ import { useCADStore } from '@/stores/cad' import CadSoftwareGrid from '@/components/ui/CadSoftwareGrid.vue' import creoApi from '@/services/creoApi' import revitApi from '@/services/revitApi' +import pdmsApi from '@/services/pdmsApi' import { ElNotification, ElMessageBox } from 'element-plus' // 定义事件 @@ -110,15 +111,8 @@ const testConnection = async (software) => { const result = await revitApi.testConnection() cadStore.setCADConnection(software, result.success) } else if (software === 'pdms') { - // PDMS模拟连接成功(仅供测试) - cadStore.setCADConnection(software, true) - ElNotification({ - title: '连接成功', - message: 'PDMS连接成功(模拟)', - type: 'success', - position: 'top-right', - duration: 2000 - }) + const result = await pdmsApi.testConnection() + cadStore.setCADConnection(software, result.success) } else { // 其他软件暂不支持 cadStore.setCADConnection(software, false) diff --git a/src/services/pdmsApi.js b/src/services/pdmsApi.js new file mode 100644 index 0000000..abdd345 --- /dev/null +++ b/src/services/pdmsApi.js @@ -0,0 +1,29 @@ +import apiClient from './apiClient' +import { buildApiUrl } from '@/config/cad' + +const SOFTWARE_TYPE = "pdms" + +class PdmsApiService { + constructor() { + this.softwareName = 'pdms' + } + + /** + * 测试PDMS连接 + * @returns {Promise<{success: boolean, data?: any, error?: string}>} + */ + async testConnection() { + const url = buildApiUrl(this.softwareName, 'connect') + + return await apiClient.get(url, { + operationContext: { + software: 'PDMS', + operation: '连接测试' + } + }) + } +} + +export const pdmsApi = new PdmsApiService() + +export default pdmsApi \ No newline at end of file