import { Session } from '/@/utils/storage';
import type { RouteItem } from '/@/types/global';

/**
 * 路由过滤递归函数
 * 为平台管理员特殊过滤掉首页路由
 * @param arr 路由数组
 * @returns 过滤后的路由数组
 */
export const filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {
	// 获取用户信息，判断是否为平台管理员
	const userInfo = Session.get("userInfo");
	const isPlatformAdmin = userInfo && userInfo.username === '平台管理员';
	
	return arr
		.filter((item: T) => {
			// 如果是平台管理员，过滤掉首页
			if (isPlatformAdmin && item.path === '/home') {
				return false;
			}
			// 其他情况按原有逻辑过滤
			return !item.meta?.isHide;
		})
		.map((item: T) => {
			item = Object.assign({}, item);
			if (item.children) item.children = filterRoutesFun(item.children);
			return item;
		});
};
