简化了内置控制器返回写法
This commit is contained in:
@@ -20,7 +20,7 @@ public class CoceController(CoceApp coce, SimApiAuth auth, IServiceProvider sp)
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public SimApiBaseResponse<string> Login([FromBody] SimApiOneFieldRequest<string> request)
|
||||
public string Login([FromBody] SimApiOneFieldRequest<string> request)
|
||||
{
|
||||
var data = coce.GetLevelToken(request.Data!);
|
||||
ErrorWhenNull(data, 400);
|
||||
@@ -39,14 +39,14 @@ public class CoceController(CoceApp coce, SimApiAuth auth, IServiceProvider sp)
|
||||
};
|
||||
var processor = sp.GetService<ICoceLoginProcessor>();
|
||||
processor?.Process(loginItem, groups.ToArray());
|
||||
return new SimApiBaseResponse<string>(auth.Login(loginItem));
|
||||
return auth.Login(loginItem);
|
||||
}
|
||||
|
||||
[HttpPost, SimApiAuth]
|
||||
public SimApiBaseResponse<GroupInfo[]> ListGroups()
|
||||
public GroupInfo[] ListGroups()
|
||||
{
|
||||
var levelToken = coce.GetToken(LoginInfo.Id!);
|
||||
var groups = coce.GetUserGroups(levelToken!)!;
|
||||
return new SimApiBaseResponse<GroupInfo[]>(groups.ToArray());
|
||||
return groups.ToArray();
|
||||
}
|
||||
}
|
||||
@@ -14,13 +14,10 @@ public class SimApiAuthController(SimApiAuth auth) : SimApiBaseController
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost, SimApiDoc("认证", "检测登陆")]
|
||||
public SimApiBaseResponse<string> CheckLogin()
|
||||
public string CheckLogin()
|
||||
{
|
||||
ErrorWhenNull(LoginInfo, 401, "未登录");
|
||||
return new SimApiBaseResponse<string>
|
||||
{
|
||||
Data = LoginInfo.Id
|
||||
};
|
||||
return LoginInfo.Id;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -28,23 +25,15 @@ public class SimApiAuthController(SimApiAuth auth) : SimApiBaseController
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost, SimApiDoc("认证", "退出登陆")]
|
||||
public SimApiBaseResponse Logout()
|
||||
public void Logout()
|
||||
{
|
||||
string? token = null;
|
||||
|
||||
if (Request.Headers.TryGetValue("Token", out var value))
|
||||
{
|
||||
token = value;
|
||||
auth.Logout(value!);
|
||||
}
|
||||
|
||||
auth.Logout(token!);
|
||||
return new SimApiBaseResponse();
|
||||
}
|
||||
|
||||
|
||||
[HttpPost, SimApiAuth]
|
||||
public SimApiBaseResponse<SimApiLoginItem> UserInfo()
|
||||
{
|
||||
return new SimApiBaseResponse<SimApiLoginItem>(LoginInfo);
|
||||
}
|
||||
[HttpPost, SimApiAuth, SimApiDoc("认证", "获取已登录用户信息")]
|
||||
public SimApiLoginItem UserInfo() => LoginInfo;
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SimApi.Communications;
|
||||
using SimApi.Helpers;
|
||||
|
||||
namespace SimApi.Controllers;
|
||||
@@ -14,22 +13,19 @@ public class SimApiCommonController : SimApiBaseController
|
||||
/// <returns></returns>
|
||||
[HttpGet("exception/{code:int}")]
|
||||
[ApiExplorerSettings(IgnoreApi = true)]
|
||||
public SimApiBaseResponse ExceptionHandler(int code)
|
||||
public void ExceptionHandler(int code)
|
||||
{
|
||||
return new SimApiBaseResponse(code);
|
||||
SimApiError.Error(code);
|
||||
}
|
||||
|
||||
|
||||
[HttpPost, HttpGet]
|
||||
public SimApiBaseResponse<Dictionary<string, string>> Versions()
|
||||
public Dictionary<string, string> Versions()
|
||||
{
|
||||
return new SimApiBaseResponse<Dictionary<string, string>>()
|
||||
return new Dictionary<string, string>
|
||||
{
|
||||
Data = new Dictionary<string, string>
|
||||
{
|
||||
{ "SimApi", SimApiUtil.SimApiVersion },
|
||||
{ "App", SimApiUtil.AppVersion }
|
||||
}
|
||||
{ "SimApi", SimApiUtil.SimApiVersion },
|
||||
{ "App", SimApiUtil.AppVersion }
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -68,16 +68,4 @@ public static class SimApiError
|
||||
{
|
||||
ErrorWhen(condition == null, code, message);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检测给定的泛型变量是否为Null(提供更精确的编译器 null 流分析)
|
||||
/// </summary>
|
||||
/// <param name="condition">检测条件</param>
|
||||
/// <param name="code">错误代码</param>
|
||||
/// <param name="message">错误描述</param>
|
||||
public static void ErrorWhenNull<T>([NotNull] T? condition, int code = 404,
|
||||
string message = "请求的资源不存在") where T : class
|
||||
{
|
||||
ErrorWhen(condition == null, code, message);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user