Appearance
route 路由
路由对象
参数 | 说明 |
---|---|
name | 路由的标识 |
path | 路由地址,可以是外链 |
component | 路由组件 |
children | 子路由 |
redirect | 重定向 |
hidden | 隐藏菜单 |
meta | 元数据,见下方 |
meta 类型定义
ts
interface RouteMeta {
permission?: any[]
role?: any[]
title: string
icon?: string
}
参数 | 说明 |
---|---|
title | 菜单名称 |
icon | 菜单图标 |
role | 能访问菜单的角色(不配置代表所有角色都可以访问) |
permission | 能访问菜单的权限(不配置代表都可以访问) |
根据角色显示菜单
- /stores/user.ts
ts
async getUserInfo() {
// const userRes: any = await getUserInfo()
// this.user = userRes.infos[0]
...
const userRoles = await getUserRoles()
this.flag = true
return userRoles
}
- /router/guard.ts
ts
if (!userStore.flag) {
await userStore.getUserInfo()
const accessedRouters = await routerStore.generatorRouter()
const roles = await userStore.getUserInfo()
const accessedRouters = await routerStore.generatorRouter(roles)
...
}