From 6a97837cd64feaa6552a951ef88392b57764704a Mon Sep 17 00:00:00 2001
From: hooray <304327508@qq.com>
Date: Sun, 27 Nov 2022 23:39:54 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20Menu.recordRaw=20=E5=92=8C?=
=?UTF-8?q?=20Menu.recordMainRaw=20=E7=B1=BB=E5=9E=8B=E9=87=8C=E7=9A=84=20?=
=?UTF-8?q?meta=20=E4=B8=BA=E5=8F=AF=E9=80=89=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/global.d.ts | 4 ++--
src/layouts/components/Header/index.vue | 6 +++---
src/layouts/components/MainSidebar/index.vue | 8 ++++----
src/layouts/components/Search/index.vue | 10 +++++-----
src/layouts/components/SidebarItem/index.vue | 16 ++++++++--------
src/layouts/components/SubSidebar/index.vue | 2 +-
src/store/modules/menu.ts | 14 +++++---------
7 files changed, 28 insertions(+), 32 deletions(-)
diff --git a/src/global.d.ts b/src/global.d.ts
index 698ca25e..4a0193a9 100644
--- a/src/global.d.ts
+++ b/src/global.d.ts
@@ -244,7 +244,7 @@ declare namespace Menu {
/** 原始 */
interface recordRaw {
path?: string
- meta: {
+ meta?: {
title?: string
icon?: string
defaultOpened?: boolean
@@ -255,7 +255,7 @@ declare namespace Menu {
}
/** 主导航 */
interface recordMainRaw {
- meta: {
+ meta?: {
title?: string
icon?: string
auth?: string | string[]
diff --git a/src/layouts/components/Header/index.vue b/src/layouts/components/Header/index.vue
index 6339ad0e..803ce1ee 100644
--- a/src/layouts/components/Header/index.vue
+++ b/src/layouts/components/Header/index.vue
@@ -30,10 +30,10 @@ function handlerMouserScroll(event: WheelEvent) {
-
-
+
+
- {{ item.meta.title }}
+ {{ item.meta.title }}
diff --git a/src/layouts/components/MainSidebar/index.vue b/src/layouts/components/MainSidebar/index.vue
index 4914693d..fc0b4650 100644
--- a/src/layouts/components/MainSidebar/index.vue
+++ b/src/layouts/components/MainSidebar/index.vue
@@ -19,12 +19,12 @@ const { switchTo } = useMenu()
-
-
+
+
- {{ item.meta.title ?? '[ 无标题 ]' }}
+ {{ item.meta?.title ?? '[ 无标题 ]' }}
diff --git a/src/layouts/components/Search/index.vue b/src/layouts/components/Search/index.vue
index d2488af4..1077250c 100644
--- a/src/layouts/components/Search/index.vue
+++ b/src/layouts/components/Search/index.vue
@@ -172,14 +172,14 @@ function getSourceListByMenus(arr: Menu.recordRaw[], icon?: string, breadcrumb?:
arr.forEach((item) => {
const breadcrumbTemp = cloneDeep(breadcrumb) || []
if (item.children && item.children.length > 0) {
- breadcrumbTemp.push(item.meta.title)
- getSourceListByMenus(item.children, item.meta.icon ?? icon, breadcrumbTemp)
+ breadcrumbTemp.push(item.meta?.title)
+ getSourceListByMenus(item.children, item.meta?.icon ?? icon, breadcrumbTemp)
}
else {
- breadcrumbTemp.push(item.meta.title)
+ breadcrumbTemp.push(item.meta?.title)
sourceList.value.push({
- icon: item.meta.icon ?? icon,
- title: item.meta.title,
+ icon: item.meta?.icon ?? icon,
+ title: item.meta?.title,
path: item.path as string,
breadcrumb: breadcrumbTemp,
})
diff --git a/src/layouts/components/SidebarItem/index.vue b/src/layouts/components/SidebarItem/index.vue
index 824b8caf..d02bee09 100644
--- a/src/layouts/components/SidebarItem/index.vue
+++ b/src/layouts/components/SidebarItem/index.vue
@@ -20,7 +20,7 @@ const settingsStore = useSettingsStore()
const hasChildren = computed(() => {
let flag = true
if (props.item.children) {
- if (props.item.children.every(item => item.meta.sidebar === false)) {
+ if (props.item.children.every(item => item.meta?.sidebar === false)) {
flag = false
}
}
@@ -35,23 +35,23 @@ const hasChildren = computed(() => {
diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue
index cf6833bf..0777fc2b 100644
--- a/src/layouts/components/SubSidebar/index.vue
+++ b/src/layouts/components/SubSidebar/index.vue
@@ -30,7 +30,7 @@ function onSidebarScroll(e: Event) {
>
-
+
diff --git a/src/store/modules/menu.ts b/src/store/modules/menu.ts
index eed64f56..8a50e0ed 100644
--- a/src/store/modules/menu.ts
+++ b/src/store/modules/menu.ts
@@ -12,13 +12,9 @@ function getDeepestPath(menu: Menu.recordRaw, rootPath = '') {
let retnPath = ''
if (menu.path !== undefined) {
if (menu.children) {
- if (
- menu.children.some((item) => {
- return item.meta.sidebar !== false
- })
- ) {
+ if (menu.children.some(item => item.meta?.sidebar !== false)) {
for (let i = 0; i < menu.children.length; i++) {
- if (menu.children[i].meta.sidebar !== false) {
+ if (menu.children[i].meta?.sidebar !== false) {
retnPath = getDeepestPath(menu.children[i], resolveRoutePath(rootPath, menu.path))
break
}
@@ -39,9 +35,9 @@ function hasPermission(permissions: string[], menu: Menu.recordMainRaw | Menu.re
let isAuth = false
if (menu.meta && menu.meta.auth) {
isAuth = permissions.some((auth) => {
- return typeof menu.meta.auth === 'string'
+ return typeof menu.meta?.auth === 'string'
? menu.meta.auth === auth
- : typeof menu.meta.auth === 'object'
+ : typeof menu.meta?.auth === 'object'
? menu.meta.auth.includes(auth)
: false
})
@@ -72,7 +68,7 @@ function filterAsyncMenus(men
function getDefaultOpenedPaths(menus: Menu.recordRaw[], rootPath = '') {
const defaultOpenedPaths: string[] = []
menus.forEach((item) => {
- if (item.path && item.meta.defaultOpened && item.children) {
+ if (item.path && item.meta?.defaultOpened && item.children) {
defaultOpenedPaths.push(resolveRoutePath(rootPath, item.path))
const childrenDefaultOpenedPaths = getDefaultOpenedPaths(item.children, resolveRoutePath(rootPath, item.path))
if (childrenDefaultOpenedPaths.length > 0) {