sunpengfei
2025-08-04 7374d934381f81e835314f60dc411b963614d803
pref:菜单优化
5个文件已修改
223 ■■■■■ 已修改文件
FlexJobApi.Core/FlexJobApi.Core.xml 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/FlexJobApi.User.Application.xml 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/Menus/Commands/SaveMenuCommandHandler.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.User.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -1984,6 +1984,61 @@
            删除菜单
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SaveMenuButtonCommand">
            <summary>
            保存菜单按钮
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.ParentId">
            <summary>
            菜单Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Code">
            <summary>
            编号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Name">
            <summary>
            名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Group">
            <summary>
            分组名称(用于按钮/字段)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Location">
            <summary>
            位置(用于按钮)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Icon">
            <summary>
            图标
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Width">
            <summary>
            宽度(用于按钮/列/元素)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Sort">
            <summary>
            排序
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuButtonCommand.Remark">
            <summary>
            备注
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SaveMenuCommand">
            <summary>
            保存菜单
@@ -2174,6 +2229,86 @@
            备注
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SaveMenuFieldCommand">
            <summary>
            保存菜单字段
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.ParentId">
            <summary>
            菜单Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Code">
            <summary>
            编号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Name">
            <summary>
            名称
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Group">
            <summary>
            分组名称(用于按钮/字段)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Location">
            <summary>
            位置(用于按钮)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Icon">
            <summary>
            图标
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Width">
            <summary>
            宽度(用于按钮/列/元素)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Sort">
            <summary>
            排序
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveMenuFieldCommand.Remark">
            <summary>
            备注
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SetMenuSwitchCommand">
            <summary>
            设置菜单切换信息
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetMenuSwitchCommand.Ids">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetMenuSwitchCommand.Type">
            <summary>
            类型(null时不更新)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetMenuSwitchCommand.IsDisabled">
            <summary>
            是否禁用(null时不更新)
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetMenuSwitchCommand.IsCache">
            <summary>
            是否缓存(null时不更新)
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.Models.GetMenuQuery">
            <summary>
            查询菜单详情
FlexJobApi.User.Application/FlexJobApi.User.Application.xml
@@ -67,6 +67,26 @@
        <member name="M:FlexJobApi.User.Application.DeleteMenuCommandHandler.Handle(FlexJobApi.Core.DeleteMenuCommand,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:FlexJobApi.User.Application.SaveMenuButtonCommandHandler">
            <summary>
            保存菜单按钮
            </summary>
        </member>
        <member name="M:FlexJobApi.User.Application.SaveMenuButtonCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
            <summary>
            保存菜单按钮
            </summary>
        </member>
        <member name="M:FlexJobApi.User.Application.SaveMenuButtonCommandHandler.Handle(FlexJobApi.Core.SaveMenuButtonCommand,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:FlexJobApi.User.Application.SaveMenuButtonCommandHandler.CheckExist(FlexJobApi.Core.Menu)">
            <summary>
            校验菜单是否重复
            </summary>
            <param name="entity"></param>
            <returns></returns>
        </member>
        <member name="T:FlexJobApi.User.Application.SaveMenuCommandHandler">
            <summary>
            保存菜单
@@ -128,6 +148,39 @@
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="T:FlexJobApi.User.Application.SaveMenuFieldCommandHandler">
            <summary>
            </summary>
        </member>
        <member name="M:FlexJobApi.User.Application.SaveMenuFieldCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
            <summary>
            </summary>
        </member>
        <member name="M:FlexJobApi.User.Application.SaveMenuFieldCommandHandler.Handle(FlexJobApi.Core.SaveMenuFieldCommand,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:FlexJobApi.User.Application.SaveMenuFieldCommandHandler.CheckExist(FlexJobApi.Core.Menu)">
            <summary>
            校验菜单是否重复
            </summary>
            <param name="entity"></param>
            <returns></returns>
        </member>
        <member name="T:FlexJobApi.User.Application.SetMenuSwitchCommandHandler">
            <summary>
            设置菜单切换信息
            </summary>
        </member>
        <member name="M:FlexJobApi.User.Application.SetMenuSwitchCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Menu})">
            <summary>
            设置菜单切换信息
            </summary>
        </member>
        <member name="M:FlexJobApi.User.Application.SetMenuSwitchCommandHandler.Handle(FlexJobApi.Core.SetMenuSwitchCommand,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:FlexJobApi.User.Application.MenuAppService">
            <summary>
            菜单
