zuohuaijun před 2 roky
rodič
revize
0004a94a36

+ 0 - 23
Admin.NET/Admin.NET.Core/Entity/EntityBase.cs

@@ -75,29 +75,6 @@ public abstract class EntityBaseData : EntityBase, IOrgIdFilter
     public virtual SysOrg CreateOrg { get; set; }
 }
 
-
-/// <summary>
-/// 业务数据实体基类(数据权限)  允许修改创建人 创建时间 创建部门
-/// </summary>
-public abstract class EntityBaseDataOverride : EntityBaseData
-{
-    /// <summary>
-    /// 创建者Id
-    /// </summary>
-    [SugarColumn(ColumnDescription = "创建者Id")]
-    public override long? CreateUserId { get; set; }
-    /// <summary>
-    /// 创建时间
-    /// </summary>
-    [SugarColumn(ColumnDescription = "创建时间")]
-    public override DateTime? CreateTime { get; set; }
-    /// <summary>
-    /// 创建者部门Id
-    /// </summary>
-    [SugarColumn(ColumnDescription = "创建者部门Id")]
-    public override long? CreateOrgId { get; set; }
-}
-
 /// <summary>
 /// 租户基类实体
 /// </summary>

+ 1 - 1
Admin.NET/Admin.NET.Core/Entity/SysDictType.cs

@@ -48,7 +48,7 @@ public class SysDictType : EntityBase
     /// </summary>
     [SugarColumn(ColumnDescription = "状态")]
     public StatusEnum Status { get; set; } = StatusEnum.Enable;
-    
+
     /// <summary>
     /// 字典值集合
     /// </summary>

+ 19 - 19
Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs

@@ -113,7 +113,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
     [DisplayName("获取代码生成详情")]
     public async Task<SysCodeGen> GetDetail([FromQuery] QueryCodeGenInput input)
     {
-        return await _db.Queryable<SysCodeGen>().SingleAsync(m => m.Id == input.Id);
+        return await _db.Queryable<SysCodeGen>().SingleAsync(u => u.Id == input.Id);
     }
 
     /// <summary>
