/// <summary> /// 处理权限 /// 返回当前节点 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="routeData">路由数据</param> /// <param name="menuNode">菜单节点</param> /// <param name="failureAction">权限验证不通过</param> public static MenuNode <T> Process <T>(RouteData routeData, MenuNode <T> menuNode, Action <MenuNode <T> > failureAction) where T : struct { var node = menuNode.FindNode(routeData); if (node == null) { return(null); } if (node.IsActive == false) { node.SetActive(); } if (node.IsPageNode) { if (node.IsPermission == false) { failureAction(node); } return(node); } else if (node.IsAllow(node.ActionEnum) == false) { failureAction(node); } return(node); }