@@ -159,6 +212,27 @@
            <param name="command"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.User.Application.MenuAppService.SaveMenuButton(FlexJobApi.Core.SaveMenuButtonCommand)">
            <summary>
            保存菜单按钮
            </summary>
            <param name="command"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.User.Application.MenuAppService.SaveMenuField(FlexJobApi.Core.SaveMenuFieldCommand)">
            <summary>
            保存菜单字段
            </summary>
            <param name="command"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.User.Application.MenuAppService.SetMenuSwitch(FlexJobApi.Core.SetMenuSwitchCommand)">
            <summary>
            设置菜单切换信息
            </summary>
            <param name="command"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.User.Application.MenuAppService.DeleteMenu(FlexJobApi.Core.DeleteMenuCommand)">
            <summary>
            删除菜单
FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
@@ -24,9 +24,12 @@
        /// <inheritdoc/>
        public async Task<Guid> Handle(SaveMenuButtonCommand request, CancellationToken cancellationToken)
        {
            var parent = await rep.FirstOrDefaultAsync(it => it.Id == request.ParentId);
            if (parent == null) throw Oops.Oh(EnumErrorCodeType.s404, "上级菜单");
            if (request.Id.HasValue)
            {
                var entity = await rep.FirstOrDefaultAsync(it => it.Id == it.Id);
                if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该菜单");
                if (entity.ParentId != request.ParentId) throw Oops.Oh(EnumErrorCodeType.s410, "上级Id");
                request.Adapt(entity);
                if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s405, "菜单编号");
@@ -36,6 +39,9 @@
            else
            {
                var entity = new Menu();
                entity.Path = $"{parent.Path}{parent.Code}/";
                entity.Type = EnumMenuType.Button;
                entity.VisitLevel = parent.VisitLevel;
                request.Adapt(entity);
                if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s405, "菜单编号");
                await rep.InsertAsync(entity);
FlexJobApi.User.Application/Menus/Commands/SaveMenuCommandHandler.cs
@@ -98,6 +98,7 @@
                                UserType = entity.UserType,
                                ClientType = entity.ClientType,
                                Type = EnumMenuType.Button,
                                VisitLevel = entity.VisitLevel,
                            };
                            entity.Children.Add(buttonEntity);
                        }
@@ -121,6 +122,7 @@
                            UserType = entity.UserType,
                            ClientType = entity.ClientType,
                            Type = EnumMenuType.Field,
                            VisitLevel = entity.VisitLevel,
                        };
                        entity.Children.Add(fieldEntity);
                    }
FlexJobApi.User.Application/Menus/Commands/SaveMenuFieldCommandHandler.cs
@@ -24,9 +24,12 @@
        /// <inheritdoc/>
        public async Task<Guid> Handle(SaveMenuFieldCommand request, CancellationToken cancellationToken)
        {
            var parent = await rep.FirstOrDefaultAsync(it => it.Id == request.ParentId);
            if (parent == null) throw Oops.Oh(EnumErrorCodeType.s404, "上级菜单");
            if (request.Id.HasValue)
            {
                var entity = await rep.FirstOrDefaultAsync(it => it.Id == it.Id);
                if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该菜单");
                if (entity.ParentId != request.ParentId) throw Oops.Oh(EnumErrorCodeType.s410, "上级Id");
                request.Adapt(entity);
                if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s405, "菜单编号");
@@ -36,6 +39,9 @@
            else
            {
                var entity = new Menu();
                entity.Path = $"{parent.Path}{parent.Code}/";
                entity.Type = EnumMenuType.Button;
                entity.VisitLevel = parent.VisitLevel;
                request.Adapt(entity);
                if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s405, "菜单编号");
                await rep.InsertAsync(entity);