Compare commits

...
4 Commits
Author SHA1 Message Date
xrain af6bc86a0c ErrorWhen Code Antis 2025-10-26 01:08:07 +08:00
xrain fc7714198f add loginitem update 2025-10-25 17:12:39 +08:00
xrain d2b5f14e78 fix some 2025-10-25 17:03:43 +08:00
xrain 116cbcdc7f update to 9 2025-10-14 02:55:29 +08:00
6 changed files with 27 additions and 15 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
- name: Setup .NET Core - name: Setup .NET Core
uses: actions/setup-dotnet@v1 uses: actions/setup-dotnet@v1
with: with:
dotnet-version: "8.0.200" dotnet-version: "9.0.305"
- name: Publish - name: Publish
run: | run: |
version=`git describe --tags` version=`git describe --tags`
+6 -8
View File
@@ -1,13 +1,11 @@
using System.ComponentModel.DataAnnotations; namespace SimApi.Communications;
namespace SimApi.Communications;
/// <summary> /// <summary>
/// 只有ID的请求 /// 只有ID的请求
/// </summary> /// </summary>
public class SimApiIdOnlyRequest public class SimApiIdOnlyRequest
{ {
[Required] public int Id { get; set; } public required int Id { get; set; }
} }
/// <summary> /// <summary>
@@ -15,7 +13,7 @@ public class SimApiIdOnlyRequest
/// </summary> /// </summary>
public class SimApiStringIdOnlyRequest public class SimApiStringIdOnlyRequest
{ {
[Required] public string? Id { get; set; } public required string Id { get; set; }
} }
/// <summary> /// <summary>
@@ -24,7 +22,7 @@ public class SimApiStringIdOnlyRequest
/// <typeparam name="T"></typeparam> /// <typeparam name="T"></typeparam>
public class SimApiOneFieldRequest<T> public class SimApiOneFieldRequest<T>
{ {
[Required] public T? Data { get; set; } public required T Data { get; set; }
} }
/// <summary> /// <summary>
@@ -32,6 +30,6 @@ public class SimApiOneFieldRequest<T>
/// </summary> /// </summary>
public class SimApiBasePageRequest public class SimApiBasePageRequest
{ {
[Required] public int Page { get; set; } public required int Page { get; set; }
[Required] public int Count { get; set; } public required int Count { get; set; }
} }
+1 -1
View File
@@ -9,6 +9,6 @@ public class SimApiLoginItem
{ {
public string Id { get; set; } = null!; public string Id { get; set; } = null!;
public string[] Type { get; set; } = ["user"]; public string[] Type { get; set; } = ["user"];
public Dictionary<string, string> Meta { get; set; } = new(); public Dictionary<string, string> Meta { get; set; } = [];
public object? Extra { get; set; } public object? Extra { get; set; }
}; };
+6 -5
View File
@@ -1,4 +1,5 @@
using SimApi.Communications; using System.Diagnostics.CodeAnalysis;
using SimApi.Communications;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.ModelBinding;
@@ -53,7 +54,7 @@ public class SimApiBaseController : Controller
/// <param name="condition">检测条件</param> /// <param name="condition">检测条件</param>
/// <param name="code">错误代码</param> /// <param name="code">错误代码</param>
/// <param name="message">错误描述</param> /// <param name="message">错误描述</param>
protected static void ErrorWhen(bool condition, int code = 400, string message = "") protected static void ErrorWhen([DoesNotReturnIf(true)] bool condition, int code = 400, string message = "")
{ {
if (condition) if (condition)
{ {
@@ -68,7 +69,7 @@ public class SimApiBaseController : Controller
/// <param name="condition">检测条件</param> /// <param name="condition">检测条件</param>
/// <param name="code">错误代码</param> /// <param name="code">错误代码</param>
/// <param name="message">错误描述</param> /// <param name="message">错误描述</param>
protected static void ErrorWhenTrue(bool condition, int code = 400, string message = "") protected static void ErrorWhenTrue([DoesNotReturnIf(true)] bool condition, int code = 400, string message = "")
{ {
ErrorWhen(condition, code, message); ErrorWhen(condition, code, message);
} }
@@ -80,7 +81,7 @@ public class SimApiBaseController : Controller
/// <param name="condition"></param> /// <param name="condition"></param>
/// <param name="code"></param> /// <param name="code"></param>
/// <param name="message"></param> /// <param name="message"></param>
protected static void ErrorWhenFalse(bool condition, int code = 400, string message = "") protected static void ErrorWhenFalse([DoesNotReturnIf(false)] bool condition, int code = 400, string message = "")
{ {
ErrorWhen(!condition, code, message); ErrorWhen(!condition, code, message);
} }
@@ -91,7 +92,7 @@ public class SimApiBaseController : Controller
/// <param name="condition">检测条件</param> /// <param name="condition">检测条件</param>
/// <param name="code">错误代码</param> /// <param name="code">错误代码</param>
/// <param name="message">错误描述</param> /// <param name="message">错误描述</param>
protected static void ErrorWhenNull(object? condition, int code = 404, string message = "请求的资源不存在") protected static void ErrorWhenNull([NotNull] object? condition, int code = 404, string message = "请求的资源不存在")
{ {
ErrorWhen(condition == null, code, message); ErrorWhen(condition == null, code, message);
} }
+12
View File
@@ -23,6 +23,18 @@ public class SimApiAuth(IDistributedCache cache)
return token; return token;
} }
/// <summary>
/// 更新登陆信息
/// </summary>
/// <param name="loginItem"></param>
/// <param name="token"></param>
/// <returns></returns>
public string Update(SimApiLoginItem loginItem, string token)
{
cache.SetString(token, JsonSerializer.Serialize(loginItem));
return token;
}
/// <summary> /// <summary>
/// 获取登陆信息 /// 获取登陆信息
/// </summary> /// </summary>
+1
View File
@@ -31,6 +31,7 @@
<PackageReference Include="MQTTnet" Version="5.0.1.1416" /> <PackageReference Include="MQTTnet" Version="5.0.1.1416" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="8.1.1" /> <PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="8.1.1" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="8.1.1" /> <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="8.1.1" />
<PackageReference Include="System.Text.Json" Version="9.0.10" />
</ItemGroup> </ItemGroup>
<ProjectExtensions> <ProjectExtensions>
<MonoDevelop> <MonoDevelop>