fix: 替换获取服务器时间接口

This commit is contained in:
TsMask
2025-04-29 17:09:41 +08:00
parent 13a18a7131
commit cb6ed51a4e
2 changed files with 22 additions and 33 deletions

View File

@@ -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;
}
/**

View File

@@ -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
</script>