From f2ab8102c436a272e77aff12c811273757c5b9e5 Mon Sep 17 00:00:00 2001 From: lihui Date: Tue, 12 Aug 2025 12:02:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor(src):=20=E5=85=A8=E5=B1=80=E6=8B=A6?= =?UTF-8?q?=E6=88=AA=E8=BF=87=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.ts | 39 ++++++++++++++++++++++----------------- src/router/index.js | 17 ----------------- src/util/request.js | 14 +++++++------- 3 files changed, 29 insertions(+), 41 deletions(-) diff --git a/src/main.ts b/src/main.ts index 795d7b9..3e78e78 100644 --- a/src/main.ts +++ b/src/main.ts @@ -12,27 +12,32 @@ import VxeUI from 'vxe-pc-ui' import 'vxe-pc-ui/lib/style.css' import VxeUITable from 'vxe-table' import 'vxe-table/lib/style.css' -const a = createApp(App) -import { useAdminStore } from '../src/store' +// 修正导入路径 +import { useAdminStore } from './store' +import request from "@/util/request"; + +const app = createApp(App) +const pinia = createPinia() + // 全局注册 ElementPlus 图标 for (const [key, component] of Object.entries(ElementPlusIconsVue)) { - a.component(key, component) + app.component(key, component) } -const pinia = createPinia() -// 使用 ElementPlus 和路由器 -a.use(ElementPlus, { - locale: zhCn +// 先注册组件再挂载 +app.component('downloadExcel', JsonExcel) +app.config.globalProperties.$http = request + +// 使用各种插件 +app.use(ElementPlus, { + locale: zhCn }) - .use(router) - .use(VxeUI) - .use(VxeUITable) - .use(pinia) - .mount('#app') + .use(router) + .use(VxeUI) + .use(VxeUITable) + .use(pinia) + .mount('#app') -// 恢复localStorage数据 +// 在 app 挂载之后再使用 store const adminStore = useAdminStore() -adminStore.initFromLocalStorage() - -// 注册 JsonExcel 组件 -a.component('downloadExcel', JsonExcel) +adminStore.initFromLocalStorage() \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 4d4eb38..d1aa4a8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -287,23 +287,6 @@ const router = createRouter({ routes }); -// 全局拦截器:token过期处理 -axios.interceptors.response.use( - response => response, - error => { - if (error.response && error.response.status === 401) { - localStorage.removeItem('token'); - router.push({ - name: 'login', - query: { - machineId: localStorage.getItem('machineId'), - expired: true - } - }); - } - return Promise.reject(error); - } -); // 工具函数:从菜单树提取所有权限ID const getAllPermissionIds = (menuTree) => { diff --git a/src/util/request.js b/src/util/request.js index 6cd3c48..5fea421 100644 --- a/src/util/request.js +++ b/src/util/request.js @@ -44,13 +44,13 @@ service.interceptors.response.use( return response }, error => { - // const { response } = error - // if (response && response.status === 401) { - // const machineId = localStorage.getItem('machineId') - // localStorage.removeItem('token') - // window.location.href = `/login?machineId=${machineId}` - // return Promise.resolve({ needsLogin: true }) - // } + const { response } = error + if (response && response.status === 401) { + const machineId = localStorage.getItem('machineId') + localStorage.removeItem('token') + window.location.href = `#/login?machineId=${machineId}` + return Promise.resolve({ needsLogin: true }) + } return Promise.reject(error) } )