docs: 补充注释
Former-commit-id: b30d73862137c06cc8038fa303b65dadf336b06b
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user