feat: 实现PDMS真实API连接测试功能

- 新建pdmsApi.js服务,实现标准连接测试API调用
- 移除CadSidebar中PDMS模拟连接逻辑,集成真实API
- 保持与Creo、Revit一致的连接测试模式
- 使用统一的operationContext自动通知机制

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
sladro 2025-09-18 18:55:14 +08:00
parent 7785b1f1e4
commit 46c85cf9a2
2 changed files with 32 additions and 9 deletions

View File

@ -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)

29
src/services/pdmsApi.js Normal file
View File

@ -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