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)
...
}