diff --git a/src/api/index.ts b/src/api/index.ts index f7d04d31..f2ffc180 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -1,23 +1,15 @@ -import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { request } from '@/plugins/http-fetch'; /** - * 获取服务器时间 + * 服务器时间 * @returns object */ export async function getServerTime() { - // 发起请求 - const result = await request({ - url: `/api/rest/systemManagement/v1/elementType/OMC/objectType/time`, + return request({ + url: `/time`, method: 'GET', + whithToken: false, }); - // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && result.data) { - return Object.assign(result, { - data: result.data.data, - }); - } - return result; } /** diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index f9bd2e0d..6467211c 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -194,28 +194,25 @@ onMounted(() => { }); // ==== 服务器时间显示 start -let serverTime = reactive({ - timestamp: 0, - zone: 'UTC', // 时区 UTC - interval: null as any, // 定时器 -}); +let serverTimeInterval: any = null; +let serverTime = 0; // 获取服务器时间 function fnGetServerTime() { getServerTime().then(res => { if (res.code === RESULT_CODE_SUCCESS && res.data) { + clearInterval(serverTimeInterval); + serverTimeInterval = null; + serverTime = res.data.timestamp; + // 用DOM直接修改 const serverTimeDom = document.getElementById('serverTimeDom'); - // 时区 - const utcOffset = res.data.timeZone / 3600; - serverTime.zone = `UTC ${utcOffset}`; - // 时间戳 - serverTime.timestamp = parseInt(res.data.timestamp); - serverTime.interval = setInterval(() => { - serverTime.timestamp += 1000; - // serverTimeStr.value = parseDateToStr(serverTime.timestamp); - // 用DOM直接修改 + serverTimeInterval = setInterval(() => { + serverTime += 1000; if (serverTimeDom) { - serverTimeDom.innerText = parseDateToStr(serverTime.timestamp); + serverTimeDom.innerText = parseDateToStr(serverTime); + } else { + clearInterval(serverTimeInterval); + serverTimeInterval = null; } }, 1000); } @@ -226,21 +223,21 @@ function fnGetServerTime() { document.addEventListener('visibilitychange', function () { if (document.visibilityState == 'hidden') { //切离该页面时执行 - clearInterval(serverTime.interval); - serverTime.interval = null; + clearInterval(serverTimeInterval); + serverTimeInterval = null; } if (document.visibilityState == 'visible') { //切换到该页面时执行 - clearInterval(serverTime.interval); - serverTime.interval = null; + clearInterval(serverTimeInterval); + serverTimeInterval = null; fnGetServerTime(); useAlarmStore().fnGetActiveAlarmInfo(); } }); onUnmounted(() => { - clearInterval(serverTime.interval); - serverTime.interval = null; + clearInterval(serverTimeInterval); + serverTimeInterval = null; }); // ==== 服务器时间显示 end