feat: 前端表格高级筛选 (#100)

* chore: 🔨 css 基础单位

[skip ci]

* fix: 🐛 ca2263 System.Enum.GetValues<TEnum>()

[skip ci]

* feat:  前端表格高级筛选

[skip ci]
This commit is contained in:
2024-04-22 21:16:53 +08:00
committed by GitHub
parent 1dc953a2b2
commit 3847d6fdbb
175 changed files with 1901 additions and 630 deletions

View File

@@ -24,6 +24,14 @@ public sealed class ApiController(IApiCache cache) : ControllerBase<IApiCache, I
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 接口计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryApiReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建接口
/// </summary>

View File

@@ -24,6 +24,14 @@ public sealed class ConfigController(IConfigCache cache) : ControllerBase<IConfi
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 配置计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryConfigReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建配置
/// </summary>

View File

@@ -23,6 +23,14 @@ public sealed class DeptController(IDeptCache cache) : ControllerBase<IDeptCache
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 部门计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryDeptReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建部门
/// </summary>

View File

@@ -24,6 +24,14 @@ public sealed class JobController(IJobCache cache) : ControllerBase<IJobCache, I
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 计划作业计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryJobReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建计划作业
/// </summary>

View File

@@ -25,6 +25,14 @@ public sealed class LogController(IRequestLogCache cache) : ControllerBase<IRequ
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 请求日志计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryRequestLogReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建请求日志
/// </summary>

View File

@@ -23,6 +23,14 @@ public sealed class MenuController(IMenuCache cache) : ControllerBase<IMenuCache
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 菜单计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryMenuReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建菜单
/// </summary>

View File

@@ -23,6 +23,14 @@ public sealed class RoleController(IRoleCache cache) : ControllerBase<IRoleCache
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 角色计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryRoleReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建角色
/// </summary>

View File

@@ -25,6 +25,14 @@ public sealed class SiteMsgController(ISiteMsgCache cache) : ControllerBase<ISit
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 站内信计数
/// </summary>
public Task<long> CountAsync(QueryReq<QuerySiteMsgReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建站内信
/// </summary>

View File

@@ -44,6 +44,14 @@ public sealed class UserController(IUserCache cache, IConfigCache configCache)
return Cache.CheckUserNameAvailableAsync(req);
}
/// <summary>
/// 用户计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryUserReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建用户
/// </summary>

View File

@@ -15,49 +15,71 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys;
public sealed class VerifyCodeController(IVerifyCodeCache cache, ICaptchaCache captchaCache)
: ControllerBase<IVerifyCodeCache, IVerifyCodeService>(cache), IVerifyCodeModule
{
/// <inheritdoc />
/// <summary>
/// 批量删除验证码
/// </summary>
[NonAction]
public Task<int> BulkDeleteAsync(BulkReq<DelReq> req)
{
return Cache.BulkDeleteAsync(req);
}
/// <inheritdoc />
/// <summary>
/// 验证码计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryVerifyCodeReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建验证码
/// </summary>
[NonAction]
public Task<QueryVerifyCodeRsp> CreateAsync(CreateVerifyCodeReq req)
{
return Cache.CreateAsync(req);
}
/// <inheritdoc />
/// <summary>
/// 删除验证码
/// </summary>
[NonAction]
public Task<int> DeleteAsync(DelReq req)
{
return Cache.DeleteAsync(req);
}
/// <inheritdoc />
/// <summary>
/// 判断验证码是否存在
/// </summary>
[NonAction]
public Task<bool> ExistAsync(QueryReq<QueryVerifyCodeReq> req)
{
return Cache.ExistAsync(req);
}
/// <inheritdoc />
/// <summary>
/// 获取单个验证码
/// </summary>
[NonAction]
public Task<QueryVerifyCodeRsp> GetAsync(QueryVerifyCodeReq req)
{
return Cache.GetAsync(req);
}
/// <inheritdoc />
/// <summary>
/// 分页查询验证码
/// </summary>
[NonAction]
public Task<PagedQueryRsp<QueryVerifyCodeRsp>> PagedQueryAsync(PagedQueryReq<QueryVerifyCodeReq> req)
{
return Cache.PagedQueryAsync(req);
}
/// <inheritdoc />
/// <summary>
/// 查询验证码
/// </summary>
[NonAction]
public Task<IEnumerable<QueryVerifyCodeRsp>> QueryAsync(QueryReq<QueryVerifyCodeReq> req)
{
@@ -75,7 +97,9 @@ public sealed class VerifyCodeController(IVerifyCodeCache cache, ICaptchaCache c
return await Cache.SendVerifyCodeAsync(req).ConfigureAwait(false);
}
/// <inheritdoc />
/// <summary>
/// 更新验证码
/// </summary>
[NonAction]
public Task<QueryVerifyCodeRsp> UpdateAsync(UpdateVerifyCodeReq req)
{

View File

@@ -24,6 +24,14 @@ public sealed class ExampleController(IExampleCache cache) : ControllerBase<IExa
return Cache.BulkDeleteAsync(req);
}
/// <summary>
/// 示例计数
/// </summary>
public Task<long> CountAsync(QueryReq<QueryExampleReq> req)
{
return Cache.CountAsync(req);
}
/// <summary>
/// 创建示例
/// </summary>

View File

@@ -109,11 +109,14 @@ public sealed class ScheduledJob : WorkBase<ScheduledJob>, IJob
var headers = new Dictionary<string, string>();
if (!_accessToken.NullOrEmpty()) {
headers.Add(Chars.FLG_ACCESS_TOKEN_HEADER_KEY, $"{Chars.FLG_AUTH_SCHEMA} {_accessToken}");
headers.Add( //
Chars.FLG_HTTP_HEADER_KEY_AUTHORIZATION, $"{Chars.FLG_HTTP_HEADER_VALUE_AUTH_SCHEMA} {_accessToken}");
}
if (!_refreshToken.NullOrEmpty()) {
headers.Add(Chars.FLG_X_ACCESS_TOKEN_HEADER_KEY, $"{Chars.FLG_AUTH_SCHEMA} {_refreshToken}");
headers.Add( //
Chars.FLG_HTTP_HEADER_KEY_X_ACCESS_TOKEN_HEADER_KEY
, $"{Chars.FLG_HTTP_HEADER_VALUE_AUTH_SCHEMA} {_refreshToken}");
}
if (!job.RequestHeader.NullOrEmpty()) {

View File

@@ -21,7 +21,7 @@ public sealed class OperationLogger : IEventSubscriber
}
// 跳过心跳请求
if (operationEvent.Data.ApiId.Equals("api/health/check", StringComparison.OrdinalIgnoreCase)) {
if (operationEvent.Data.ApiId.Equals("api/probe/health.check", StringComparison.OrdinalIgnoreCase)) {
return;
}