From 32ac9141ceef083c7f5ff409ff29e297edf75a2f Mon Sep 17 00:00:00 2001 From: Free-sss <630042479@qq.com> Date: Tue, 2 Sep 2025 14:24:21 +0800 Subject: [PATCH] =?UTF-8?q?=20fix:=20=E4=BF=AE=E5=A4=8DAPI=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E9=85=8D=E7=BD=AE=E5=92=8C=E4=BB=A3=E7=90=86=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConfinedSpace/AlarmNowList/index.vue | 20 +++++++------------ .../Charts/ConfinedSpace/Map/index.vue | 7 ++++--- .../ConfinedSpace/PieCircleCommen/index.vue | 16 ++++++++------- .../Charts/ConfinedSpace/videoCheck/index.vue | 10 ++++++---- 4 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/packages/components/Charts/ConfinedSpace/AlarmNowList/index.vue b/src/packages/components/Charts/ConfinedSpace/AlarmNowList/index.vue index e79906d..53edde6 100644 --- a/src/packages/components/Charts/ConfinedSpace/AlarmNowList/index.vue +++ b/src/packages/components/Charts/ConfinedSpace/AlarmNowList/index.vue @@ -139,7 +139,6 @@ import axiosInstance from '@/api/axios' import VChart from 'vue-echarts' import SmallBorder from '../SmallBorder01Co/index.vue' import { height } from 'dom-helpers' -import axios from 'axios' const props = defineProps({ chartConfig: { type: Object as PropType, @@ -272,19 +271,14 @@ const formatAlarmItem = (item) => { }; const fetchRecentAlarms = async () => { try { - isLoading.value = true; - const res = await axios.get( - `/awjt/space/getRecentAlarms`, - { - responseType: 'json', - } - ); - if (res.data.state === true) { + isLoading.value = true + const res = await axiosInstance.get('/awjt/space/getRecentAlarms', { baseURL: '' }); + if (res.state === true) { let rawData = []; - if (Array.isArray(res.data.value.items)) { - rawData = res.data.value.items; - } else if (Array.isArray(res.data.value)) { - rawData = res.data.value; + if (Array.isArray(res.value.items)) { + rawData = res.value.items; + } else if (Array.isArray(res.value)) { + rawData = res.value; } option.dataset = rawData.map(formatAlarmItem); } else { diff --git a/src/packages/components/Charts/ConfinedSpace/Map/index.vue b/src/packages/components/Charts/ConfinedSpace/Map/index.vue index acdc0ea..e584c69 100644 --- a/src/packages/components/Charts/ConfinedSpace/Map/index.vue +++ b/src/packages/components/Charts/ConfinedSpace/Map/index.vue @@ -19,6 +19,7 @@ import axios from 'axios'; import config, { BarOption } from './config'; import { PropType, toRefs, ref, onMounted, computed, watch } from 'vue'; import dataJson from './data.json' +import axiosInstance from '@/api/axios'; const iframeRef = ref(null); const isIframeReady = ref(false); // 2. 创建一个状态来跟踪 iframe 是否已加载 @@ -72,9 +73,9 @@ const fetchData = async (url: string) => { } try { // 无后端接口, 此为预留 - const response = await axios.get(`/dev${url}`); - if (response.data.state === true && response.data.value && response.data.value.length > 0) { - return response.data.value; // 返回原始数据 + const response: any = await axiosInstance.get(`/dev${url}`, { baseURL: '' }); + if (response.state === true && response.value && response.value.length > 0) { + return response.value; // 返回原始数据 } else { console.warn('API调用失败或返回空数据,将使用静态数据。'); return dataJson.barOptions; diff --git a/src/packages/components/Charts/ConfinedSpace/PieCircleCommen/index.vue b/src/packages/components/Charts/ConfinedSpace/PieCircleCommen/index.vue index a6cbff6..ec1d9cb 100644 --- a/src/packages/components/Charts/ConfinedSpace/PieCircleCommen/index.vue +++ b/src/packages/components/Charts/ConfinedSpace/PieCircleCommen/index.vue @@ -31,6 +31,7 @@ import { } from 'echarts/components' import axios from 'axios' +import axiosInstance from '@/api/axios' const props = defineProps({ @@ -187,22 +188,23 @@ const fetchAlarmData = async ({ startTime, endTime }: { startTime: string; endTi }], }; try { - const res = await axios.get( - `/awjt/space/getNumberByAlarmLevel`, + const res: any = await axiosInstance.get( + `/awjt/space/getNumberByAlarmLevel`, { - params: { startTime, endTime }, + params: { startTime, endTime }, responseType: 'json', + baseURL: '' } ); // 检查 API 响应状态和数据是否有效且非空 - if (res.data.state === true && res.data.value && res.data.value.length > 0) { - console.log(res.data) + if (res.state === true && res.value && res.value.length > 0) { + console.log(res) return { dimensions: props.chartConfig.option.dataset.dimensions, - source: res.data.value, + source: res.value, }; } else { - console.warn('API调用成功但数据为空或状态异常,显示默认无数据。', res.data) + console.warn('API调用成功但数据为空或状态异常,显示默认无数据。', res) return defaultNoData; } } catch (error) { diff --git a/src/packages/components/Charts/ConfinedSpace/videoCheck/index.vue b/src/packages/components/Charts/ConfinedSpace/videoCheck/index.vue index 4da9bbe..f8e2965 100644 --- a/src/packages/components/Charts/ConfinedSpace/videoCheck/index.vue +++ b/src/packages/components/Charts/ConfinedSpace/videoCheck/index.vue @@ -45,6 +45,7 @@ import axios from 'axios' import { getUUID, isPreview } from '@/utils' import { useYushiVideoStore } from '@/store/modules/yushiVideoStore/yushiVideoStore' import SmallBaorder01 from '../SmallBorder01Co/index.vue' +import axiosInstance from '@/api/axios' const yushiStore = useYushiVideoStore() let selectedList = [] @@ -527,10 +528,11 @@ const getDataSource = (newData: any) => { const fetchCameraTree = async () => { console.log('fetchCameraTree: 正在获取摄像头树数据...'); try { - const res = await axios.get('/awjt/api/camera/tree'); - if (res.status === 200 && res.data && res.data.state) { - console.log("API 响应数据 (Camera Tree):", res.data.value); - return res.data.value; + const res = await axiosInstance.get('/awjt/api/camera/tree', { baseURL: '' }); + console.log("API 响应数据 (Camera Tree):", res); + if (res && res.state === true) { + console.log("API 响应数据 (Camera Tree):", res.value); + return res.value; } else { console.warn('API 返回非预期数据结构或空数据:', res); return [];