@@ -145,7 +145,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
         var tableOutputList = new List<TableOutput>();
         foreach (var item in entityInfos)
         {
-            var table = dbTableInfos.FirstOrDefault(x => x.Name.ToLower() == (config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(item.DbTableName) : item.DbTableName).ToLower());
+            var table = dbTableInfos.FirstOrDefault(u => u.Name.ToLower() == (config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(item.DbTableName) : item.DbTableName).ToLower());
             if (table == null) continue;
             tableOutputList.Add(new TableOutput
             {
@@ -190,7 +190,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
     /// <returns></returns>
     private List<ColumnOuput> GetColumnList([FromQuery] AddCodeGenInput input)
     {
-        var entityType = GetEntityInfos().GetAwaiter().GetResult().FirstOrDefault(m => m.EntityName == input.TableName);
+        var entityType = GetEntityInfos().GetAwaiter().GetResult().FirstOrDefault(u => u.EntityName == input.TableName);
         if (entityType == null)
             return null;
 
@@ -381,7 +381,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
         var uploads = configs.Where(u => u.EffectType == "Upload").ToList();
         var fks = configs.Where(u => u.EffectType == "fk").ToList();
         string str = ""; // <Order, OrderItem, Custom>
-        string lowerStr = ""; //(o, i, c)
+        string lowerStr = ""; // (o, i, c)
         foreach (var item in uploads)
         {
             lowerStr += "sysFile_FK_" + item.LowerPropertyName + ",";
@@ -420,25 +420,25 @@ public class SysCodeGenService : IDynamicApiController, ITransient
                 Component = "LAYOUT",
             };
             // 若先前存在则删除本级和下级
-            var menuList0 = await _db.Queryable<SysMenu>().Where(e => e.Title == menuType0.Title && e.Type == menuType0.Type).ToListAsync();
+            var menuList0 = await _db.Queryable<SysMenu>().Where(u => u.Title == menuType0.Title && u.Type == menuType0.Type).ToListAsync();
             if (menuList0.Count > 0)
             {
-                var listIds = menuList0.Select(f => f.Id).ToList();
+                var listIds = menuList0.Select(u => u.Id).ToList();
                 var childlistIds = new List<long>();
                 foreach (var item in listIds)
                 {
                     var childlist = await _db.Queryable<SysMenu>().ToChildListAsync(u => u.Pid, item);
-                    childlistIds.AddRange(childlist.Select(f => f.Id).ToList());
+                    childlistIds.AddRange(childlist.Select(u => u.Id).ToList());
                 }
                 listIds.AddRange(childlistIds);
-                await _db.Deleteable<SysMenu>().Where(e => listIds.Contains(e.Id)).ExecuteCommandAsync();
-                await _db.Deleteable<SysRoleMenu>().Where(e => listIds.Contains(e.MenuId)).ExecuteCommandAsync();
+                await _db.Deleteable<SysMenu>().Where(u => listIds.Contains(u.Id)).ExecuteCommandAsync();
+                await _db.Deleteable<SysRoleMenu>().Where(u => listIds.Contains(u.MenuId)).ExecuteCommandAsync();
             }
             pid = (await _db.Insertable(menuType0).ExecuteReturnEntityAsync()).Id;
         }
         else
         {
-            var pMenu = await _db.Queryable<SysMenu>().FirstAsync(e => e.Id == pid) ?? throw Oops.Oh(ErrorCodeEnum.D1505);
+            var pMenu = await _db.Queryable<SysMenu>().FirstAsync(u => u.Id == pid) ?? throw Oops.Oh(ErrorCodeEnum.D1505);
             pPath = pMenu.Path;
         }
 
@@ -453,19 +453,19 @@ public class SysCodeGenService : IDynamicApiController, ITransient
             Component = "/main/" + className[..1].ToLower() + className[1..] + "/index",
         };
         // 若先前存在则删除本级和下级
-        var menuList1 = await _db.Queryable<SysMenu>().Where(e => e.Title == menuType1.Title && e.Type == menuType1.Type).ToListAsync();
+        var menuList1 = await _db.Queryable<SysMenu>().Where(u => u.Title == menuType1.Title && u.Type == menuType1.Type).ToListAsync();
         if (menuList1.Count > 0)
         {
-            var listIds = menuList1.Select(f => f.Id).ToList();
+            var listIds = menuList1.Select(u => u.Id).ToList();
             var childlistIds = new List<long>();
             foreach (var item in listIds)
             {
                 var childlist = await _db.Queryable<SysMenu>().ToChildListAsync(u => u.Pid, item);
-                childlistIds.AddRange(childlist.Select(f => f.Id).ToList());
+                childlistIds.AddRange(childlist.Select(u => u.Id).ToList());
             }
             listIds.AddRange(childlistIds);
-            await _db.Deleteable<SysMenu>().Where(e => listIds.Contains(e.Id)).ExecuteCommandAsync();
-            await _db.Deleteable<SysRoleMenu>().Where(e => listIds.Contains(e.MenuId)).ExecuteCommandAsync();
+            await _db.Deleteable<SysMenu>().Where(u => listIds.Contains(u.Id)).ExecuteCommandAsync();
+            await _db.Deleteable<SysRoleMenu>().Where(u => listIds.Contains(u.MenuId)).ExecuteCommandAsync();
         }
         var pid1 = (await _db.Insertable(menuType1).ExecuteReturnEntityAsync()).Id;
         int menuOrder = 101;
@@ -652,7 +652,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
 
         if (input.GenerateType.Substring(1, 1).Contains('1'))
         {
-            //生成到本项目(前端)
+            // 生成到本项目(前端)
             return new List<string>()
             {
                 indexPath,
@@ -660,9 +660,9 @@ public class SysCodeGenService : IDynamicApiController, ITransient
                 apiJsPath
             };
         }
-        else if (input.GenerateType.Substring(1, 1).Contains("2"))
+        else if (input.GenerateType.Substring(1, 1).Contains('2'))
         {
-            //生成到本项目(后端)
+            // 生成到本项目(后端)
             return new List<string>()
             {
                 servicePath,
@@ -673,7 +673,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
         }
         else
         {
-            //前后端同时生成到本项目
+            // 前后端同时生成到本项目
             return new List<string>()
             {
                 servicePath,

+ 11 - 11
Admin.NET/Admin.NET.Core/Service/Const/SysConstService.cs

@@ -35,11 +35,11 @@ public class SysConstService : IDynamicApiController, ITransient
         if (constlist == null)
         {
             var typeList = GetConstAttributeList();
-            constlist = typeList.Select(x => new ConstOutput
+            constlist = typeList.Select(u => new ConstOutput
             {
-                Name = x.CustomAttributes.ToList().FirstOrDefault()?.ConstructorArguments.ToList().FirstOrDefault().Value?.ToString() ?? x.Name,
-                Code = x.Name,
-                Data = GetData(Convert.ToString(x.Name))
+                Name = u.CustomAttributes.ToList().FirstOrDefault()?.ConstructorArguments.ToList().FirstOrDefault().Value?.ToString() ?? u.Name,
+                Code = u.Name,
+                Data = GetData(Convert.ToString(u.Name))
             }).ToList();
             _sysCacheService.Set(key, constlist);
         }
@@ -59,15 +59,15 @@ public class SysConstService : IDynamicApiController, ITransient
         if (constlist == null)
         {
             var typeList = GetConstAttributeList();
-            var type = typeList.FirstOrDefault(x => x.Name == typeName);
+            var type = typeList.FirstOrDefault(u => u.Name == typeName);
 
             var isEnum = type.BaseType.Name == "Enum";
             constlist = type.GetFields()?
-                .Where(isEnum, x => x.FieldType.Name == typeName)
-                .Select(x => new ConstOutput
+                .Where(isEnum, u => u.FieldType.Name == typeName)
+                .Select(u => new ConstOutput
                 {
-                    Name = x.Name,
-                    Code = isEnum ? (int)x.GetValue(BindingFlags.Instance) : x.GetValue(BindingFlags.Instance)
+                    Name = u.Name,
+                    Code = isEnum ? (int)u.GetValue(BindingFlags.Instance) : u.GetValue(BindingFlags.Instance)
                 }).ToList();
             _sysCacheService.Set(key, constlist);
         }
@@ -80,7 +80,7 @@ public class SysConstService : IDynamicApiController, ITransient
     /// <returns></returns>
     private List<Type> GetConstAttributeList()
     {
-        return AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())
-            .Where(x => x.CustomAttributes.Any(y => y.AttributeType == typeof(ConstAttribute))).ToList();
+        return AppDomain.CurrentDomain.GetAssemblies().SelectMany(u => u.GetTypes())
+            .Where(u => u.CustomAttributes.Any(c => c.AttributeType == typeof(ConstAttribute))).ToList();
     }
 }

+ 13 - 13
Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs

@@ -145,25 +145,25 @@ public class SysDatabaseService : IDynamicApiController, ITransient
         if (input.DbColumnInfoList == null || !input.DbColumnInfoList.Any())
             throw Oops.Oh(ErrorCodeEnum.db1000);
 
-        if (input.DbColumnInfoList.GroupBy(q => q.DbColumnName).Any(q => q.Count() > 1))
+        if (input.DbColumnInfoList.GroupBy(u => u.DbColumnName).Any(u => u.Count() > 1))
             throw Oops.Oh(ErrorCodeEnum.db1002);
 
         var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId == input.ConfigId);
         var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
         var typeBuilder = db.DynamicBuilder().CreateClass(input.TableName, new SugarTable() { TableName = input.TableName, TableDescription = input.Description });
-        input.DbColumnInfoList.ForEach(m =>
+        input.DbColumnInfoList.ForEach(u =>
         {
-            var dbColumnName = config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(m.DbColumnName.Trim()) : m.DbColumnName.Trim();
+            var dbColumnName = config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(u.DbColumnName.Trim()) : u.DbColumnName.Trim();
             // 虚拟类都默认string类型,具体以列数据类型为准
             typeBuilder.CreateProperty(dbColumnName, typeof(string), new SugarColumn()
             {
-                IsPrimaryKey = m.IsPrimarykey == 1,
-                IsIdentity = m.IsIdentity == 1,
-                ColumnDataType = m.DataType,
-                Length = m.Length,
-                IsNullable = m.IsNullable == 1,
-                DecimalDigits = m.DecimalDigits,
-                ColumnDescription = m.ColumnDescription,
+                IsPrimaryKey = u.IsPrimarykey == 1,
+                IsIdentity = u.IsIdentity == 1,
+                ColumnDataType = u.DataType,
+                Length = u.Length,
+                IsNullable = u.IsNullable == 1,
+                DecimalDigits = u.DecimalDigits,
+                ColumnDescription = u.ColumnDescription,
             });
         });
         db.CodeFirst.InitTables(typeBuilder.BuilderType());
@@ -225,7 +225,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
         var templatePath = GetEntityTemplatePath();
         var targetPath = GetEntityTargetPath(input);
         var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
-        DbTableInfo dbTableInfo = db.DbMaintenance.GetTableInfoList(false).FirstOrDefault(m => m.Name == input.TableName || m.Name == input.TableName.ToLower()) ?? throw Oops.Oh(ErrorCodeEnum.db1001);
+        DbTableInfo dbTableInfo = db.DbMaintenance.GetTableInfoList(false).FirstOrDefault(u => u.Name == input.TableName || u.Name == input.TableName.ToLower()) ?? throw Oops.Oh(ErrorCodeEnum.db1001);
         List<DbColumnInfo> dbColumnInfos = db.DbMaintenance.GetColumnInfosByTableName(input.TableName, false);
         dbColumnInfos.ForEach(u =>
         {
@@ -233,7 +233,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
             u.DataType = CodeGenUtil.ConvertDataType(u, config.DbType);
         });
         if (_codeGenOptions.BaseEntityNames.Contains(input.BaseClassName, StringComparer.OrdinalIgnoreCase))
-            dbColumnInfos = dbColumnInfos.Where(c => !dbColumnNames.Contains(c.DbColumnName, StringComparer.OrdinalIgnoreCase)).ToList();
+            dbColumnInfos = dbColumnInfos.Where(u => !dbColumnNames.Contains(u.DbColumnName, StringComparer.OrdinalIgnoreCase)).ToList();
 
         var tContent = File.ReadAllText(templatePath);
         var tResult = _viewEngine.RunCompileFromCached(tContent, new
@@ -304,7 +304,7 @@ public class SysDatabaseService : IDynamicApiController, ITransient
             int recordIndex = 0;
             foreach (var r in (IEnumerable)records)
             {
-                List<JsonIgnoredPropertyData> record = new List<JsonIgnoredPropertyData>();
+                List<JsonIgnoredPropertyData> record = new();
                 foreach (var item in jsonIgnoreProperties)
                 {
                     object v = item.GetValue(r);

+ 4 - 5
Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs

@@ -150,16 +150,15 @@ public class SysDictTypeService : IDynamicApiController, ITransient
         dictType.Status = (StatusEnum)input.Status;
         await _sysDictTypeRep.UpdateAsync(dictType);
     }
-    
+
     /// <summary>
     /// 获取所有字典集合
     /// </summary>
     /// <returns></returns>
     [AllowAnonymous]
-    [ApiDescriptionSettings(Name = "GetAllDict"), HttpGet]
-    public async Task<List<SysDictType>> GetAllDict()
+    [DisplayName("获取所有字典集合")]
+    public async Task<List<SysDictType>> GetAllDictList()
     {
-        var list = await _sysDictTypeRep.AsQueryable().Includes(x => x.Children).ToListAsync();
-        return list;
+        return await _sysDictTypeRep.AsQueryable().Includes(u => u.Children).ToListAsync();
     }
 }

+ 4 - 4
Admin.NET/Admin.NET.Core/Service/Enum/SysEnumService.cs

@@ -30,7 +30,7 @@ public class SysEnumService : IDynamicApiController, ITransient
     [DisplayName("获取所有枚举类型")]
     public List<EnumTypeOutput> GetEnumTypeList()
     {
-        var enumTypeList = App.EffectiveTypes.Where(t => t.IsEnum && _enumOptions.EntityAssemblyNames.Contains(t.Assembly.GetName().Name)).ToList();
+        var enumTypeList = App.EffectiveTypes.Where(u => u.IsEnum && _enumOptions.EntityAssemblyNames.Contains(u.Assembly.GetName().Name)).ToList();
 
         var result = new List<EnumTypeOutput>();
         foreach (var item in enumTypeList)
@@ -65,7 +65,7 @@ public class SysEnumService : IDynamicApiController, ITransient
     [DisplayName("通过枚举类型获取枚举值集合")]
     public List<EnumEntity> GetEnumDataList([FromQuery] EnumInput input)
     {
-        var enumType = App.EffectiveTypes.FirstOrDefault(t => t.IsEnum && t.Name == input.EnumName);
+        var enumType = App.EffectiveTypes.FirstOrDefault(u => u.IsEnum && u.Name == input.EnumName);
         if (enumType is not { IsEnum: true })
             throw Oops.Oh(ErrorCodeEnum.D1503);
 
@@ -81,10 +81,10 @@ public class SysEnumService : IDynamicApiController, ITransient
     public List<EnumEntity> GetEnumDataListByField([FromQuery] QueryEnumDataInput input)
     {
         // 获取实体类型属性
-        Type entityType = App.EffectiveTypes.FirstOrDefault(t => t.Name == input.EntityName) ?? throw Oops.Oh(ErrorCodeEnum.D1504);
+        Type entityType = App.EffectiveTypes.FirstOrDefault(u => u.Name == input.EntityName) ?? throw Oops.Oh(ErrorCodeEnum.D1504);
 
         // 获取字段类型
-        var fieldType = entityType.GetProperties().FirstOrDefault(p => p.Name == input.FieldName)?.PropertyType;
+        var fieldType = entityType.GetProperties().FirstOrDefault(u => u.Name == input.FieldName)?.PropertyType;
         if (fieldType is not { IsEnum: true })
             throw Oops.Oh(ErrorCodeEnum.D1503);
 

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs

@@ -171,7 +171,7 @@ public class SysFileService : IDynamicApiController, ITransient
         {
             using var fileStream = file.OpenReadStream();
             fileMd5 = OssUtils.ComputeContentMd5(fileStream, fileStream.Length);
-            var sysFile = await _sysFileRep.GetFirstAsync(q => q.FileMd5 == fileMd5 && (q.SizeKb == null || q.SizeKb == sizeKb.ToString()));
+            var sysFile = await _sysFileRep.GetFirstAsync(u => u.FileMd5 == fileMd5 && (u.SizeKb == null || u.SizeKb == sizeKb.ToString()));
             if (sysFile != null) return sysFile;
         }
 

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs

@@ -65,7 +65,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient
     [NonAction]
     public async Task PublicNotice(SysNotice notice, List<long> userIds)
     {
-        var userList = await _sysOnlineUerRep.GetListAsync(m => userIds.Contains(m.UserId));
+        var userList = await _sysOnlineUerRep.GetListAsync(u => userIds.Contains(u.UserId));
         if (!userList.Any()) return;
 
         foreach (var item in userList)

+ 20 - 20
Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs

@@ -64,27 +64,27 @@ public class SysTenantService : IDynamicApiController, ITransient
     public async Task<SqlSugarPagedList<TenantOutput>> Page(PageTenantInput input)
     {
         return await _sysTenantRep.AsQueryable()
-            .LeftJoin<SysUser>((t, u) => t.UserId == u.Id)
-            .LeftJoin<SysOrg>((t, u, o) => t.OrgId == o.Id)
-            .WhereIF(!string.IsNullOrWhiteSpace(input.Phone), (t, u) => u.Phone.Contains(input.Phone.Trim()))
-            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), (t, u, o) => o.Name.Contains(input.Name.Trim()))
-            .OrderBy(t => t.OrderNo)
-            .Select((t, u, o) => new TenantOutput
+            .LeftJoin<SysUser>((u, a) => u.UserId == a.Id)
+            .LeftJoin<SysOrg>((u, a, b) => u.OrgId == b.Id)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Phone), (u, a) => a.Phone.Contains(input.Phone.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), (u, a, b) => b.Name.Contains(input.Name.Trim()))
+            .OrderBy(u => u.OrderNo)
+            .Select((u, a, b) => new TenantOutput
             {
-                Id = t.Id,
-                OrgId = o.Id,
-                Name = o.Name,
-                UserId = u.Id,
-                AdminAccount = u.Account,
-                Phone = u.Phone,
-                Email = u.Email,
-                TenantType = t.TenantType,
-                DbType = t.DbType,
-                Connection = t.Connection,
-                ConfigId = t.ConfigId,
-                OrderNo = t.OrderNo,
-                Remark = t.Remark,
-                Status = t.Status,
+                Id = u.Id,
+                OrgId = b.Id,
+                Name = b.Name,
+                UserId = a.Id,
+                AdminAccount = a.Account,
+                Phone = a.Phone,
+                Email = a.Email,
+                TenantType = u.TenantType,
+                DbType = u.DbType,
+                Connection = u.Connection,
+                ConfigId = u.ConfigId,
+                OrderNo = u.OrderNo,
+                Remark = u.Remark,
+                Status = u.Status,
             })
             .ToPagedListAsync(input.Page, input.PageSize);
     }

+ 75 - 0
Web/src/api-services/apis/sys-dict-type-api.ts

@@ -80,6 +80,49 @@ export const SysDictTypeApiAxiosParamCreator = function (configuration?: Configu
                 options: localVarRequestOptions,
             };
         },
+        /**
+         * 
+         * @summary 获取所有字典集合
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeAllDictListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/allDictList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
         /**
          * 
          * @summary 获取字典类型-值列表
@@ -447,6 +490,19 @@ export const SysDictTypeApiFp = function(configuration?: Configuration) {
                 return axios.request(axiosRequestArgs);
             };
         },
+        /**
+         * 
+         * @summary 获取所有字典集合
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeAllDictListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysDictType>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeAllDictListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
         /**
          * 
          * @summary 获取字典类型-值列表
@@ -564,6 +620,15 @@ export const SysDictTypeApiFactory = function (configuration?: Configuration, ba
         async apiSysDictTypeAddPost(body?: AddDictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
             return SysDictTypeApiFp(configuration).apiSysDictTypeAddPost(body, options).then((request) => request(axios, basePath));
         },
+        /**
+         * 
+         * @summary 获取所有字典集合
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeAllDictListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysDictType>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeAllDictListGet(options).then((request) => request(axios, basePath));
+        },
         /**
          * 
          * @summary 获取字典类型-值列表
@@ -655,6 +720,16 @@ export class SysDictTypeApi extends BaseAPI {
     public async apiSysDictTypeAddPost(body?: AddDictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
         return SysDictTypeApiFp(this.configuration).apiSysDictTypeAddPost(body, options).then((request) => request(this.axios, this.basePath));
     }
+    /**
+     * 
+     * @summary 获取所有字典集合
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeAllDictListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysDictType>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeAllDictListGet(options).then((request) => request(this.axios, this.basePath));
+    }
     /**
      * 
      * @summary 获取字典类型-值列表

+ 7 - 0
Web/src/api-services/models/add-dict-type-input.ts

@@ -12,6 +12,7 @@
  * Do not edit the class manually.
  */
 import { StatusEnum } from './status-enum';
+import { SysDictData } from './sys-dict-data';
 /**
  * 
  * @export
@@ -84,4 +85,10 @@ export interface AddDictTypeInput {
      * @memberof AddDictTypeInput
      */
     status?: StatusEnum;
+    /**
+     * 字典值集合
+     * @type {Array<SysDictData>}
+     * @memberof AddDictTypeInput
+     */
+    children?: Array<SysDictData> | null;
 }

+ 6 - 0
Web/src/api-services/models/login-user-output.ts

@@ -17,6 +17,12 @@
  * @interface LoginUserOutput
  */
 export interface LoginUserOutput {
+    /**
+     * 用户id
+     * @type {number}
+     * @memberof LoginUserOutput
+     */
+    id?: number;
     /**
      * 账号名称
      * @type {string}

+ 7 - 0
Web/src/api-services/models/sys-dict-type.ts

@@ -12,6 +12,7 @@
  * Do not edit the class manually.
  */
 import { StatusEnum } from './status-enum';
+import { SysDictData } from './sys-dict-data';
 /**
  * 系统字典类型表
  * @export
@@ -84,4 +85,10 @@ export interface SysDictType {
      * @memberof SysDictType
      */
     status?: StatusEnum;
+    /**
+     * 字典值集合
+     * @type {Array<SysDictData>}
+     * @memberof SysDictType
+     */
+    children?: Array<SysDictData> | null;
 }

+ 7 - 0
Web/src/api-services/models/update-dict-type-input.ts

@@ -12,6 +12,7 @@
  * Do not edit the class manually.
  */
 import { StatusEnum } from './status-enum';
+import { SysDictData } from './sys-dict-data';
 /**
  * 
  * @export
@@ -84,4 +85,10 @@ export interface UpdateDictTypeInput {
      * @memberof UpdateDictTypeInput
      */
     status?: StatusEnum;
+    /**
+     * 字典值集合
+     * @type {Array<SysDictData>}
+     * @memberof UpdateDictTypeInput
+     */
+    children?: Array<SysDictData> | null;
 }

+ 8 - 11
Web/src/api/system/admin.ts

@@ -1,22 +1,19 @@
 import request from '/@/utils/request';
 enum Api {
-    DictTypeDataList = '/api/sysDictData/DataList',
+	DictTypeDataList = '/api/sysDictData/DataList',
+	AllDictList = '/api/sysDictType/AllDictList',
 }
 
 // 根据字典类型编码获取字典值集合
 export const getDictDataList = (params?: any) =>
 	request({
 		url: `${Api.DictTypeDataList}/${params}`,
-		method: 'get'
+		method: 'get',
 	});
- 
- 
-/**
- * 获取所有字典
- * @returns
- */
-export const getAllDict = () =>
+
+// 获取所有字典
+export const getAllDictList = () =>
 	request({
-		url: `/api/sysDictType/getAllDict`,
+		url: `${Api.AllDictList}`,
 		method: 'get',
-	});
+	});

+ 13 - 4
Web/src/stores/userInfo.ts

@@ -4,8 +4,7 @@ import Watermark from '/@/utils/watermark';
 import { useThemeConfig } from '/@/stores/themeConfig';
 
 import { getAPI } from '/@/utils/axios-utils';
-import { SysAuthApi, SysConstApi } from '/@/api-services/api';
-import { getAllDict } from '/@/api/system/admin'; 
+import { SysAuthApi, SysConstApi, SysDictTypeApi } from '/@/api-services/api';
 
 /**
  * 用户信息
@@ -50,8 +49,7 @@ export const useUserInfo = defineStore('userInfo', {
 			if (Session.get('dictList')) {
 				this.dictList = Session.get('dictList');
 			} else {
-				const res = await getAllDict();
-				const dictList = res.data.result ?? [];
+				const dictList = <any[]>await this.getAllDictList();
 				Session.set('dictList', dictList);
 				this.dictList = dictList;
 			}
@@ -99,6 +97,7 @@ export const useUserInfo = defineStore('userInfo', {
 					});
 			});
 		},
+		// 获取常量集合
 		getSysConstList() {
 			return new Promise((resolve) => {
 				getAPI(SysConstApi)
@@ -108,5 +107,15 @@ export const useUserInfo = defineStore('userInfo', {
 					});
 			});
 		},
+		// 获取字典集合
+		getAllDictList() {
+			return new Promise((resolve) => {
+				getAPI(SysDictTypeApi)
+					.apiSysDictTypeAllDictListGet()
+					.then(async (res: any) => {
+						resolve(res.data.result ?? []);
+					});
+			});
+		},
 	},
 });