| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -29,9 +29,13 @@ const modulesRoutes = import.meta.glob("/src/views/**/*.{vue,tsx}"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					// 动态路由
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { getAsyncRoutes } from "@/api/routes"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					function handRank(ramk: number, name: string, path: string) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  return isAllEmpty(ramk) || (ramk === 0 && name !== "Home" && path !== "/") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ? true | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					function handRank(routeInfo: any) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  const { name, path, parentId, meta } = routeInfo; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  return isAllEmpty(parentId) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ? isAllEmpty(meta?.rank) || | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      (meta?.rank === 0 && name !== "Home" && path !== "/") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      ? true | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      : false | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    : false; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -39,7 +43,7 @@ function handRank(ramk: number, name: string, path: string) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					function ascending(arr: any[]) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  arr.forEach((v, index) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // 当rank不存在时,根据顺序自动创建,首页路由永远在第一位
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (handRank(v?.meta?.rank, v.name, v.path)) v.meta.rank = index + 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (handRank(v)) v.meta.rank = index + 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  return arr.sort( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    (a: { meta: { rank: number } }, b: { meta: { rank: number } }) => { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -351,6 +355,7 @@ function hasAuth(value: string | Array<string>): boolean { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  if (!value) return false; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  /** 从当前路由的`meta`字段里获取按钮级别的所有自定义`code`值 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  const metaAuths = getAuths(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  if (!metaAuths) return false; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  const isAuths = isString(value) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ? metaAuths.includes(value) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    : isIncludeAllChildren(value, metaAuths); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |