diff --git a/src/router/index.js b/src/router/index.js index 69975ee..39671eb 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,7 @@ import { createRouter, createWebHistory } from 'vue-router' import { useUserStore } from '@/stores/user' import NProgress from 'nprogress' +import api from '@/utils/api' const routes = [ { @@ -262,6 +263,31 @@ router.beforeEach(async (to, from, next) => { document.title = `${to.meta.title} - 炬融圈` } + // 检查维护模式 + try { + const {data} = await api.get('/system/maintenance-status', { showLoading: false }) + console.log(data,'data'); + + if (data.success) { + if (data.data.maintenance_mode) { + // 维护模式开启,且不在维护页面,跳转到维护页面 + if (to.name !== 'Loading') { + next({ name: 'Loading' }) + return + } + } else { + // 维护模式关闭,且在维护页面,跳转到首页 + if (to.name === 'Loading') { + next({ name: 'MainPage' }) + return + } + } + } + } catch (error) { + // 如果检查维护状态失败,继续正常流程 + console.warn('检查维护状态失败:', error) + } + // 检查是否需要认证 if (to.meta.requiresAuth) { // 检查是否是代理页面