docs: 补充注释

Former-commit-id: b30d73862137c06cc8038fa303b65dadf336b06b
This commit is contained in:
haoxr
2023-03-20 23:55:29 +08:00
parent 622cc44bf3
commit ca609c0199

View File

@@ -2,7 +2,7 @@ import { RouteRecordRaw } from 'vue-router';
import { defineStore } from 'pinia'; import { defineStore } from 'pinia';
import { constantRoutes } from '@/router'; import { constantRoutes } from '@/router';
import { store } from '@/store'; import { store } from '@/store';
import { listRoutes } from '@/api/menu'; import { getRoutesApi } from '@/api/menu';
const modules = import.meta.glob('../../views/**/**.vue'); const modules = import.meta.glob('../../views/**/**.vue');
const Layout = () => import('@/layout/index.vue'); const Layout = () => import('@/layout/index.vue');
@@ -76,11 +76,18 @@ export const usePermissionStore = defineStore('permission', () => {
function setRoutes(newRoutes: RouteRecordRaw[]) { function setRoutes(newRoutes: RouteRecordRaw[]) {
routes.value = constantRoutes.concat(newRoutes); routes.value = constantRoutes.concat(newRoutes);
} }
/**
* 生成动态路由
*
* @param roles 用户角色集合
* @returns
*/
function generateRoutes(roles: string[]) { function generateRoutes(roles: string[]) {
return new Promise<RouteRecordRaw[]>((resolve, reject) => { return new Promise<RouteRecordRaw[]>((resolve, reject) => {
listRoutes() // 接口获取所有路由
getRoutesApi()
.then(({ data: asyncRoutes }) => { .then(({ data: asyncRoutes }) => {
// 根据角色获取有访问权限的路由
const accessedRoutes = filterAsyncRoutes(asyncRoutes, roles); const accessedRoutes = filterAsyncRoutes(asyncRoutes, roles);
setRoutes(accessedRoutes); setRoutes(accessedRoutes);
resolve(accessedRoutes); resolve(accessedRoutes);