docs: 修改系统注释
This commit is contained in:
parent
2fbe311b60
commit
2e90b3836f
2
.env
2
.env
@ -7,5 +7,5 @@ VITE_GLOB_APP_TITLE = SnowAdmin
|
|||||||
# 静态资源url
|
# 静态资源url
|
||||||
VITE_IMG_BASE_URL = 'https://my-image-cdn.com'
|
VITE_IMG_BASE_URL = 'https://my-image-cdn.com'
|
||||||
|
|
||||||
# 本地mock数据
|
# 本地mock数据 true开启 false关闭
|
||||||
VITE_APP_OPEN_MOCK = true
|
VITE_APP_OPEN_MOCK = true
|
||||||
@ -22,17 +22,17 @@
|
|||||||
*
|
*
|
||||||
* 路由meta对象参数,我们通常将属性放到meta对象中
|
* 路由meta对象参数,我们通常将属性放到meta对象中
|
||||||
* meta: {
|
* meta: {
|
||||||
* title: 菜单栏以及 tabsView 栏、菜单搜索名称(国际化)
|
* title: 国际化key
|
||||||
* hide: 是否隐藏此路由,不会显示在菜单树,可以访问
|
* hide: 是否隐藏此路由,不会显示在菜单树,可以访问
|
||||||
* disable: 是否停用,不会显示在菜单树,且不可访问
|
* disable: 是否停用此路由-不显示且不可访问
|
||||||
* keepAlive: 是否缓存组件状态
|
* keepAlive: 是否缓存组件
|
||||||
* affix: 是否固定在 tabsView 栏上 菜单配置
|
* affix: 固定在Tabs栏上-开启后Tabs栏无关闭按钮
|
||||||
* link: 是否是超链接菜单,开启外链条件:1、 link:链接地址不为空 2、iframe: false 菜单配置
|
* link: 是否是超链接菜单,开启外链条件:1、 link:链接地址不为空 2、iframe: false
|
||||||
* iframe: 是否内嵌窗口,开启条件:1、iframe:true 2、link:链接地址不为空 菜单配置
|
* iframe: 是否内嵌外链窗口,开启条件:1、iframe:true 2、link:链接地址不为空
|
||||||
* roles: 当前路由权限表示,取角色管理。路由控制显示、隐藏。 超级管理员:admin;普通角色:common
|
* roles: 路由权限标识,取角色权限,超级管理员:admin;普通角色:common
|
||||||
* icon: 菜单、tabsView 图标等
|
* svgIcon: svg菜单图标,优先级高于icon,取src/assets/svgs内的svg文件
|
||||||
* svgIcon: svg图标
|
* icon: 普通icon菜单图标,默认取arco.design图标
|
||||||
* sort: 菜单顺序
|
* sort: 排序字段
|
||||||
* type: 1目录 2菜单 3按钮
|
* type: 1目录 2菜单 3按钮
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
@ -40,30 +40,31 @@
|
|||||||
/**
|
/**
|
||||||
* 路由的层级设置
|
* 路由的层级设置
|
||||||
* layout为框架布局,顶层路由
|
* layout为框架布局,顶层路由
|
||||||
* layout.children下的路由为menu菜单,例如:首页、系统设置、权限管理等
|
* layout.children下的路由为systemMenu菜单,例如:首页、系统设置、权限管理等
|
||||||
*/
|
*/
|
||||||
export const systemMenu = [
|
export const systemMenu = [
|
||||||
// layout-二级路由(主要渲染页面)
|
// layout-二级路由(主要渲染页面)
|
||||||
{
|
{
|
||||||
id: "01",
|
id: "01", // 路由id
|
||||||
parentId: "0",
|
parentId: "0", // 顶层路由 parentId: 0
|
||||||
path: "/home",
|
path: "/home", // 路由path
|
||||||
name: "home",
|
name: "home", // 路由name
|
||||||
component: "home/home",
|
component: "home/home", // 路由跳转的文件路径,默认在src/views内,这里就是src/views/home/home.vue
|
||||||
meta: {
|
meta: {
|
||||||
title: "home", // 国际化
|
title: "home", // 国际化key
|
||||||
hide: false, // 是否隐藏此路由
|
hide: false, // 是否隐藏此路由-不显示但可访问
|
||||||
disable: false, // 是否停用此路由
|
disable: false, // 是否停用此路由-不显示且不可访问
|
||||||
keepAlive: false, // 缓存组件状态
|
keepAlive: false, // 是否缓存组件
|
||||||
affix: true, // 固定在tagesView栏上
|
affix: true, // 固定在Tabs栏上-开启后Tabs栏无关闭按钮
|
||||||
link: "", // 是否外链
|
link: "", // 是否外链
|
||||||
iframe: false, // 是否内嵌窗口
|
iframe: false, // 是否内嵌外链窗口
|
||||||
roles: ["admin", "common"], // 路由权限
|
roles: ["admin", "common"], // 路由角色权限
|
||||||
svgIcon: "home", // 菜单图标
|
svgIcon: "home", // svg菜单图标,优先级高于icon,取src/assets/svgs内的svg文件
|
||||||
sort: 1,
|
icon: "", // 普通icon菜单图标,默认取arco.design图标
|
||||||
|
sort: 1, // 排序字段
|
||||||
type: 2 // type 1目录 2菜单 3按钮
|
type: 2 // type 1目录 2菜单 3按钮
|
||||||
},
|
},
|
||||||
children: null
|
children: null // 存储子节点字段,默认为null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "02",
|
id: "02",
|
||||||
|
|||||||
@ -8,8 +8,8 @@ import { systemMenu, permissionData } from "../_data/system_menu";
|
|||||||
* 1、根据token判断角色
|
* 1、根据token判断角色
|
||||||
* 2、过滤扁平路由,根据角色过滤权限和非禁用的节点
|
* 2、过滤扁平路由,根据角色过滤权限和非禁用的节点
|
||||||
* 3、将扁平路由转换为树结构
|
* 3、将扁平路由转换为树结构
|
||||||
* 3、路由树排序
|
* 4、路由树排序
|
||||||
* 4、返回路由树
|
* 5、返回路由树
|
||||||
*
|
*
|
||||||
* 前端调用接口拿到路由数据后:
|
* 前端调用接口拿到路由数据后:
|
||||||
* 1、将模块设置为真实模块
|
* 1、将模块设置为真实模块
|
||||||
|
|||||||
@ -33,7 +33,7 @@ export default [
|
|||||||
timeout: 300,
|
timeout: 300,
|
||||||
response: ({ headers }: any) => {
|
response: ({ headers }: any) => {
|
||||||
let data: any = {
|
let data: any = {
|
||||||
user: {}, // 用户信息
|
user: {}, // 账户信息
|
||||||
roles: [], // 角色
|
roles: [], // 角色
|
||||||
permissions: [] // 权限
|
permissions: [] // 权限
|
||||||
};
|
};
|
||||||
|
|||||||
@ -31,7 +31,7 @@ const router = createRouter({
|
|||||||
* 1、去登录页,无token,放行
|
* 1、去登录页,无token,放行
|
||||||
* 2、没有token,直接重定向到登录页
|
* 2、没有token,直接重定向到登录页
|
||||||
* 3、去登录页,有token,直接重定向到home页
|
* 3、去登录页,有token,直接重定向到home页
|
||||||
* 4、去非登录页,有token,若是从登录页而来则重载路由,若是刷新页面则重载路由,重载后重新跳转
|
* 4、去非登录页,有token,用户信息是否存在,有则放行,否则重新获取路由信息、初始化路由
|
||||||
* 注意:
|
* 注意:
|
||||||
* 全局routeTree不能持久化缓存
|
* 全局routeTree不能持久化缓存
|
||||||
* 页面刷新会导致addRoute动态添加的路由失效,需要重新初始化路由
|
* 页面刷新会导致addRoute动态添加的路由失效,需要重新初始化路由
|
||||||
@ -54,7 +54,7 @@ router.beforeEach(async (to: any, _: any, next: any) => {
|
|||||||
// 项目内的跳转,处理跳转路由高亮
|
// 项目内的跳转,处理跳转路由高亮
|
||||||
currentlyRoute(to.name as string);
|
currentlyRoute(to.name as string);
|
||||||
} else {
|
} else {
|
||||||
// 4、去非登录页,有token,校验是否动态添加过路由,添加过则放行,未添加则执行路由初始化
|
// 4、去非登录页,有token,用户信息是否存在,有则放行,否则重新获取路由信息、初始化路由
|
||||||
const routeStore = useRoutesConfigStore(pinia);
|
const routeStore = useRoutesConfigStore(pinia);
|
||||||
|
|
||||||
// 判断账号信息是否获取,先获取账号信息和路由信息,添加路由后再跳转(页面刷新时触发)
|
// 判断账号信息是否获取,先获取账号信息和路由信息,添加路由后再跳转(页面刷新时触发)
|
||||||
|
|||||||
@ -88,13 +88,12 @@ export const routesConfigStore = () => {
|
|||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 路由初始化
|
* 路由初始化
|
||||||
* 1、获取过滤角色权限后的树,后端做排序处理
|
* 1、获取过滤角色权限后排过序的的路由树,后端处理
|
||||||
* 2、将模块设置为真实模块
|
* 2、将模块设置为真实模块
|
||||||
* 3、存储路由树,用于生成菜单
|
* 3、存储路由树,用于生成菜单
|
||||||
* 4、根据树生成一维路由数组
|
* 4、根据树生成一维路由数组
|
||||||
* 5、动态添加路由
|
* 5、动态添加路由
|
||||||
* 6、缓存一维路由
|
* 6、缓存一维路由
|
||||||
* 7、获取按钮权限数据
|
|
||||||
*/
|
*/
|
||||||
async function initSetRouter() {
|
async function initSetRouter() {
|
||||||
// 1、获取过滤角色权限后的树,后端做排序处理
|
// 1、获取过滤角色权限后的树,后端做排序处理
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user