Parcourir la source

修复菜单未正确排序的问题

zhontai il y a 2 ans
Parent
commit
c5354721c4

+ 1 - 2
src/platform/ZhonTai.Admin/Services/Auth/AuthService.cs

@@ -181,11 +181,10 @@ public class AuthService : BaseService, IAuthService, IDynamicApi
 
         var menuList = await menuSelect
             .Where(a => new[] { PermissionType.Group, PermissionType.Menu }.Contains(a.Type))
-            .OrderBy(a => new { a.ParentId, a.Sort })
             .ToListAsync(a => new AuthUserMenuDto { ViewPath = a.View.Path });
 
         //用户菜单
-        authGetUserInfoOutput.Menus = menuList.DistinctBy(a => a.Id).ToList();
+        authGetUserInfoOutput.Menus = menuList.DistinctBy(a => a.Id).OrderBy(a => a.ParentId).ThenBy(a => a.Sort).ToList();
 
         //用户权限点
         authGetUserInfoOutput.Permissions = await dotSelect.ToListAsync(a => a.Code);

+ 9 - 1
src/platform/ZhonTai.Admin/Services/Auth/Dto/AuthUserMenuDto.cs

@@ -1,4 +1,6 @@
-namespace ZhonTai.Admin.Services.Auth.Dto;
+using Newtonsoft.Json;
+
+namespace ZhonTai.Admin.Services.Auth.Dto;
 
 public class AuthUserMenuDto
 {
@@ -56,4 +58,10 @@ public class AuthUserMenuDto
     /// 链接外显
     /// </summary>
     public bool? External { get; set; }
+
+    /// <summary>
+    /// 排序
+    /// </summary>
+    [JsonIgnore]
+    public int? Sort { get; set; }
 }

+ 5 - 0
src/platform/ZhonTai.Admin/ZhonTai.Admin.xml

@@ -3106,6 +3106,11 @@
             链接外显
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Services.Auth.Dto.AuthUserMenuDto.Sort">
+            <summary>
+            排序
+            </summary>
+        </member>
         <member name="P:ZhonTai.Admin.Services.Auth.Dto.AuthUserProfileDto.UserName">
             <summary>
             账号

+ 1 - 3
src/tests/ZhonTai.Tests/Controllers/ApiControllerTest.cs

@@ -1,10 +1,8 @@
-using System.Net;
-using System.Threading.Tasks;
+using System.Threading.Tasks;
 using System.Collections.Generic;
 using Xunit;
 using ZhonTai.Admin.Services.Api.Dto;
 using ZhonTai.Admin.Core.Dto;
-using ZhonTai.Admin.Domain.Api;
 using ZhonTai.Admin.Domain.Api.Dto;
 
 namespace ZhonTai.Tests.Controllers;