Files
pqs-9100_client/frontend/src/api/socket/socket.ts
hongawen 19ea08d5e0 feat(detection): 添加检测锁机制防止多用户同时操作
- 新增 detectionLock store 管理检测锁状态
- 实现检测锁相关的弹窗提示功能
- 添加 DETECTION_BUSY 错误码处理多人竞争逻辑
- 在 websocket 中集成检测锁超时处理
- 修改程序源控制接口以同步锁状态
- 更新项目标题和图标配置
- 添加 docs 目录到忽略列表
2026-05-28 20:44:53 +08:00

54 lines
1.3 KiB
TypeScript

import http from '@/api'
import { useDetectionLockStore } from '@/stores/modules/detectionLock'
export const startPreTest = async (params) => {
const result = await http.post(`/prepare/startPreTest`, params, {loading: false})
// 抢锁成功 → 标记本地为持锁者
useDetectionLockStore().setAsHolder()
return result
}
export const closePreTest = (params) => {
return http.post(`/prepare/closePreTest`, params,{ loading: false })
}
/**
* 开始正式检测
* @param params
*/
// export const startTest = (params) => {
// return http.post(`/prepare/startTest`, params, {loading: false})
// }
/**
* 暂停正式检测
* @param params
*/
export const pauseTest = () => {
return http.get(`/prepare/closePreTest`, {loading: false})
}
/**
* 继续正式检测
* @param params
*/
export const resumeTest = (params) => {
return http.post(`/prepare/restartTemTest/`, params, {loading: false})
}
/**
* 比对式通道配对
* @param params
*/
export const contrastTest = async (params: any) => {
const result = await http.post(`/prepare/startContrastTest`, params)
// 抢锁成功 → 标记本地为持锁者
useDetectionLockStore().setAsHolder()
return result
}
export const exportAlignData= () => {
return http.download(`/prepare/exportAlignData`)
}