From 96f2bbc687a97b5e145f04ed6d95d0cf67b521dc Mon Sep 17 00:00:00 2001 From: wf <2547096351@qq.com> Date: Thu, 18 Apr 2024 13:01:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B7=AF=E7=94=B1=E9=AB=98=E4=BA=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/Tabs/index.vue | 33 ---------------------------- src/router/index.ts | 4 +++- src/router/route-output.ts | 11 ++++++++++ src/store/route-list.ts | 8 +++++-- 4 files changed, 20 insertions(+), 36 deletions(-) diff --git a/src/layout/components/Tabs/index.vue b/src/layout/components/Tabs/index.vue index 26dfc5b..5540c55 100644 --- a/src/layout/components/Tabs/index.vue +++ b/src/layout/components/Tabs/index.vue @@ -47,41 +47,8 @@ watch( { flush: "post" } ); -// let count = 5; -// const data = ref([ -// { -// key: "1", -// title: "Tab 1", -// content: "Content of Tab Panel 1" -// }, -// { -// key: "2", -// title: "Tab 2", -// content: "Content of Tab Panel 2" -// }, -// { -// key: "3", -// title: "Tab 3", -// content: "Content of Tab Panel 3" -// }, -// { -// key: "4", -// title: "Tab 4", -// content: "Content of Tab Panel 4" -// } -// ]); - -// const handleAdd = () => { -// const number = count++; -// data.value = data.value.concat({ -// key: `${number}`, -// title: `New Tab ${number}`, -// content: `Content of New Tab Panel ${number}` -// }); -// }; const handleDelete = (key: any) => { console.log("关闭tags", key); - // data.value = data.value.filter(item => item.key !== key); }; diff --git a/src/router/index.ts b/src/router/index.ts index 7bbc879..63150d0 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -2,7 +2,7 @@ import NProgress from "@/config/nprogress"; import pinia from "@/store/index"; import { createRouter, createWebHashHistory } from "vue-router"; import { staticRoutes, notFoundAndNoPower } from "@/router/route.ts"; -import { initSetRouter } from "@/router/route-output"; +import { initSetRouter, currentlyRoute } from "@/router/route-output"; import { storeToRefs } from "pinia"; import { useUserInfoStore } from "@/store/user-info"; import { useRoutesListStore } from "@/store/route-list"; @@ -46,6 +46,7 @@ router.beforeEach(async (to, from, next) => { next("/login"); } else if (to.path === "/login" && token.value) { next("/home"); + currentlyRoute(to); } else { const routeStore = useRoutesListStore(pinia); const { routeTree } = storeToRefs(routeStore); @@ -57,6 +58,7 @@ router.beforeEach(async (to, from, next) => { } else { // 动态路由添加过走这里,直接放行 next(); + currentlyRoute(to); } } }); diff --git a/src/router/route-output.ts b/src/router/route-output.ts index 9266f3e..8a2a1c4 100644 --- a/src/router/route-output.ts +++ b/src/router/route-output.ts @@ -78,3 +78,14 @@ export const roleBase = (roles: Array) => { const { account } = storeToRefs(store); return account.value.roles.some((item: string) => roles.includes(item)); }; + +/** + * 路由跳转,将路由存入store + * @param {object} to 需要跳转的路由 + * @returns 是否有权限 true是 false否 + */ +export const currentlyRoute = (to: any) => { + // const store = useRoutesListStore(pinia); + // const { routeList, currentRoute, tagsList } = storeToRefs(store); + console.log("当前路由", to); +}; diff --git a/src/store/route-list.ts b/src/store/route-list.ts index 2f89ceb..6fd0a50 100644 --- a/src/store/route-list.ts +++ b/src/store/route-list.ts @@ -11,10 +11,11 @@ export const useRoutesListStore = defineStore("routeList", { routeTree: [], // 路由树 routeList: [], // 路由数据-一维 routeNames: [], // 路由名称 - tagsList: [] // 标签页数据 + tagsList: [], // 标签页数据 + currentRoute: {} // 当前路由 }), actions: { - setRouteTree(data: any) { + setRouteTree(data: Menu.MenuOptions) { this.routeTree = data; }, setRouteList(data: any) { @@ -28,6 +29,9 @@ export const useRoutesListStore = defineStore("routeList", { if (!isExist) { this.tagsList.push(data); } + }, + setCurrentRoute(data: any) { + this.currentRoute = data; } } });