|
@@ -155,6 +155,13 @@ const router = createRouter({
|
|
|
component: () => import("@/views/device/alarmClock.vue"),
|
|
|
meta: { index: 1 },
|
|
|
},
|
|
|
+ // 定时开关
|
|
|
+ {
|
|
|
+ path: "/newAlarmClock",
|
|
|
+ name: "newAlarmClock",
|
|
|
+ component: () => import("@/views/device/newAlarmClock.vue"),
|
|
|
+ meta: { index: 1 },
|
|
|
+ },
|
|
|
// 设置闹钟
|
|
|
{
|
|
|
path: "/alarmClockAdd",
|
|
@@ -712,32 +719,34 @@ let retryCount = 0;
|
|
|
// 路由守卫处理
|
|
|
router.beforeEach(async (to, from, next) => {
|
|
|
// 只在首次路由跳转时检查版本(生产环境)
|
|
|
- if (!isVersionChecked && process.env.NODE_ENV === 'production') {
|
|
|
+ if (!isVersionChecked && process.env.NODE_ENV === "production") {
|
|
|
isVersionChecked = true;
|
|
|
try {
|
|
|
const response = await fetch(`/shenze/version.json?t=${Date.now()}`, {
|
|
|
- cache: 'no-store'
|
|
|
+ cache: "no-store",
|
|
|
});
|
|
|
const serverVersion = await response.json();
|
|
|
- const localVersion = localStorage.getItem('appVersion') || '';
|
|
|
+ const localVersion = localStorage.getItem("appVersion") || "";
|
|
|
|
|
|
if (serverVersion.version !== localVersion) {
|
|
|
// 版本不一致,提示用户刷新
|
|
|
if (retryCount < MAX_RETRY_COUNT) {
|
|
|
retryCount++;
|
|
|
- console.log(`检测到新版本(${serverVersion.version}),第${retryCount}次尝试刷新...`);
|
|
|
- localStorage.setItem('appVersion', serverVersion.version);
|
|
|
+ console.log(
|
|
|
+ `检测到新版本(${serverVersion.version}),第${retryCount}次尝试刷新...`
|
|
|
+ );
|
|
|
+ localStorage.setItem("appVersion", serverVersion.version);
|
|
|
window.location.reload();
|
|
|
return; // 中断当前路由导航
|
|
|
} else {
|
|
|
- console.log('已达到最大重试次数,继续使用旧版本');
|
|
|
+ console.log("已达到最大重试次数,继续使用旧版本");
|
|
|
retryCount = 0; // 重置计数器
|
|
|
}
|
|
|
} else if (!localVersion) {
|
|
|
- localStorage.setItem('appVersion', serverVersion.version);
|
|
|
+ localStorage.setItem("appVersion", serverVersion.version);
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.error('版本检测失败:', error);
|
|
|
+ console.error("版本检测失败:", error);
|
|
|
// 继续路由导航,即使版本检测失败
|
|
|
}
|
|
|
}
|