From fdb9985b4b02ccfb7a6a8be1f306dd64c15486e2 Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Mon, 21 Jul 2025 12:11:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E5=8C=85=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 3 +- .env.production | 7 +-- src/api/home.js | 52 +++++++++--------- src/http/request.js | 4 +- src/http/robot_request.js | 109 ++++++++++++++++++++++++++++++++++++++ src/utils/initLogin.js | 18 +++---- vite.config.js | 2 +- 7 files changed, 153 insertions(+), 42 deletions(-) create mode 100644 src/http/robot_request.js diff --git a/.env.development b/.env.development index fa00ae5..cdbaaec 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,8 @@ VITE_APP_name = 机器人 - 大屏 VITE_APP_content = 机器人 # 请求的base api -VITE_APP_baseApiURL = https://s.dumogu.top/api +VITE_APP_baseApiURL = /robot-screen-api +VITE_APP_robotBaseApiURL = /third-party # 路由的base api VITE_APP_routeBasePath = / VITE_APP_biuldBase = / diff --git a/.env.production b/.env.production index 9ecd74b..08c8d52 100644 --- a/.env.production +++ b/.env.production @@ -1,8 +1,9 @@ VITE_APP_name = 机器人 - 大屏 VITE_APP_content = 机器人 # 请求的base api -VITE_APP_baseApiURL = /robot-screen-api +VITE_APP_baseApiURL = /sbdRobot +VITE_APP_robotBaseApiURL = http://sgwpdm.ah.sgcc.com.cn/iws/sbdRobot # 路由的base api -VITE_APP_routeBasePath = /robot-screen-ui +VITE_APP_routeBasePath = /bnsRobot VITE_APP_biuldBase = /robot-screen-ui -VITE_APP_imgPreviewUrl = http://192.168.0.38:21999/robot \ No newline at end of file +VITE_APP_imgPreviewUrl = http://sgwpdm.ah.sgcc.com.cn/iws/minioFile/robot \ No newline at end of file diff --git a/src/api/home.js b/src/api/home.js index 1ba530e..753b8a7 100644 --- a/src/api/home.js +++ b/src/api/home.js @@ -2,130 +2,130 @@ import { service } from '@/http/request' // 获取token export const getTokenApi = (data) => { - return service.post('/robot-screen-api/getToken', data) + return service.post('/getToken', data) } // 获取设备信息 export const getDeviceInfoApi = (data) => { - return service.post('/robot-screen-api/robot/sbdUser/getDeviceList', data) + return service.post('/robot/sbdUser/getDeviceList', data) } // 操作机器人行动接口 export const handleRobotActionApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/sedXml', data) + return service.post('/robot/instruct/sedXml', data) } // 新增巡视点位接口 export const addMarkerApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/addPoint', data) + return service.post('/robot/instruct/addPoint', data) } // 删除巡视点位接口 export const deleteMarkerApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/delPoint', data) + return service.post('/robot/instruct/delPoint', data) } // 获取全部已经添加的点位 export const getMarkerListAllApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/getPointList', data) + return service.post('/robot/instruct/getPointList', data) } // 新增巡视任务 export const addTaskApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/addTasks', data) + return service.post('/robot/instruct/addTasks', data) } // 获取巡视任务列表 export const getTaskListApi = (data) => { - return service.get('/robot-screen-api/robot/instruct/list', { params: data }) + return service.get('/robot/instruct/list', { params: data }) } // 修改巡视任务启用状态 export const updateTaskEnableApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/issuedTask', data) + return service.post('/robot/instruct/issuedTask', data) } // 获取巡视任务详情 export const getTaskDetailApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/getTaskDetails', data) + return service.post('/robot/instruct/getTaskDetails', data) } // 修改巡视任务 export const updateTaskApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/updateTask', data) + return service.post('/robot/instruct/updateTask', data) } // 删除巡视任务 export const deleteTaskApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/delTaskData', data) + return service.post('/robot/instruct/delTaskData', data) } // 现场定点巡检拍照 一级列表 export const getImageLimitApi = (data) => { - return service.get('/robot-screen-api/robot/image/getImageLimit', { params: data }) + return service.get('/robot/image/getImageLimit', { params: data }) } // 现场定点巡检拍照 二级页面列表 export const getImagePageListApi = (data) => { - return service.get('/robot-screen-api/robot/image/getImagePageList', { params: data }) + return service.get('/robot/image/getImagePageList', { params: data }) } // 智能对比一级页面数据 export const getTaskStatisticsApi = (data = {}) => { - return service.get('/robot-screen-api/robot/image/getTaskStatistics', { params: data }) + return service.get('/robot/image/getTaskStatistics', { params: data }) } // 操作面板内上传音频文件接口 export const uploadAudioApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/addVideoFile', data) + return service.post('/robot/instruct/addVideoFile', data) } // 操作面板内删除音频文件接口 export const deleteAudioApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/delVideo', data) + return service.post('/robot/instruct/delVideo', data) } // 操作面板内获取音频文件信息 export const getAudioInfoApi = (data) => { - return service.post('/robot-screen-api/robot/instruct/getVideoList', data) + return service.post('/robot/instruct/getVideoList', data) } // 人员动态 一级页面列表接口 export const getUserListLimitApi = (data) => { - return service.post('/robot-screen-api/robot/sbdUser/getUserListLimit', data) + return service.post('/robot/sbdUser/getUserListLimit', data) } // 人员动态 二级级页面人员动态列表接口 export const getUserListPageApi = (data) => { - return service.get('/robot-screen-api/robot/sbdUser/getUserList', { params: data }) + return service.get('/robot/sbdUser/getUserList', { params: data }) } // 人员动态 二级级页面人员信息列表接口 export const getUserInfoListApi = (data) => { - return service.get('/robot-screen-api/robot/sbdUser/list', { params: data }) + return service.get('/robot/sbdUser/list', { params: data }) } // 人员动态 二级级页面人员下发接口 export const sendUserImageApi = (data) => { - return service.post('/robot-screen-api/robot/sbdUser/sendUserImage', data) + return service.post('/robot/sbdUser/sendUserImage', data) } // 人员动态 二级级页面 新增人员 export const addPersonApi = (data) => { - return service.post('/robot-screen-api/robot/sbdUser/addSbdUser', data) + return service.post('/robot/sbdUser/addSbdUser', data) } // 人员动态 二级级页面 修改人员 export const updatePersonApi = (data) => { - return service.post('/robot-screen-api/robot/sbdUser/updateSbdUser', data) + return service.post('/robot/sbdUser/updateSbdUser', data) } // 人员动态 二级级页面 删除人员 export const deletePersonApi = (data) => { - return service.post('/robot-screen-api/robot/sbdUser/delUser', data) + return service.post('/robot/sbdUser/delUser', data) } // 人员动态 二级级页面 人员详情 export const getDetailsApi = (data) => { - return service.get('/robot-screen-api/robot/sbdUser/getDetails', { params: data }) + return service.get('/robot/sbdUser/getDetails', { params: data }) } diff --git a/src/http/request.js b/src/http/request.js index 9aea61c..2751fe1 100644 --- a/src/http/request.js +++ b/src/http/request.js @@ -16,7 +16,7 @@ const timeout = 10000 //api请求超时时间 export const service = axios.create({ //可创建多个 axios实例 - baseURL: '', //设置公共的请求前缀 + baseURL: baseApiURL, //设置公共的请求前缀 timeout: timeout, //超时终止请求 }) @@ -88,7 +88,7 @@ service.interceptors.response.use( setTimeout(() => { message.error('登录已经失效,请重新登录') - window.location.href = 'http://sgwpdm.ah.sgcc.com.cn/sgwpdm/#/weblogin' + window.location.href = 'http://sgwpdm.ah.sgcc.com.cn/iws/#/unified/' }, 500) return Promise.reject(data) case 202: //表示失败,参数或其他原因 diff --git a/src/http/robot_request.js b/src/http/robot_request.js new file mode 100644 index 0000000..dbea7e1 --- /dev/null +++ b/src/http/robot_request.js @@ -0,0 +1,109 @@ +/*jshint esversion: 9 */ +/** + * http请求配置 + */ +import axios from 'axios' +import { userDataStore } from '@/store/user' +import { encrypt, decrypt } from '@/utils/encrypt' +// import { useMessage } from 'naive-ui' +import router from '@/router' +import { createDiscreteApi } from 'naive-ui' +import { set } from 'lodash' +const { message } = createDiscreteApi(['message']) + +let baseApiURL = import.meta.env.VITE_APP_robotBaseApiURL //api原始链接 +const timeout = 10000 //api请求超时时间 + +export const service = axios.create({ + //可创建多个 axios实例 + baseURL: baseApiURL, //设置公共的请求前缀 + timeout: timeout, //超时终止请求 +}) + +service.interceptors.request.use( + (config) => { + const userData = userDataStore() + config.headers = config.headers || {} + // config.headers['token'] = userData.userInfo.token + + if (userData?.userInfo?.token) { + config.headers['Authorization'] = 'Bearer ' + userData?.userInfo?.token + } else { + config.headers['Token'] = 'test' + } + return config + }, + () => { + return Promise.reject({ + msg: '请求发生错误,请稍后再试', + }) + }, +) + +let modelShow = false +service.interceptors.response.use( + (response) => { + response.data = decrypt(response.data) + console.log( + '%c🔍-- 解密后出参 --', + 'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 60px; border-radius: 5px; font-weight: bold;', + '', + ) + console.log( + '%c原始数据:', //增加样式 + 'color: #FF6B6B; padding: 5px 0; border-radius: 5px; font-weight: bold;', + '', + '\n', + response.data, + ) + console.log( + '%cJSON格式:', + 'color: #4ECDC4; padding: 5px 0; border-radius: 5px; font-weight: bold;', + '\n', + JSON.stringify(response.data, null, 2), + ) + + const data = response.data + + if (!data) { + return Promise.reject({ + msg: '请求发生错误', + }) + } + const status = data?.status || response.status + switch (status) { + case 200: + // return data + return Promise.resolve(response) + case 401: //表示需要重新登录 + // if (!modelShow) { + // modelShow = true + // if (window.confirm('登录已经失效,是否重新登录?')) { + // router.push({ + // path: '/login', + // }) + // } + // modelShow = false + // } + + setTimeout(() => { + message.error('登录已经失效,请重新登录') + window.location.href = 'http://sgwpdm.ah.sgcc.com.cn/iws/#/unified/' + }, 500) + return Promise.reject(data) + case 202: //表示失败,参数或其他原因 + return Promise.reject(data) + case 500: //表示报错。未知原因 + return Promise.reject(data) + default: + return Promise.reject(data) + } + }, + (error) => { + //数据请求发生错误 + message.error('请求发生错误,请稍后再试') + return Promise.reject({ + msg: '请求发生错误,请稍后再试', + }) + }, +) diff --git a/src/utils/initLogin.js b/src/utils/initLogin.js index c030c38..cf57a84 100644 --- a/src/utils/initLogin.js +++ b/src/utils/initLogin.js @@ -1,41 +1,41 @@ -import { service } from '@/http/request' +import { service } from '@/http/robot_request' // 初始化登录 export const initLoginApi = (data) => { - return service.post('/third-party/login', data) + return service.post('/login', data) } // 获取设备的URL地址 export const getDeviceUrlApi = (data) => { - return service.post('/third-party/stream/live', data) + return service.post('/stream/live', data) } // 调整设备的摄像机视角 // export const changeDeviceCameraApi = (data) => { -// return service.post('/third-party/ptz/start/turn', data) +// return service.post('/ptz/start/turn', data) // } // 调整设备的摄像机视角 export const changeDeviceCameraApi = (data) => { - return service.post('/third-party/PTZ/C_PTZ_Turn?token=' + data.token, data) + return service.post('/PTZ/C_PTZ_Turn?token=' + data.token, data) } // 调整设备的摄像机放大图像 export const changeDeviceCameraZoomInApi = (data) => { - return service.post('/third-party/PTZ/C_PTZ_ZoomInPicture?token=' + data.token, data) + return service.post('/PTZ/C_PTZ_ZoomInPicture?token=' + data.token, data) } // 调整设备的摄像机缩小图像 export const changeDeviceCameraZoomOutApi = (data) => { - return service.post('/third-party/PTZ/C_PTZ_ZoomOutPicture?token=' + data.token, data) + return service.post('/PTZ/C_PTZ_ZoomOutPicture?token=' + data.token, data) } // 停止设备缩放 export const stopDeviceCameraZoomApi = (data) => { - return service.post('/third-party/PTZ/C_PTZ_StopPictureZoom?token=' + data.token, data) + return service.post('/PTZ/C_PTZ_StopPictureZoom?token=' + data.token, data) } // 停止设备的摄像机视角 export const stopDeviceCameraApi = (data) => { - return service.post('/third-party/ptz/stop/turn', data) + return service.post('/ptz/stop/turn', data) } diff --git a/vite.config.js b/vite.config.js index a702294..9736893 100644 --- a/vite.config.js +++ b/vite.config.js @@ -65,7 +65,7 @@ export default defineConfig(({ mode }) => { open: true, proxy: { '/robot-screen-api': { - target: 'http://192.168.0.38:21999', // 郝志权测试环境 + target: 'http://192.168.0.38:58080', // 郝志权测试环境 // target: 'http://192.168.0.14:58080', // 测试环境 changeOrigin: true, rewrite: (p) => p.replace(/^\/robot-screen-api/, ''),