Compare commits

...
3 Commits
Author SHA1 Message Date
xrain 55ea40b757 add string id only 2022-05-07 21:45:12 +08:00
xrain d252c1d302 fix login use string 2022-05-07 21:30:45 +08:00
xrain 74c6cb6027 update to .net6 2021-11-14 15:45:28 +08:00
8 changed files with 71 additions and 44 deletions
+13 -13
View File
@@ -3,22 +3,22 @@ name: PublishNugetPackage
on:
push:
tags:
- '*'
- "*"
jobs:
publish:
name: Publish Project to Nuget
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '5.0.100'
- name: Publish
run: |
version=`git describe --tags`
dotnet build --configuration release -p:PackageVersion=$version
dotnet nuget push bin/release/Simcu.SimApi.$version.nupkg -k ${NUGET_APIKEY} -s https://www.nuget.org/api/v2/package
env:
NUGET_APIKEY: ${{ secrets.NUGET_APIKEY }}
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: "6.0.100"
- name: Publish
run: |
version=`git describe --tags`
dotnet build --configuration release -p:PackageVersion=$version
dotnet nuget push bin/release/Simcu.SimApi.$version.nupkg -k ${NUGET_APIKEY} -s https://www.nuget.org/api/v2/package
env:
NUGET_APIKEY: ${{ secrets.NUGET_APIKEY }}
+9
View File
@@ -10,6 +10,14 @@ namespace SimApi.Communications
public int Id { get; set; }
}
/// <summary>
/// 只有ID的请求(字符串)
/// </summary>
public class SimApiStringIdOnlyRequest
{
public string Id { get; set; }
}
/// <summary>
/// 动态类型单字段请求
/// </summary>
@@ -25,6 +33,7 @@ namespace SimApi.Communications
public class SimApiBasePageRequest
{
public int Page { get; set; }
public int Count { get; set; }
}
}
+4 -2
View File
@@ -1,4 +1,5 @@
using System;
namespace SimApi.Communications
{
/// <summary>
@@ -7,8 +8,9 @@ namespace SimApi.Communications
public class SimApiLoginItem
{
//登录用户的ID
public int Id { get; set; }
public string Id { get; set; }
//登录用户来源
public string[] Type { get; set; }
}
}
}
-2
View File
@@ -85,7 +85,5 @@ namespace SimApi.Controllers
{
return new SimApiBaseResponse<string>();
}
}
}
+5 -2
View File
@@ -35,10 +35,13 @@ namespace SimApi.Controllers
/// </summary>
/// <returns></returns>
[HttpPost("/auth/check"), SimApiDoc("认证", "检测登陆")]
public SimApiBaseResponse<int> CheckLogin()
public SimApiBaseResponse<string> CheckLogin()
{
ErrorWhenNull(LoginInfo, 401);
return new SimApiBaseResponse<int> {Data = LoginInfo.Id};
return new SimApiBaseResponse<string>
{
Data = LoginInfo.Id
};
}
/// <summary>
+2 -2
View File
@@ -23,7 +23,7 @@ namespace SimApi.Helpers
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public string Login(int id, string type = "user", string token = null)
public string Login(string id, string type = "user", string token = null)
{
return Login(id, new[] { type }, token);
}
@@ -34,7 +34,7 @@ namespace SimApi.Helpers
/// <param name="id"></param>
/// <param name="type"></param>
/// <returns></returns>
public string Login(int id, string[] type, string uuid = null)
public string Login(string id, string[] type, string uuid = null)
{
if (uuid == null)
{
+2 -8
View File
@@ -12,15 +12,9 @@ namespace SimApi.Logger
Name = name;
}
public IDisposable BeginScope<TState>(TState state)
{
return null;
}
public IDisposable BeginScope<TState>(TState state) => default!;
public bool IsEnabled(LogLevel logLevel)
{
return true;
}
public bool IsEnabled(LogLevel logLevel) => true;
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception,
Func<TState, Exception, string> formatter)
+36 -15
View File
@@ -23,7 +23,7 @@ namespace SimApi
var simApiOptions = new SimApiOptions();
options?.Invoke(simApiOptions);
// 是否使用SIMAUTH
// 是否使用 AUTH
if (simApiOptions.EnableSimApiAuth)
{
builder.AddScoped<SimApiAuth>();
@@ -43,7 +43,11 @@ namespace SimApi
{
foreach (var group in docOptions.ApiGroups)
{
x.SwaggerDoc(group.Id, new OpenApiInfo {Title = group.Name, Description = group.Description});
x.SwaggerDoc(group.Id, new OpenApiInfo
{
Title = group.Name,
Description = group.Description
});
}
x.EnableAnnotations();
@@ -61,9 +65,15 @@ namespace SimApi
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{Type = ReferenceType.SecurityScheme, Id = "HeaderToken"}
{
Type = ReferenceType.SecurityScheme,
Id = "HeaderToken"
}
},
new[] {"readAccess", "writeAccess"}
new[]
{
"readAccess", "writeAccess"
}
}
});
haveSimApiAuth = true;
@@ -121,9 +131,15 @@ namespace SimApi
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{Type = ReferenceType.SecurityScheme, Id = "oauth2"}
{
Type = ReferenceType.SecurityScheme,
Id = "oauth2"
}
},
new[] {"SimApiAuth"}
new[]
{
"SimApiAuth"
}
}
});
}
@@ -131,7 +147,11 @@ namespace SimApi
if (haveSimApiAuth)
{
x.AddSecurityDefinition("HeaderToken",
new OpenApiSecurityScheme {Name = "Token", In = ParameterLocation.Header});
new OpenApiSecurityScheme
{
Name = "Token",
In = ParameterLocation.Header
});
}
});
}
@@ -139,17 +159,17 @@ namespace SimApi
// 使用Header转发,应对代理后获取真实ip
if (simApiOptions.EnableForwardHeaders)
{
builder.Configure<ForwardedHeadersOptions>(options =>
builder.Configure<ForwardedHeadersOptions>(fwOptions =>
{
options.ForwardedHeaders = ForwardedHeaders.All;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
fwOptions.ForwardedHeaders = ForwardedHeaders.All;
fwOptions.KnownNetworks.Clear();
fwOptions.KnownProxies.Clear();
});
}
if (simApiOptions.EnableLowerUrl)
{
builder.AddRouting(options => options.LowercaseUrls = true);
builder.AddRouting(rOptions => rOptions.LowercaseUrls = true);
}
if (simApiOptions.EnableSimApiStorage)
@@ -169,13 +189,14 @@ namespace SimApi
/// <returns></returns>
public static IApplicationBuilder UseSimApi(this IApplicationBuilder builder)
{
var options = builder.ApplicationServices.GetService<SimApiOptions>();
var options = builder.ApplicationServices.GetRequiredService<SimApiOptions>();
if (options.EnableLogger)
{
builder.ApplicationServices.GetService<ILoggerFactory>().AddProvider(new SimApiLoggerProvider());
builder.ApplicationServices.GetRequiredService<ILoggerFactory>()
.AddProvider(new SimApiLoggerProvider());
}
var logger = builder.ApplicationServices.GetService<ILogger<SimApiLogger>>();
var logger = builder.ApplicationServices.GetRequiredService<ILogger<SimApiLogger>>();
if (options.EnableForwardHeaders)
{