From f8f4619454ead6050dc263a86df671d18338e1f0 Mon Sep 17 00:00:00 2001 From: Fine Date: Mon, 10 Jul 2023 18:00:18 +0800 Subject: [PATCH] refactor: address pr --- src/router/layer.ts | 15 ++++++------ src/store/modules/app.ts | 43 --------------------------------- src/views/marketplace/Menus.vue | 32 +----------------------- 3 files changed, 9 insertions(+), 81 deletions(-) diff --git a/src/router/layer.ts b/src/router/layer.ts index d5d4bf96..02646d0b 100644 --- a/src/router/layer.ts +++ b/src/router/layer.ts @@ -21,7 +21,7 @@ import type { MenuOptions } from "@/types/app"; async function layerDashboards() { const appStore = useAppStoreWithOut(); await appStore.getActivateMenus(); - const routes = appStore.currentMenus.map((item: MenuOptions) => { + const routes = appStore.activateMenus.map((item: MenuOptions) => { const route: any = { path: "", name: item.name, @@ -56,16 +56,17 @@ async function layerDashboards() { }; route.children.push(tab); } - if (!item.subItems.length) { + if (!item.hasGroup) { route.children = [ { name: item.name, path: item.path, - title: item.title, - layer: item.layer, - activate: item.activate, - icon: item.icon, - id: item.id, + meta: { + title: item.title, + layer: item.layer, + icon: item.icon, + }, + component: () => import("@/views/Layer.vue"), }, ]; } diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts index d0a7aa66..05761182 100644 --- a/src/store/modules/app.ts +++ b/src/store/modules/app.ts @@ -36,9 +36,7 @@ interface AppState { version: string; isMobile: boolean; reloadTimer: Nullable; - currentMenus: MenuOptions[]; activateMenus: MenuOptions[]; - checkedKeys: string[]; } export const appStore = defineStore({ @@ -59,9 +57,7 @@ export const appStore = defineStore({ version: "", isMobile: false, reloadTimer: null, - currentMenus: [], activateMenus: [], - checkedKeys: [], }), getters: { duration(): Duration { @@ -132,12 +128,6 @@ export const appStore = defineStore({ updateDurationRow(data: Duration) { this.durationRow = data; }, - setCurrentMenus(menus: MenuOptions[]) { - this.currentMenus = menus; - }, - setCheckedKeys(keys: string[]) { - this.checkedKeys = keys; - }, setUTC(utcHour: number, utcMin: number): void { this.runEventStack(); this.utcMin = utcMin; @@ -177,14 +167,12 @@ export const appStore = defineStore({ const t = `${d.title.replace(/\s+/g, "-")}`; d.name = `${t}-${index}`; d.path = `/${t}`; - d.id = d.name; if (d.subItems && d.subItems.length) { d.hasGroup = true; d.subItems = d.subItems.map((item: SubItem, sub: number) => { const id = `${item.title.replace(/\s+/g, "-")}`; item.name = `${id}-${index}${sub}`; item.path = `/${t}/${id}`; - item.id = item.name; return item; }); } @@ -201,37 +189,6 @@ export const appStore = defineStore({ return d; } }); - const customMenus = localStorage.getItem("customMenus"); - if (customMenus) { - this.checkedKeys = JSON.parse(customMenus); - } else { - for (const menus of this.activateMenus) { - this.checkedKeys.push(menus.name); - for (const item of menus.subItems) { - this.checkedKeys.push(item.name); - } - } - window.localStorage.setItem("customMenus", JSON.stringify(this.checkedKeys)); - } - await this.getCurrentMenus(); - }, - getCurrentMenus() { - const current = []; - for (const d of this.activateMenus) { - const subItems = []; - for (const item of d.subItems) { - if (this.checkedKeys.includes(item.name)) { - subItems.push(item); - } - } - if (d.hasGroup && subItems.length) { - current.push({ ...d, subItems }); - } - if (!d.hasGroup && d.activate) { - current.push({ ...d, subItems }); - } - } - this.setCurrentMenus(current); }, async queryOAPTimeInfo() { const res: AxiosResponse = await graphql.query("queryOAPTimeInfo").params({}); diff --git a/src/views/marketplace/Menus.vue b/src/views/marketplace/Menus.vue index efe23f92..3720286e 100644 --- a/src/views/marketplace/Menus.vue +++ b/src/views/marketplace/Menus.vue @@ -15,28 +15,15 @@ limitations under the License. -->