diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs index f664c56..448896b 100644 --- a/ZR.Admin.WebApi/Controllers/CommonController.cs +++ b/ZR.Admin.WebApi/Controllers/CommonController.cs @@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers /// 公共模块 /// [Route("[controller]/[action]")] + [Tags("公共模块Common")] + [ApiExplorerSettings(GroupName = "sys")] public class CommonController : BaseController { private OptionsSetting OptionsSetting; diff --git a/ZR.Admin.WebApi/Controllers/System/ArticleCategoryController.cs b/ZR.Admin.WebApi/Controllers/System/ArticleCategoryController.cs index 77339a0..92836ca 100644 --- a/ZR.Admin.WebApi/Controllers/System/ArticleCategoryController.cs +++ b/ZR.Admin.WebApi/Controllers/System/ArticleCategoryController.cs @@ -11,6 +11,8 @@ namespace ZR.Admin.WebApi.Controllers /// 文章目录Controller /// [Route("article/ArticleCategory")] + [Tags("文章目录")] + [ApiExplorerSettings(GroupName = "article")] public class ArticleCategoryController : BaseController { /// @@ -59,7 +61,7 @@ namespace ZR.Admin.WebApi.Controllers public IActionResult GetArticleCategory(int CategoryId) { var response = _ArticleCategoryService.GetFirst(x => x.CategoryId == CategoryId); - + return SUCCESS(response); } diff --git a/ZR.Admin.WebApi/Controllers/System/ArticleController.cs b/ZR.Admin.WebApi/Controllers/System/ArticleController.cs index c71e4ac..55577ef 100644 --- a/ZR.Admin.WebApi/Controllers/System/ArticleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/ArticleController.cs @@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers /// [Verify] [Route("article")] + [Tags("文章管理")] + [ApiExplorerSettings(GroupName = "article")] public class ArticleController : BaseController { /// @@ -32,7 +34,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "system:article:list")] + [ActionPermissionFilter(RolePermi = "admin")] public IActionResult Query([FromQuery] ArticleQueryDto parm) { var response = _ArticleService.GetList(parm); diff --git a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs index 92187a7..f2fa216 100644 --- a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs @@ -1,8 +1,4 @@ -using Infrastructure; -using Infrastructure.Attribute; -using Infrastructure.Enums; -using Infrastructure.Extensions; -using Mapster; +using Infrastructure.Extensions; using Microsoft.AspNetCore.Mvc; using SqlSugar; using ZR.Admin.WebApi.Extensions; @@ -10,7 +6,6 @@ using ZR.Admin.WebApi.Filters; using ZR.CodeGenerator; using ZR.CodeGenerator.Model; using ZR.CodeGenerator.Service; -using ZR.Common; using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System.Generate; @@ -23,6 +18,8 @@ namespace ZR.Admin.WebApi.Controllers /// [Verify] [Route("tool/gen")] + [Tags("代码生成CodeGenerator")] + [ApiExplorerSettings(GroupName = "sys")] public class CodeGeneratorController : BaseController { private readonly CodeGeneraterService _CodeGeneraterService = new CodeGeneraterService(); diff --git a/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs b/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs index 092546c..ecbcf47 100644 --- a/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs +++ b/ZR.Admin.WebApi/Controllers/System/CommonLangController.cs @@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers /// [Verify] [Route("system/CommonLang")] + [Tags("多语言配置CommonLang")] + [ApiExplorerSettings(GroupName = "sys")] public class CommonLangController : BaseController { /// diff --git a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs index 82a3b44..494eda4 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysConfigController.cs @@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers /// [Verify] [Route("system/config")] + [Tags("系统配置SysConfig")] + [ApiExplorerSettings(GroupName = "sys")] public class SysConfigController : BaseController { /// diff --git a/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs b/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs index a1e6511..9c52a4b 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs @@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/dept")] + [Tags("部门管理SysDept")] + [ApiExplorerSettings(GroupName = "sys")] public class SysDeptController : BaseController { public ISysDeptService DeptService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs b/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs index a1f835f..4bb7124 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs @@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/dict/data")] + [Tags("字典数据SysDictData")] + [ApiExplorerSettings(GroupName = "sys")] public class SysDictDataController : BaseController { private readonly ISysDictDataService SysDictDataService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs b/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs index 543b8e9..8df1454 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs @@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/dict/type")] + [Tags("字典数据类型SysDictType")] + [ApiExplorerSettings(GroupName = "sys")] public class SysDictTypeController : BaseController { private readonly ISysDictService SysDictService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysFileController.cs b/ZR.Admin.WebApi/Controllers/System/SysFileController.cs index 8900235..635aa1e 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysFileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysFileController.cs @@ -1,13 +1,9 @@ using Microsoft.AspNetCore.Mvc; using SqlSugar; -using Infrastructure.Attribute; -using Infrastructure.Enums; -using Infrastructure.Model; using ZR.Admin.WebApi.Filters; -using ZR.Common; using ZR.Model.System; -using ZR.Service.System.IService; using ZR.Model.System.Dto; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers { @@ -16,6 +12,8 @@ namespace ZR.Admin.WebApi.Controllers /// [Verify] [Route("tool/file")] + [Tags(" 文件存储SysFile")] + [ApiExplorerSettings(GroupName = "sys")] public class SysFileController : BaseController { /// @@ -37,15 +35,13 @@ namespace ZR.Admin.WebApi.Controllers [ActionPermissionFilter(Permission = "tool:file:list")] public IActionResult QuerySysFile([FromQuery] SysFileQueryDto parm) { - //开始拼装查询条件 var predicate = Expressionable.Create(); - //搜索条件查询语法参考Sqlsugar + predicate = predicate.AndIF(parm.BeginCreate_time != null, it => it.Create_time >= parm.BeginCreate_time); predicate = predicate.AndIF(parm.EndCreate_time != null, it => it.Create_time <= parm.EndCreate_time); predicate = predicate.AndIF(parm.StoreType != null, m => m.StoreType == parm.StoreType); predicate = predicate.AndIF(parm.FileId != null, m => m.Id == parm.FileId); - //搜索条件查询语法参考Sqlsugar var response = _SysFileService.GetPages(predicate.ToExpression(), parm, x => x.Id, OrderByType.Desc); return SUCCESS(response); } diff --git a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs index 2f160a6..a66cc7f 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs @@ -16,6 +16,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// /// 登录 /// + [Tags("登录SysLogin")] + [ApiExplorerSettings(GroupName = "sys")] public class SysLoginController : BaseController { static readonly NLog.Logger logger = NLog.LogManager.GetLogger("LoginController"); @@ -157,6 +159,7 @@ namespace ZR.Admin.WebApi.Controllers.System /// /// /// + [ApiExplorerSettings(IgnoreApi = true)] public SysLogininfor RecordLogInfo(HttpContext context) { var ipAddr = context.GetClientUserIp(); @@ -194,7 +197,7 @@ namespace ZR.Admin.WebApi.Controllers.System { return ToResponse(ResultCode.CAPTCHA_ERROR, "验证码错误"); } - + SysUser user = sysUserService.Register(dto); if (user.UserId > 0) { diff --git a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs index da54b1b..73c1e9b 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs @@ -12,6 +12,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("/system/menu")] + [Tags("菜单管理SysMenu")] + [ApiExplorerSettings(GroupName = "sys")] public class SysMenuController : BaseController { private readonly ISysRoleService sysRoleService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs b/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs index c5a5ef0..cb19c97 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysNoticeController.cs @@ -17,6 +17,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/notice")] + [Tags("系统通知SysNotice")] + [ApiExplorerSettings(GroupName = "sys")] public class SysNoticeController : BaseController { /// diff --git a/ZR.Admin.WebApi/Controllers/System/SysPostController.cs b/ZR.Admin.WebApi/Controllers/System/SysPostController.cs index b99d9e9..cf142be 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysPostController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysPostController.cs @@ -14,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/post")] + [Tags("岗位管理SysPost")] + [ApiExplorerSettings(GroupName = "sys")] public class SysPostController : BaseController { private readonly ISysPostService PostService; @@ -68,7 +70,7 @@ namespace ZR.Admin.WebApi.Controllers.System throw new CustomException($"修改岗位{post.PostName}失败,岗位编码已存在"); } post.ToCreate(HttpContext); - + return ToResponse(PostService.Add(post)); } @@ -122,7 +124,7 @@ namespace ZR.Admin.WebApi.Controllers.System /// 岗位导出 /// /// - [Log(BusinessType = BusinessType.EXPORT, IsSaveResponseData = false, Title= "岗位导出")] + [Log(BusinessType = BusinessType.EXPORT, IsSaveResponseData = false, Title = "岗位导出")] [HttpGet("export")] [ActionPermissionFilter(Permission = "system:post:export")] public IActionResult Export() diff --git a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs index 144f2c1..ac6cacd 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs @@ -12,6 +12,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/user/profile")] + [Tags("个人中心SysProfile")] + [ApiExplorerSettings(GroupName = "sys")] public class SysProfileController : BaseController { private readonly ISysUserService UserService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs index e8fa8ba..974ad2d 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs @@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/role")] + [Tags("角色管理SysRole")] + [ApiExplorerSettings(GroupName = "sys")] public class SysRoleController : BaseController { private readonly ISysRoleService sysRoleService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs index 5a7bde3..9b9ce33 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs @@ -15,6 +15,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/user")] + [Tags("用户管理SysUser")] + [ApiExplorerSettings(GroupName = "sys")] public class SysUserController : BaseController { private readonly ISysUserService UserService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs index 90fc836..8640b97 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs @@ -10,6 +10,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("system/userRole")] + [Tags("用户角色管理SysUserRole")] + [ApiExplorerSettings(GroupName = "sys")] public class SysUserRoleController : BaseController { private readonly ISysUserRoleService SysUserRoleService; diff --git a/ZR.Admin.WebApi/Controllers/System/TasksController.cs b/ZR.Admin.WebApi/Controllers/System/TasksController.cs index 8f8cf73..0f14d7a 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksController.cs @@ -16,6 +16,8 @@ namespace ZR.Admin.WebApi.Controllers /// [Verify] [Route("system/Tasks")] + [Tags("计划Tasks")] + [ApiExplorerSettings(GroupName = "sys")] public class TasksController : BaseController { private ISysTasksQzService _tasksQzService; diff --git a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs index 115db6b..b4cee25 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs @@ -1,11 +1,7 @@ -using Infrastructure; -using Infrastructure.Attribute; -using Infrastructure.Enums; -using Infrastructure.Extensions; +using Infrastructure.Extensions; using Microsoft.AspNetCore.Mvc; using SqlSugar; using ZR.Admin.WebApi.Filters; -using ZR.Common; using ZR.Model; using ZR.Model.System; using ZR.Model.System.Dto; @@ -18,6 +14,8 @@ namespace ZR.Admin.WebApi.Controllers.System /// [Verify] [Route("/monitor/jobLog")] + [Tags("任务日志TasksLog")] + [ApiExplorerSettings(GroupName = "sys")] public class TasksLogController : BaseController { private readonly ISysTasksLogService tasksLogService; diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs index 4dc5009..a7c959c 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/MonitorController.cs @@ -1,11 +1,6 @@ -using Infrastructure; using Infrastructure.Extensions; -using Infrastructure.Model; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; -using System; using System.Diagnostics; using System.Runtime.InteropServices; @@ -14,6 +9,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor /// /// 系统监控 /// + [Tags("系统监控Monitor")] + [ApiExplorerSettings(GroupName = "sys")] public class MonitorController : BaseController { private OptionsSetting Options; diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs index effebc8..bcb8398 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SqlDiffLogController.cs @@ -11,6 +11,8 @@ namespace ZR.Admin.WebApi.Controllers /// [Verify] [Route("monitor/SqlDiffLog")] + [Tags("差异日志SqlDiffLog")] + [ApiExplorerSettings(GroupName = "sys")] public class SqlDiffLogController : BaseController { /// diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs index 9a93557..e613836 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs @@ -13,6 +13,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor /// [Verify] [Route("/monitor/logininfor")] + [Tags("登录日志SysLogininfor")] + [ApiExplorerSettings(GroupName = "sys")] public class SysLogininforController : BaseController { private ISysLoginService sysLoginService; diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs index 7b60848..e55588e 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs @@ -11,6 +11,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor /// [Verify] [Route("/monitor/operlog")] + [Tags("操作日志SysOperlog")] + [ApiExplorerSettings(GroupName = "sys")] public class SysOperlogController : BaseController { private ISysOperLogService sysOperLogService; diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs index 96a9674..015f877 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysUserOnlineController.cs @@ -8,6 +8,8 @@ namespace ZR.Admin.WebApi.Controllers.monitor { [Verify] [Route("monitor/online")] + [Tags("在线用户SysUserOnline")] + [ApiExplorerSettings(GroupName = "sys")] public class SysUserOnlineController : BaseController { private IHubContext HubContext; diff --git a/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs b/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs index a4c12f9..4fc90af 100644 --- a/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs +++ b/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs @@ -1,7 +1,7 @@ -using Infrastructure; -using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.Filters; +using Swashbuckle.AspNetCore.SwaggerUI; using System.Reflection; namespace ZR.Admin.WebApi.Extensions @@ -33,7 +33,13 @@ namespace ZR.Admin.WebApi.Extensions }; }); }); - app.UseSwaggerUI(c => c.SwaggerEndpoint("v1/swagger.json", "ZrAdmin v1")); + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("sys/swagger.json", "系统管理"); + c.SwaggerEndpoint("article/swagger.json", "文章管理"); + c.SwaggerEndpoint("v1/swagger.json", "business"); + c.DocExpansion(DocExpansion.None); //->修改界面打开时自动折叠 + }); } public static void AddSwaggerConfig(this IServiceCollection services) @@ -43,6 +49,20 @@ namespace ZR.Admin.WebApi.Extensions services.AddSwaggerGen(c => { + c.SwaggerDoc("sys", new OpenApiInfo + { + Title = "ZrAdmin.NET Api", + Version = "v1", + Description = "系统管理", + Contact = new OpenApiContact { Name = "ZRAdmin doc", Url = new Uri("https://www.izhaorui.cn/doc") } + }); + c.SwaggerDoc("article", new OpenApiInfo + { + Title = "ZrAdmin.NET Api", + Version = "v1", + Description = "文章管理", + Contact = new OpenApiContact { Name = "ZRAdmin doc", Url = new Uri("https://www.izhaorui.cn/doc") } + }); c.SwaggerDoc("v1", new OpenApiInfo { Title = "ZrAdmin.NET Api", @@ -94,6 +114,20 @@ namespace ZR.Admin.WebApi.Extensions new List() } }); + + //判断接口归于哪个分组 + c.DocInclusionPredicate((docName, apiDescription) => + { + if (docName == "v1") + { + //当分组为NoGroup时,只要没加特性的都属于这个组 + return string.IsNullOrEmpty(apiDescription.GroupName); + } + else + { + return apiDescription.GroupName == docName; + } + }); }); } } diff --git a/ZR.Admin.WebApi/wwwroot/data.xlsx b/ZR.Admin.WebApi/wwwroot/data.xlsx index 574ac2f..0fef28e 100644 Binary files a/ZR.Admin.WebApi/wwwroot/data.xlsx and b/ZR.Admin.WebApi/wwwroot/data.xlsx differ