core 框架代码整理优化

master
xiaochanghai 5 months ago
parent f4721de044
commit ceb6940505
  1. 138
      Tiobon.Core.Common/Helper/Appsettings.cs
  2. 83
      Tiobon.Core.Common/Helper/Console/ConsoleHelper.cs
  3. 11
      Tiobon.Core.Model/HttpEnum.cs
  4. 41
      Tiobon.Core.Model/Love.cs
  5. 106
      Tiobon.Core.Model/PageModel.cs

@ -1,92 +1,88 @@
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json; using Microsoft.Extensions.Configuration.Json;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Tiobon.Core.Common namespace Tiobon.Core.Common;
/// <summary>
/// appsettings.json操作类
/// </summary>
public class AppSettings
{ {
/// <summary> public static IConfiguration Configuration { get; set; }
/// appsettings.json操作类 static string contentPath { get; set; }
/// </summary>
public class AppSettings
{
public static IConfiguration Configuration { get; set; }
static string contentPath { get; set; }
public AppSettings(string contentPath) public AppSettings(string contentPath)
{ {
string Path = "appsettings.json"; string Path = "appsettings.json";
//如果你把配置文件 是 根据环境变量来分开了,可以这样写 //如果你把配置文件 是 根据环境变量来分开了,可以这样写
//Path = $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json"; //Path = $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json";
Configuration = new ConfigurationBuilder() Configuration = new ConfigurationBuilder()
.SetBasePath(contentPath) .SetBasePath(contentPath)
.Add(new JsonConfigurationSource .Add(new JsonConfigurationSource
{ {
Path = Path, Optional = false, ReloadOnChange = true Path = Path, Optional = false, ReloadOnChange = true
}) //这样的话,可以直接读目录里的json文件,而不是 bin 文件夹下的,所以不用修改复制属性 }) //这样的话,可以直接读目录里的json文件,而不是 bin 文件夹下的,所以不用修改复制属性
.Build(); .Build();
} }
public AppSettings(IConfiguration configuration) public AppSettings(IConfiguration configuration)
{ {
Configuration = configuration; Configuration = configuration;
} }
/// <summary> /// <summary>
/// 封装要操作的字符 /// 封装要操作的字符
/// </summary> /// </summary>
/// <param name="sections">节点配置</param> /// <param name="sections">节点配置</param>
/// <returns></returns> /// <returns></returns>
public static string app(params string[] sections) public static string app(params string[] sections)
{
try
{ {
try if (sections.Any())
{
if (sections.Any())
{
return Configuration[string.Join(":", sections)];
}
}
catch (Exception)
{ {
return Configuration[string.Join(":", sections)];
} }
return "";
} }
catch (Exception)
/// <summary>
/// 递归获取配置信息数组
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="sections"></param>
/// <returns></returns>
public static List<T> app<T>(params string[] sections)
{ {
List<T> list = new List<T>();
// 引用 Microsoft.Extensions.Configuration.Binder 包
Configuration.Bind(string.Join(":", sections), list);
return list;
} }
return "";
}
/// <summary>
/// 递归获取配置信息数组
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="sections"></param>
/// <returns></returns>
public static List<T> app<T>(params string[] sections)
{
List<T> list = new List<T>();
// 引用 Microsoft.Extensions.Configuration.Binder 包
Configuration.Bind(string.Join(":", sections), list);
return list;
}
/// <summary>
/// 根据路径 configuration["App:Name"];
/// </summary>
/// <param name="sectionsPath"></param>
/// <returns></returns>
public static string GetValue(string sectionsPath)
{
try
{
return Configuration[sectionsPath];
}
catch (Exception)
{
}
return ""; /// <summary>
/// 根据路径 configuration["App:Name"];
/// </summary>
/// <param name="sectionsPath"></param>
/// <returns></returns>
public static string GetValue(string sectionsPath)
{
try
{
return Configuration[sectionsPath];
}
catch (Exception)
{
} }
return "";
} }
} }

@ -1,53 +1,50 @@
using System; namespace Tiobon.Core.Common;
namespace Tiobon.Core.Common public static class ConsoleHelper
{ {
public static class ConsoleHelper private static readonly object _objLock = new();
{
private static readonly object _objLock = new();
/// <summary> /// <summary>
/// 在控制台输出 /// 在控制台输出
/// </summary> /// </summary>
/// <param name="str">文本</param> /// <param name="str">文本</param>
/// <param name="color">前颜色</param> /// <param name="color">前颜色</param>
public static void WriteColorLine(string str, ConsoleColor color) public static void WriteColorLine(string str, ConsoleColor color)
{
lock (_objLock)
{ {
lock (_objLock) ConsoleColor currentForeColor = Console.ForegroundColor;
{ Console.ForegroundColor = color;
ConsoleColor currentForeColor = Console.ForegroundColor; Console.WriteLine(str);
Console.ForegroundColor = color; Console.ForegroundColor = currentForeColor;
Console.WriteLine(str);
Console.ForegroundColor = currentForeColor;
}
} }
}
/// <summary> /// <summary>
/// 打印错误信息 /// 打印错误信息
/// </summary> /// </summary>
/// <param name="str">待打印的字符串</param> /// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param> /// <param name="color">想要打印的颜色</param>
public static void WriteErrorLine(this string str, ConsoleColor color = ConsoleColor.Red)=> WriteColorLine(str, color); public static void WriteErrorLine(this string str, ConsoleColor color = ConsoleColor.Red)=> WriteColorLine(str, color);
/// <summary> /// <summary>
/// 打印警告信息 /// 打印警告信息
/// </summary> /// </summary>
/// <param name="str">待打印的字符串</param> /// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param> /// <param name="color">想要打印的颜色</param>
public static void WriteWarningLine(this string str, ConsoleColor color = ConsoleColor.Yellow)=> WriteColorLine(str, color); public static void WriteWarningLine(this string str, ConsoleColor color = ConsoleColor.Yellow)=> WriteColorLine(str, color);
/// <summary> /// <summary>
/// 打印正常信息 /// 打印正常信息
/// </summary> /// </summary>
/// <param name="str">待打印的字符串</param> /// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param> /// <param name="color">想要打印的颜色</param>
public static void WriteInfoLine(this string str, ConsoleColor color = ConsoleColor.White)=> WriteColorLine(str, color); public static void WriteInfoLine(this string str, ConsoleColor color = ConsoleColor.White)=> WriteColorLine(str, color);
/// <summary> /// <summary>
/// 打印成功的信息 /// 打印成功的信息
/// </summary> /// </summary>
/// <param name="str">待打印的字符串</param> /// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param> /// <param name="color">想要打印的颜色</param>
public static void WriteSuccessLine(this string str, ConsoleColor color = ConsoleColor.Green)=> WriteColorLine(str, color); public static void WriteSuccessLine(this string str, ConsoleColor color = ConsoleColor.Green)=> WriteColorLine(str, color);
}
} }

@ -1,10 +1,7 @@
using System; namespace Tiobon.Core.Model;
namespace Tiobon.Core.Model public enum HttpEnum
{ {
public enum HttpEnum Common,
{ LocalHost
Common,
LocalHost
}
} }

@ -1,25 +1,24 @@
namespace Tiobon.Core.Model namespace Tiobon.Core.Model;
/// <summary>
/// 这是爱
/// </summary>
public class Love
{ {
/// <summary> public virtual string SayLoveU()
/// 这是爱
/// </summary>
public class Love
{ {
public virtual string SayLoveU() return "I ♥ U";
{
return "I ♥ U";
}
/// <summary>
/// id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int Age { get; set; }
} }
/// <summary>
/// id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int Age { get; set; }
} }

@ -1,74 +1,72 @@
using AutoMapper; using AutoMapper;
namespace Tiobon.Core.Model namespace Tiobon.Core.Model;
/// <summary>
/// 通用分页信息类
/// </summary>
public class PageModel<T>
{ {
/// <summary> /// <summary>
/// 通用分页信息类 /// 当前页标
/// </summary> /// </summary>
public class PageModel<T> public int page { get; set; } = 1;
{ /// <summary>
/// <summary> /// 总页数
/// 当前页标 /// </summary>
/// </summary> public int pageCount => (int)Math.Ceiling((decimal)dataCount / PageSize);
public int page { get; set; } = 1; /// <summary>
/// <summary> /// 数据总数
/// 总页数 /// </summary>
/// </summary> public int dataCount { get; set; } = 0;
public int pageCount => (int)Math.Ceiling((decimal)dataCount / PageSize); /// <summary>
/// <summary> /// 每页大小
/// 数据总数 /// </summary>
/// </summary> public int PageSize { set; get; } = 20;
public int dataCount { get; set; } = 0; /// <summary>
/// <summary> /// 返回数据
/// 每页大小 /// </summary>
/// </summary> public List<T> data { get; set; }
public int PageSize { set; get; } = 20;
/// <summary>
/// 返回数据
/// </summary>
public List<T> data { get; set; }
public PageModel() { }
public PageModel(int page, int dataCount, int pageSize, List<T> data) public PageModel() { }
{
this.page = page;
this.dataCount = dataCount;
PageSize = pageSize;
this.data = data;
}
public PageModel<TOut> ConvertTo<TOut>() public PageModel(int page, int dataCount, int pageSize, List<T> data)
{ {
return new PageModel<TOut>(page, dataCount, PageSize, default); this.page = page;
} this.dataCount = dataCount;
PageSize = pageSize;
this.data = data;
}
public PageModel<TOut> ConvertTo<TOut>()
{
return new PageModel<TOut>(page, dataCount, PageSize, default);
}
public PageModel<TOut> ConvertTo<TOut>(IMapper mapper)
{
var model = ConvertTo<TOut>();
if (data != null) public PageModel<TOut> ConvertTo<TOut>(IMapper mapper)
{ {
model.data = mapper.Map<List<TOut>>(data); var model = ConvertTo<TOut>();
}
return model; if (data != null)
{
model.data = mapper.Map<List<TOut>>(data);
} }
return model;
}
public PageModel<TOut> ConvertTo<TOut>(IMapper mapper, Action<IMappingOperationOptions> options)
{
var model = ConvertTo<TOut>();
if (data != null)
{
model.data = mapper.Map<List<TOut>>(data, options);
}
return model;
public PageModel<TOut> ConvertTo<TOut>(IMapper mapper, Action<IMappingOperationOptions> options)
{
var model = ConvertTo<TOut>();
if (data != null)
{
model.data = mapper.Map<List<TOut>>(data, options);
} }
return model;
} }
} }

Loading…
Cancel
Save