diff --git a/Lib/Tiobon.Core.Base.dll b/Lib/Tiobon.Core.Base.dll index b0f78584..191125fc 100644 Binary files a/Lib/Tiobon.Core.Base.dll and b/Lib/Tiobon.Core.Base.dll differ diff --git a/Lib/Tiobon.Core.dll b/Lib/Tiobon.Core.dll index 2c99faeb..d8fad807 100644 Binary files a/Lib/Tiobon.Core.dll and b/Lib/Tiobon.Core.dll differ diff --git a/Lib/Tiobon.Core.xml b/Lib/Tiobon.Core.xml index 2846047d..b7329e44 100644 --- a/Lib/Tiobon.Core.xml +++ b/Lib/Tiobon.Core.xml @@ -2918,6 +2918,12 @@ + + + 扩展 HttpResponseStream
+ 原始[HttpResponseStream]实际上只是个包装类,内部包装了[HttpResponsePipeWriter]来进行写入响应数据 +
+
diff --git a/Tiobon.Core.Api/Controllers/CommonController.cs b/Tiobon.Core.Api/Controllers/CommonController.cs index 5391d4e7..16f405cd 100644 --- a/Tiobon.Core.Api/Controllers/CommonController.cs +++ b/Tiobon.Core.Api/Controllers/CommonController.cs @@ -1,6 +1,6 @@ using Newtonsoft.Json.Linq; using System.Data; -using Tiobon.Core.Common.Https.HttpPolly; +using Tiobon.Core.Https.HttpPolly; using Tiobon.Core.DB.Dapper; using Tiobon.Core.DB.Dapper.DBManager; diff --git a/Tiobon.Core.Common/Extensions/HttpResponseExceptions.cs b/Tiobon.Core.Common/Extensions/HttpResponseExceptions.cs deleted file mode 100644 index ebfe640b..00000000 --- a/Tiobon.Core.Common/Extensions/HttpResponseExceptions.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Microsoft.AspNetCore.Http; -using Tiobon.Core.Common.Https; - -namespace Tiobon.Core.Common.Extensions; - -public static class HttpResponseExceptions -{ - public static string GetResponseBody(this HttpResponse response) - { - if (response is null) - { - return string.Empty; - } - - //原始HttpResponseStream 无法读取 - //实际上只是个包装类,内部使用了HttpResponsePipeWriter write - switch (response.Body) - { - case FluentHttpResponseStream: - case MemoryStream: - { - response.Body.Position = 0; - using var stream = new StreamReader(response.Body, leaveOpen: true); - var body = stream.ReadToEnd(); - response.Body.Position = 0; - return body; - } - default: - // throw new ApplicationException("The response body is not a FluentHttpResponseStream"); - return string.Empty; - } - } -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Https/FluentHttpResponseStream.cs b/Tiobon.Core.Common/Https/FluentHttpResponseStream.cs deleted file mode 100644 index 0f54ffe6..00000000 --- a/Tiobon.Core.Common/Https/FluentHttpResponseStream.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Microsoft.AspNetCore.Http.Features; - -namespace Tiobon.Core.Common.Https; - -/// -/// 扩展 HttpResponseStream
-/// 原始[HttpResponseStream]实际上只是个包装类,内部包装了[HttpResponsePipeWriter]来进行写入响应数据 -///
-public class FluentHttpResponseStream : Stream -{ - private readonly IHttpBodyControlFeature _bodyControl; - private readonly IHttpResponseBodyFeature _pipeWriter; - private readonly MemoryStream _stream = new(); - - public FluentHttpResponseStream(IHttpResponseBodyFeature pipeWriter, IHttpBodyControlFeature bodyControl) - { - _pipeWriter = pipeWriter; - _bodyControl = bodyControl; - } - - public override bool CanRead => _stream.CanRead; - - public override bool CanSeek => _stream.CanSeek; - - public override bool CanWrite => _stream.CanWrite; - - public override long Length => _stream.Length; - - public override long Position { get => _stream.Position; set => _stream.Position = value; } - - public override void Flush() - { - if (!_bodyControl.AllowSynchronousIO) - { - throw new InvalidOperationException("SynchronousWritesDisallowed "); - } - _stream.Flush(); - } - - public override int Read(byte[] buffer, int offset, int count) - { - return _stream.Read(buffer, offset, count); - } - - public override long Seek(long offset, SeekOrigin origin) - { - return _stream.Seek(offset, origin); - } - - public override void SetLength(long value) - { - _stream.SetLength(value); - } - - public override void Write(byte[] buffer, int offset, int count) - { - WriteAsync(buffer, offset, count, default).GetAwaiter().GetResult(); - } - - public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) - { - _stream.Write(buffer, offset, count); - return _pipeWriter.Writer.WriteAsync(new ReadOnlyMemory(buffer, offset, count), cancellationToken).AsTask(); - } - - protected override void Dispose(bool disposing) - { - _stream.Dispose(); - base.Dispose(disposing); - } -} \ No newline at end of file diff --git a/Tiobon.Core.Common/Https/HttpPolly/HttpPollyHelper.cs b/Tiobon.Core.Common/Https/HttpPolly/HttpPollyHelper.cs deleted file mode 100644 index 00f6edeb..00000000 --- a/Tiobon.Core.Common/Https/HttpPolly/HttpPollyHelper.cs +++ /dev/null @@ -1,365 +0,0 @@ -using Newtonsoft.Json; -using System.Text; -using Tiobon.Core.Common.Helper; -using Tiobon.Core.Helper; -using Tiobon.Core.Model; - -namespace Tiobon.Core.Common.Https.HttpPolly; - -public class HttpPollyHelper : IHttpPollyHelper -{ - private readonly IHttpClientFactory _clientFactory; - - public HttpPollyHelper(IHttpClientFactory httpClientFactory) - { - _clientFactory = httpClientFactory; - } - - public async Task PostAsync(HttpEnum httpEnum, string url, R request, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var stringContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); - var response = await client.PostAsync(url, stringContent); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - string result = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(result); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - } - catch (Exception) - { - - throw; - } - - } - - public async Task PostAsync(HttpEnum httpEnum, string url, string request, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var stringContent = new StringContent(request, Encoding.UTF8, "application/json"); - var response = await client.PostAsync(url, stringContent); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - string result = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(result); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - - } - catch (Exception) - { - - throw; - } - - } - - public async Task PostAsync(HttpEnum httpEnum, string url, R request, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var stringContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); - var response = await client.PostAsync(url, stringContent); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - return await response.Content.ReadAsStringAsync(); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - } - catch (Exception) - { - - throw; - } - - } - - public async Task PostAsync(HttpEnum httpEnum, string url, string request, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var stringContent = new StringContent(request, Encoding.UTF8, "application/json"); - var response = await client.PostAsync(url, stringContent); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - return await response.Content.ReadAsStringAsync(); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - - } - catch (Exception) - { - - throw; - } - - } - - public async Task GetAsync(HttpEnum httpEnum, string url, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var response = await client.GetAsync(url); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - string result = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(result); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - - } - catch (Exception) - { - - throw; - } - - } - - public async Task GetAsync(HttpEnum httpEnum, string url, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var response = await client.GetAsync(url); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - return await response.Content.ReadAsStringAsync(); ; - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - - } - catch (Exception) - { - - throw; - } - - } - - public async Task PutAsync(HttpEnum httpEnum, string url, R request, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var stringContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); - var response = await client.PutAsync(url, stringContent); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - string result = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(result); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - - } - catch (Exception) - { - - throw; - } - - } - - public async Task PutAsync(HttpEnum httpEnum, string url, string request, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var stringContent = new StringContent(request, Encoding.UTF8, "application/json"); - var response = await client.PutAsync(url, stringContent); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - string result = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(result); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - - } - catch (Exception) - { - - throw; - } - - } - - public async Task DeleteAsync(HttpEnum httpEnum, string url, Dictionary headers = null) - { - try - { - var client = _clientFactory.CreateClient(httpEnum.ToString()); - if (headers != null) - { - foreach (var header in headers) - { - if (!client.DefaultRequestHeaders.Contains(header.Key)) - { - client.DefaultRequestHeaders.Add(header.Key, header.Value); - } - } - } - - var response = await client.DeleteAsync(url); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - string result = await response.Content.ReadAsStringAsync(); - return JsonConvert.DeserializeObject(result); - } - else - { - throw new Exception($"Http Error StatusCode:{response.StatusCode}"); - } - - } - catch (Exception) - { - - throw; - } - - } - - public async Task DownLoad(string fileUrl, string destinationPath) - { - var client = _clientFactory.CreateClient(); - destinationPath = FileHelper.GetPhysicsPath() + destinationPath; - HttpResponseMessage response = await client.GetAsync(fileUrl, HttpCompletionOption.ResponseHeadersRead); - response.EnsureSuccessStatusCode(); // 确保请求成功 - - using (Stream contentStream = await response.Content.ReadAsStreamAsync(), - fileStream = new FileStream(destinationPath, FileMode.Create, FileAccess.Write, FileShare.None, 8192, true)) - { - await contentStream.CopyToAsync(fileStream); - } - } -} diff --git a/Tiobon.Core.Common/Https/HttpPolly/IHttpPollyHelper.cs b/Tiobon.Core.Common/Https/HttpPolly/IHttpPollyHelper.cs deleted file mode 100644 index 91f3c014..00000000 --- a/Tiobon.Core.Common/Https/HttpPolly/IHttpPollyHelper.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Tiobon.Core.Model; - -namespace Tiobon.Core.Common.Https.HttpPolly; - -public interface IHttpPollyHelper -{ - Task PostAsync(HttpEnum httpEnum, string url, R request, Dictionary headers = null); - Task PostAsync(HttpEnum httpEnum, string url, string request, Dictionary headers = null); - Task PostAsync(HttpEnum httpEnum, string url, string request, Dictionary headers = null); - Task PostAsync(HttpEnum httpEnum, string url, R request, Dictionary headers = null); - Task GetAsync(HttpEnum httpEnum, string url, Dictionary headers = null); - Task GetAsync(HttpEnum httpEnum, string url, Dictionary headers = null); - Task PutAsync(HttpEnum httpEnum, string url, R request, Dictionary headers = null); - Task PutAsync(HttpEnum httpEnum, string url, string request, Dictionary headers = null); - Task DeleteAsync(HttpEnum httpEnum, string url, Dictionary headers = null); - - Task DownLoad(string fileUrl, string destinationPath); -} diff --git a/Tiobon.Core.Common/Https/RequestIpUtility.cs b/Tiobon.Core.Common/Https/RequestIpUtility.cs deleted file mode 100644 index 2f3d4e77..00000000 --- a/Tiobon.Core.Common/Https/RequestIpUtility.cs +++ /dev/null @@ -1,80 +0,0 @@ -using Microsoft.AspNetCore.Http; -using System.Net; - -namespace Tiobon.Core.Common.Https; - -public static class RequestIpUtility -{ - public static string GetRequestIp(this HttpContext context) - { - string ip = SplitCsv(GetHeaderValueAs(context, "X-Forwarded-For")).FirstOrDefault(); - - if (string.IsNullOrWhiteSpace(ip)) - ip = SplitCsv(GetHeaderValueAs(context, "X-Real-IP")).FirstOrDefault(); - - if (string.IsNullOrWhiteSpace(ip) && context.Connection?.RemoteIpAddress != null) - ip = context.Connection.RemoteIpAddress.ToString(); - - if (string.IsNullOrWhiteSpace(ip)) - ip = GetHeaderValueAs(context, "REMOTE_ADDR"); - - return ip; - } - - public static bool IsLocal(this HttpContext context) - { - return GetRequestIp(context) is "127.0.0.1" or "::1" || context.Request?.IsLocal() == true; - } - - - public static bool IsLocal(this HttpRequest req) - { - var connection = req.HttpContext.Connection; - if (connection.RemoteIpAddress != null) - { - if (connection.LocalIpAddress != null) - { - return connection.RemoteIpAddress.Equals(connection.LocalIpAddress); - } - else - { - return IPAddress.IsLoopback(connection.RemoteIpAddress); - } - } - - // for in memory TestServer or when dealing with default connection info - if (connection.RemoteIpAddress == null && connection.LocalIpAddress == null) - { - return true; - } - - return false; - } - - - private static T GetHeaderValueAs(HttpContext context, string headerName) - { - if (context.Request?.Headers?.TryGetValue(headerName, out var values) ?? false) - { - string rawValues = values.ToString(); - - if (!string.IsNullOrWhiteSpace(rawValues)) - return (T) Convert.ChangeType(values.ToString(), typeof(T)); - } - - return default; - } - - private static List SplitCsv(string csvList) - { - if (string.IsNullOrWhiteSpace(csvList)) - return new List(); - - return csvList - .TrimEnd(',') - .Split(',') - .AsEnumerable() - .Select(s => s.Trim()) - .ToList(); - } -} \ No newline at end of file diff --git a/Tiobon.Core.Extensions/Middlewares/EncryptionResponseMiddleware.cs b/Tiobon.Core.Extensions/Middlewares/EncryptionResponseMiddleware.cs index 5d192e69..072a824a 100644 --- a/Tiobon.Core.Extensions/Middlewares/EncryptionResponseMiddleware.cs +++ b/Tiobon.Core.Extensions/Middlewares/EncryptionResponseMiddleware.cs @@ -2,8 +2,6 @@ using Microsoft.AspNetCore.Http; using Newtonsoft.Json; using System.Text; -using Tiobon.Core.Common; -using Tiobon.Core.Common.Extensions; namespace Tiobon.Core.Extensions; diff --git a/Tiobon.Core.Extensions/Middlewares/FluentResponseBodyMiddleware.cs b/Tiobon.Core.Extensions/Middlewares/FluentResponseBodyMiddleware.cs index 66e43dd1..bfb2075d 100644 --- a/Tiobon.Core.Extensions/Middlewares/FluentResponseBodyMiddleware.cs +++ b/Tiobon.Core.Extensions/Middlewares/FluentResponseBodyMiddleware.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http.Features; -using Tiobon.Core.Common.Https; +using Tiobon.Core.Https; namespace Tiobon.Core.Extensions.Middlewares; diff --git a/Tiobon.Core.Extensions/Middlewares/RequRespLogMiddleware.cs b/Tiobon.Core.Extensions/Middlewares/RequRespLogMiddleware.cs index b51101c7..e4bc8035 100644 --- a/Tiobon.Core.Extensions/Middlewares/RequRespLogMiddleware.cs +++ b/Tiobon.Core.Extensions/Middlewares/RequRespLogMiddleware.cs @@ -2,7 +2,6 @@ using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System.Text.RegularExpressions; -using Tiobon.Core.Common.Extensions; using Tiobon.Core.LogHelper; namespace Tiobon.Core.Extensions.Middlewares; diff --git a/Tiobon.Core.Extensions/ServiceExtensions/HttpPollySetup.cs b/Tiobon.Core.Extensions/ServiceExtensions/HttpPollySetup.cs index c78a98cb..3a2d3ced 100644 --- a/Tiobon.Core.Extensions/ServiceExtensions/HttpPollySetup.cs +++ b/Tiobon.Core.Extensions/ServiceExtensions/HttpPollySetup.cs @@ -2,8 +2,7 @@ using Polly; using Polly.Extensions.Http; using Polly.Timeout; -using Tiobon.Core.Common.Https.HttpPolly; -using Tiobon.Core.Model; +using Tiobon.Core.Https.HttpPolly; namespace Tiobon.Core.Extensions; diff --git a/Tiobon.Core.Model/ViewModels/Extend/Ghre_ESSSurvey.cs b/Tiobon.Core.Model/ViewModels/Extend/Ghre_ESSSurvey.cs index 3d25a2f3..5a933835 100644 --- a/Tiobon.Core.Model/ViewModels/Extend/Ghre_ESSSurvey.cs +++ b/Tiobon.Core.Model/ViewModels/Extend/Ghre_ESSSurvey.cs @@ -14,5 +14,8 @@ public class Ghre_ESSSurvey public string BeginEndTime { get; set; } public string IsAnonymous1 { get; set; } public bool? IsAnonymous { get; set; } + public bool? IsSubmit { get; set; } + + } \ No newline at end of file diff --git a/Tiobon.Core.Serilog/Utility/SerilogRequestUtility.cs b/Tiobon.Core.Serilog/Utility/SerilogRequestUtility.cs index e14c11f6..2d15f936 100644 --- a/Tiobon.Core.Serilog/Utility/SerilogRequestUtility.cs +++ b/Tiobon.Core.Serilog/Utility/SerilogRequestUtility.cs @@ -1,5 +1,5 @@ using Tiobon.Core.Extensions; -using Tiobon.Core.Common.Https; +using Tiobon.Core.Https; using Microsoft.AspNetCore.Http; using Serilog; using Serilog.Events; diff --git a/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs b/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs index bfda756d..907ffb76 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs @@ -863,6 +863,7 @@ WHERE A.IsEnable = 1 AND A.Status ! = 'Temporary' { x.IsAnonymous1 = x.IsAnonymous == true ? "是" : "否"; x.Status = x.SubmitDate != null ? "已填" : "未填"; + x.IsSubmit = x.SubmitDate != null ? true : false; x.SurveyClass = await GetParaLabel("TrainSurveyClass", x.SurveyClass); if (x.BeginTime != null && x.EndTime != null) x.BeginEndTime = $"{DateTimeHelper.ConvertToMiniuteString(x.BeginTime)}~{DateTimeHelper.ConvertToMiniuteString(x.EndTime)}"; diff --git a/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs b/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs index 3155a741..bc89c800 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_TeacherServices.cs @@ -1,5 +1,5 @@ using Serilog; -using Tiobon.Core.Common.Https.HttpPolly; +using Tiobon.Core.Https.HttpPolly; using static Tiobon.Core.Model.Consts; namespace Tiobon.Core.Services; diff --git a/Tiobon.Core.Services/GlobalUsings.cs b/Tiobon.Core.Services/GlobalUsings.cs index ef3150b9..f6dd0f5f 100644 --- a/Tiobon.Core.Services/GlobalUsings.cs +++ b/Tiobon.Core.Services/GlobalUsings.cs @@ -1,5 +1,6 @@ global using AgileObjects.AgileMapper; global using Microsoft.AspNetCore.Http; +global using Newtonsoft.Json; global using Newtonsoft.Json.Linq; global using SqlSugar; global using System.Collections; @@ -7,23 +8,20 @@ global using System.Data; global using System.Dynamic; global using System.Linq.Expressions; global using System.Reflection; -global using Tiobon.Core.Common; global using Tiobon.Core.Caches; -global using Tiobon.Core.DB.Dapper; -global using Tiobon.Core.DB.Dapper.Extensions; global using Tiobon.Core.Common.Enums; -global using Tiobon.Core.Common.Extensions; -global using Tiobon.Core.Helper; global using Tiobon.Core.Common.Helper; -global using Tiobon.Core.UserManager; global using Tiobon.Core.DataAccess; +global using Tiobon.Core.DB.Dapper; +global using Tiobon.Core.DB.Dapper.Extensions; +global using Tiobon.Core.Helper; global using Tiobon.Core.IRepository.Base; global using Tiobon.Core.IServices; global using Tiobon.Core.Model; +global using Tiobon.Core.Model.Entity; global using Tiobon.Core.Model.Models; +global using Tiobon.Core.Model.ViewModels; global using Tiobon.Core.Model.ViewModels.Extend; global using Tiobon.Core.Services.BASE; -global using Tiobon.Core.Model.ViewModels; -global using Newtonsoft.Json; -global using Tiobon.Core.Model.Entity; +global using Tiobon.Core.UserManager; diff --git a/Tiobon.Core.Tests/Repository_Test/OrmTest.cs b/Tiobon.Core.Tests/Repository_Test/OrmTest.cs index 2f0ba789..b9f66649 100644 --- a/Tiobon.Core.Tests/Repository_Test/OrmTest.cs +++ b/Tiobon.Core.Tests/Repository_Test/OrmTest.cs @@ -1,10 +1,8 @@ -using System; -using Autofac; -using Tiobon.Core.Common.Extensions; -using Tiobon.Core.IRepository.Base; -using Tiobon.Core.Model.Models; +using Autofac; //using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; using SqlSugar; +using Tiobon.Core.IRepository.Base; +using Tiobon.Core.Model.Models; using Xunit; using Xunit.Abstractions; diff --git a/Tiobon.Core/Tiobon.Core.Api.xml b/Tiobon.Core/Tiobon.Core.Api.xml index 56df0c66..2be64ec4 100644 --- a/Tiobon.Core/Tiobon.Core.Api.xml +++ b/Tiobon.Core/Tiobon.Core.Api.xml @@ -168,7 +168,7 @@ 公共服务
- + 构造函数