| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- /**
- * 统一 API 入口
- *
- * 所有接口通过 http (request.js) 发出请求。
- * 开发期由 mockAdapter.js 拦截返回模拟数据。
- * 切真实后端时,只需删除 main.js 中的 `import '@/mock/mockAdapter'`。
- *
- * 响应拦截器已自动脱壳:接口返回值直接是 data(不是 { code, data })。
- * 业务错误走 catch。
- */
- import { http } from '@/utils/request'
- // ── 认证 ──
- export const apiGetCaptcha = () =>
- http.get('/auth/captcha')
- export const apiLogin = (data) =>
- http.post('/auth/login', data, { withToken: false, skipGlobalError: true })
- export const apiChangePassword = (data) =>
- http.post('/auth/change-password', data)
- // ── 路口基础数据 ──
- export const apiGetPoints = (params) =>
- http.get('/intersections', { params })
- export const apiGetIntersectionData = (id) =>
- http.get(`/intersections/${id}`)
- export const apiGetSignalTiming = (id) =>
- http.get(`/intersections/${id}/signal-timing`)
- export const apiGetIntersectionStages = (id) =>
- http.get(`/intersections/${id}/stages`)
- export const apiGetSchemes = (id) =>
- http.get(`/intersections/${id}/schemes`)
- // ── 区域菜单树 ──
- export const apiGetMenuTree = (tabId) =>
- http.get('/regions/tree', { params: { tabId } })
- export const apiGetTongzhouMenuTree = () =>
- http.get('/regions/tree/tongzhou')
- export const apiGetTrunkLineMenuTree = () =>
- http.get('/regions/tree/trunkline')
- // ── 设备状态 & 首页 ──
- export const apiGetDeviceStatus = (type) =>
- http.get('/devices/status/summary', { params: { type } })
- export const apiGetDeviceFaultStatus = () =>
- http.get('/devices/fault-status')
- export const apiGetHomeSnapshot = () =>
- http.get('/home/snapshot')
- export const apiGetControlModeStats = () =>
- http.get('/home/control-mode-stats')
- export const apiGetLatestAlarms = (params) =>
- http.get('/alarms/latest', { params })
- // ── 勤务 & 任务 ──
- export const apiGetTasks = (params) =>
- http.get('/tasks', { params })
- export const apiGetSecurityRoutes = () =>
- http.get('/security-routes')
- export const apiGetSecurityRouteDetail = (id) =>
- http.get(`/security-routes/${id}`)
- export const apiGetKeyIntersections = () =>
- http.get('/key-intersections')
- // ── 交通时空图 ──
- export const apiGetTrafficTimeSpace = (params) =>
- http.get('/traffic/time-space', { params })
- // ── 路口列表 & 字典 ──
- export const apiGetCrossingList = (params) =>
- http.get('/crossings', { params })
- export const apiGetDictOptions = (type) =>
- http.get(`/dict/${type}`)
- // ── 设备操作 ──
- export const apiRestartDevice = (id) =>
- http.post(`/devices/${id}/restart`)
- export const apiUpgradeDevice = (id, data) =>
- http.post(`/devices/${id}/upgrade`, data)
- // ── 弹窗专用 ──
- export const apiGetSpecialTaskMonitorData = (id) =>
- http.get(`/special-task/${id}/monitor`)
- export const apiGetCrossingPanelData = (id) =>
- http.get(`/crossing/panel/${id}`)
- export const apiGetCrossingDetailData = (id, { iconMode } = {}) =>
- http.get(`/crossing/detail/${id}`, { params: iconMode ? { iconMode } : undefined })
- export const apiGetCrossingTopCharts = () =>
- http.get('/crossing/top-charts')
- // cancelDuplicate:false —— 画布与表格都会轮询同一接口,让两路并发不互相取消
- export const apiGetDetectorMonitorData = (id) =>
- http.get(`/detector/monitor/${id || 'default'}`, { cancelDuplicate: false })
- export const apiGetOverviewTopCharts = () =>
- http.get('/overview/top-charts')
- export const apiGetMapLegendConfig = () =>
- http.get('/map/legend-config')
|