52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
|
import { type RouteMeta as VRouteMeta } from 'vue-router';
|
|||
|
import { type PermissionType } from '@/permission/permCode/';
|
|||
|
import { type LocaleType } from '@/locales/config';
|
|||
|
|
|||
|
declare global {
|
|||
|
type Title18n = {
|
|||
|
[p in LocaleType]: string;
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
declare module 'vue-router' {
|
|||
|
interface RouteMeta extends VRouteMeta {
|
|||
|
/** 标题 */
|
|||
|
title: string | Title18n;
|
|||
|
/** 当前菜单类型 0: 目录 | 1: 菜单 | 2: 权限 */
|
|||
|
type?: 0 | 1 | 2;
|
|||
|
/** 当前路由权限 */
|
|||
|
perms?: PermissionType[];
|
|||
|
/** 是否需要缓存 */
|
|||
|
keepAlive?: boolean;
|
|||
|
/** 当前路由namePath 祖先name集合 */
|
|||
|
namePath?: string[];
|
|||
|
/** 当前路由所在的完整路径 */
|
|||
|
fullPath?: string;
|
|||
|
/** 是否固定在标签栏 */
|
|||
|
affix?: boolean;
|
|||
|
/** 菜单图标 */
|
|||
|
icon?: string;
|
|||
|
/** 当前页面切换动画 */
|
|||
|
transitionName?: string | false;
|
|||
|
/** @name 在菜单中隐藏子节点 */
|
|||
|
hideChildrenInMenu?: boolean;
|
|||
|
/** 不在菜单中显示 */
|
|||
|
hideInMenu?: boolean;
|
|||
|
/** 不在面包屑导航中显示 */
|
|||
|
hideInBreadcrumb?: boolean;
|
|||
|
/** 不在tab标签页中显示 */
|
|||
|
hideInTabs?: boolean;
|
|||
|
/** 设置当前路由高亮的菜单项,值为route fullPath或route name,一般用于详情页 */
|
|||
|
activeMenu?: string;
|
|||
|
/** 菜单排序号 */
|
|||
|
orderNo?: number;
|
|||
|
/** 是否外链 */
|
|||
|
isExt?: boolean;
|
|||
|
/** 外链打开方式
|
|||
|
* 1: 新窗口打开
|
|||
|
* 2: 内嵌 iframe
|
|||
|
*/
|
|||
|
extOpenMode?: 1 | 2;
|
|||
|
}
|
|||
|
}
|