From 69157d2c509f998d88acfa078162cf1617969fc1 Mon Sep 17 00:00:00 2001 From: hxr <1490493387@qq.com> Date: Sun, 16 Jun 2024 10:14:11 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20:memo:=20=E4=BC=98=E5=8C=96=20route=20m?= =?UTF-8?q?eta=20=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/types/router.d.ts | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/types/router.d.ts diff --git a/src/types/router.d.ts b/src/types/router.d.ts new file mode 100644 index 00000000..65c47ca3 --- /dev/null +++ b/src/types/router.d.ts @@ -0,0 +1,60 @@ +import "vue-router"; + +declare module "vue-router" { + // https://router.vuejs.org/zh/guide/advanced/meta.html#typescript + // 可以通过扩展 RouteMeta 接口来输入 meta 字段 + interface RouteMeta { + /** + * 菜单名称 + * @example 'Dashboard' + */ + title?: string; + + /** + * 菜单图标 + * @example 'el-icon-edit' + */ + icon?: string; + + /** + * 是否隐藏菜单项 + * true 隐藏, false 显示 + * @default false + */ + hidden?: boolean; + + /** + * 始终显示父级菜单,即使只有一个子菜单 + * true 显示父级菜单, false 隐藏父级菜单,显示唯一子节点 + * @default false + */ + alwaysShow?: boolean; + + /** + * 是否固定在页签上 + * true 固定, false 不固定 + * @default false + */ + affix?: boolean; + + /** + * 是否缓存页面 + * true 缓存, false 不缓存 + * @default false + */ + keepAlive?: boolean; + + /** + * 是否在面包屑导航中隐藏 + * true 隐藏, false 显示 + * @default false + */ + breadcrumb?: boolean; + + /** + * 拥有访问该菜单权限的角色编码集合 + * @example ['admin', 'editor'] + */ + roles?: string[]; + } +}