Own.BLL/Sys/Sys_Auth_BLL.cs
(开头部分) 9KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Own.IDAL.Sys;
using Own.Models;
using Own.Models.Filter.SysFilter;
using Own.Models.Sys_Extend;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Unity.Attributes;
namespace Own.BLL.Sys
{
public partial class Sys_Auth_BLL
{
[Dependency]
public ISys_Auth_Dal sys_auth { get; set; }
/// <summary>
/// 获取角色下的树
/// </summary>
/// <param name="Rid"></param>
/// <param name="Wid"></param>
/// <returns></returns>
#region
public List<Sys_Role_Node_Extend> Get_Role_Tree(SysFilter filter, Guid Wid, bool authNode = true)
{
if (string.IsNullOrWhiteSpace(filter.Id)) return null;
Guid Rid = new Guid(filter.Id);
List<Sys_Role_Node_Extend> nodes = new List<Sys_Role_Node_Extend>();
//获取web站点对应的菜单分类和功能菜单
var webList = sys_auth.GetSys_Fun_Web_Class().Where(a => a.Wid == Wid).OrderBy(a => a.WNum).ThenBy(a => a.CNum).ToList();
//获取角色对应的web站点和菜单分类与功能菜单
var roleList = sys_auth.GetSys_Role_Web_Class_Fun().Where(a => a.Id == Rid).ToList();
List<int> WList = new List<int>();//站点节点
#region 获取Web节点和子节点
int len = 0;
for (int i = 0; i < webList.Count; i++)
{
Sys_Role_Node_Extend MainNode = nodes.Find(delegate (Sys_Role_Node_Extend fnt) //查看是否存在节点,存在则不往下执行
{
return fnt.WId == webList[i].Wid.ToString();
});
if (MainNode == null) //无节点
{
var sfwc = sys_auth.GetSys_Fun_Web_Class().Where(a => a.Wid == webList[i].Wid).OrderBy(a => a.CNum).ThenBy(a => a.FNum).ToList();
if (sfwc.Count != 0) //如果主节点下面无子节点,则该主节点也不显示
{
Sys_Role_Node_Extend node_first = new Sys_Role_Node_Extend()
{
Num = (++len),
WId = webList[i].Wid.ToString(),
Title = webList[i].WTitle,
ParentID = 0,
IsExpanded = true
后面还有 162 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
