Skip to content

概述

路由配置在 src/router 文件下面:

提醒

  • 项目默认采用动态添加路由方式控制

  • 项目路由暂时只提供了前端控制路由

  • 需要其它路由功能根据自己项目需求改造

目录说明

text
SnowAdmin
├─ src
│  ├─ router              # 路由管理
│  │  ├─ index.ts         # 路由入口文件
│  │  ├─ route-output.ts  # 路由逻辑处理文件
│  │  ├─ route.ts         # 路由配置文件

路由参数

tsx
interface RouteRecordRaw {
  /* 路由访问路径 */
  path: string;
  /* 路由 name (对应页面组件 name, 可用作 KeepAlive 缓存标识 && 按钮权限筛选) */
  name: string;
  /* 路由重定向地址 */
  redirect: string;
  /* 视图文件路径 */
  component: string | (() => Promise<unknown>);
  /* 路由meta对象参数,我们通常将属性放到meta对象中 */
  meta: {
    /* 路由标题、菜单栏以及 tabsView 栏、菜单搜索名称(国际化) */
    title: string;
    /* 是否在菜单中隐藏 */
    hide: boolean;
    /* 是否缓存组件状态(页面缓存) */
    keepAlive: boolean;
    /* 是否固定在tagesView栏上 */
    affix: boolean;
    /* 是否是超链接菜单,外链url,开启外链条件:1、 link:链接地址不为空  2、iframe: false */
    link: string;
    /* 是否内嵌窗口,开启条件:1、iframe:true  2、link:链接地址不为空 */
    iframe: boolean;
    /* 当前路由权限表示,取角色管理。路由控制显示、隐藏。 超级管理员:admin;普通角色:common */
    roles: Array<string>;
    /* 菜单图标svg */
    svgIcon?: string;
    /* 菜单图标icon */
    icon?: string;     
    /* 路由排序(当前层级的路由排序) */
    sort: number;
  };
  /* 多级路由嵌套 */
  children: RouteRecordRaw[];
}

参考资料

Vue Router:https://router.vuejs.org/zh/

基于 MIT 许可发布