|
@@ -18,7 +18,13 @@ export const hasPermission = (str) => {
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
-// 格式化路由数据
|
|
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 格式化路由数据,将原始路由数据转换为组件路由对象。
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param {Array} data - 原始路由数据数组,每个元素包含路由的相关信息。
|
|
|
|
|
+ * @returns {Array} routes - 格式化后的路由对象数组。
|
|
|
|
|
+ */
|
|
|
export const formatRoutes = (data) => {
|
|
export const formatRoutes = (data) => {
|
|
|
const routes = [];
|
|
const routes = [];
|
|
|
|
|
|
|
@@ -60,7 +66,12 @@ export const formatRoutes = (data) => {
|
|
|
return routes;
|
|
return routes;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-// 扁平化路由数据
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * 扁平化路由数据,将嵌套的路由对象数组扁平化为一维数组。
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param {Array} routes - 嵌套的路由对象数组。
|
|
|
|
|
+ * @returns {Array} flatRoutes - 扁平化后的路由对象数组。
|
|
|
|
|
+ */
|
|
|
export const flattenRoutes = (routes) => {
|
|
export const flattenRoutes = (routes) => {
|
|
|
let flatRoutes = [];
|
|
let flatRoutes = [];
|
|
|
|
|
|
|
@@ -77,7 +88,13 @@ export const flattenRoutes = (routes) => {
|
|
|
return flatRoutes;
|
|
return flatRoutes;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-// 获取有权限的路由
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * 初始化路由,获取并格式化有权限的路由。
|
|
|
|
|
+ *
|
|
|
|
|
+ * @returns {Object} - 包含 accessRoutes 和 accessFlatRoutes 的对象。
|
|
|
|
|
+ * @property {Array} accessRoutes - 格式化后的有权限路由对象数组。
|
|
|
|
|
+ * @property {Array} accessFlatRoutes - 扁平化后的有权限路由对象数组。
|
|
|
|
|
+ */
|
|
|
let routesList = [];
|
|
let routesList = [];
|
|
|
let accessRoutes = [];
|
|
let accessRoutes = [];
|
|
|
let accessFlatRoutes = [];
|
|
let accessFlatRoutes = [];
|
|
@@ -93,7 +110,12 @@ export const initializeRoutes = () => {
|
|
|
return { accessRoutes, accessFlatRoutes };
|
|
return { accessRoutes, accessFlatRoutes };
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-// 递归过滤未启用的节点
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * 递归过滤出状态为启用的节点。
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param {Array} nodes - 原始节点数组,每个节点包含状态和子节点信息。
|
|
|
|
|
+ * @returns {Array} - 过滤后的启用节点数组。
|
|
|
|
|
+ */
|
|
|
export const filterNotEnabledTree = (nodes) => {
|
|
export const filterNotEnabledTree = (nodes) => {
|
|
|
return nodes
|
|
return nodes
|
|
|
.filter((node) => node.status === '1')
|
|
.filter((node) => node.status === '1')
|