camera-scan.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { get, post } from '@/utils/request'
  2. import type {
  3. IBaseResponse,
  4. IListResponse,
  5. BaseResponse,
  6. ScanResultDTO,
  7. DiscoveredCameraDTO,
  8. MatchResultDTO,
  9. MatchRequest,
  10. BindDeviceRequest,
  11. CameraCredentialDTO,
  12. CredentialAddRequest,
  13. CredentialUpdateRequest,
  14. CameraInfoDTO
  15. } from '@/types'
  16. // ==================== 扫描相关 ====================
  17. // 触发 ONVIF 设备扫描
  18. export function scanDevices(lssId: string): Promise<IBaseResponse<ScanResultDTO>> {
  19. return post(`/admin/lss/${lssId}/scan`)
  20. }
  21. // 获取发现设备列表
  22. export function getDiscoveredDevices(lssId: string): Promise<IBaseResponse<DiscoveredCameraDTO[]>> {
  23. return get(`/admin/lss/${lssId}/discovered`)
  24. }
  25. // 获取发现设备详情
  26. export function getDiscoveredDevice(id: number): Promise<IBaseResponse<DiscoveredCameraDTO>> {
  27. return get(`/admin/discovered/${id}`)
  28. }
  29. // 删除发现设备
  30. export function deleteDiscoveredDevice(id: number): Promise<BaseResponse> {
  31. return post(`/admin/discovered/${id}/delete`)
  32. }
  33. // 触发凭证匹配
  34. export function triggerMatch(lssId: string, data?: MatchRequest): Promise<IBaseResponse<MatchResultDTO>> {
  35. return post(`/admin/lss/${lssId}/match`, data)
  36. }
  37. // 重新匹配单个设备
  38. export function retryMatch(id: number): Promise<IBaseResponse<MatchResultDTO>> {
  39. return post(`/admin/discovered/${id}/retry`)
  40. }
  41. // 绑定设备到现有摄像头
  42. export function bindDevice(data: BindDeviceRequest): Promise<IBaseResponse<CameraInfoDTO>> {
  43. return post('/admin/scan/bind', data)
  44. }
  45. // ==================== 凭证相关 ====================
  46. // 获取凭证列表
  47. export function getCredentials(): Promise<IListResponse<CameraCredentialDTO>> {
  48. return get('/admin/credentials')
  49. }
  50. // 添加凭证
  51. export function addCredential(data: CredentialAddRequest): Promise<IBaseResponse<CameraCredentialDTO>> {
  52. return post('/admin/credentials', data)
  53. }
  54. // 更新凭证
  55. export function updateCredential(data: CredentialUpdateRequest): Promise<IBaseResponse<CameraCredentialDTO>> {
  56. return post('/admin/credentials/update', data)
  57. }
  58. // 删除凭证
  59. export function deleteCredential(id: number): Promise<BaseResponse> {
  60. return post(`/admin/credentials/${id}/delete`)
  61. }