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.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>
/// appsettings.json操作类
/// </summary>
public class AppSettings
{
public static IConfiguration Configuration { get; set; }
static string contentPath { get; set; }
public static IConfiguration Configuration { get; set; }
static string contentPath { get; set; }
public AppSettings(string contentPath)
{
string Path = "appsettings.json";
public AppSettings(string contentPath)
{
string Path = "appsettings.json";
//如果你把配置文件 是 根据环境变量来分开了,可以这样写
//Path = $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json";
//如果你把配置文件 是 根据环境变量来分开了,可以这样写
//Path = $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json";
Configuration = new ConfigurationBuilder()
.SetBasePath(contentPath)
.Add(new JsonConfigurationSource
{
Path = Path, Optional = false, ReloadOnChange = true
}) //这样的话,可以直接读目录里的json文件,而不是 bin 文件夹下的,所以不用修改复制属性
.Build();
}
Configuration = new ConfigurationBuilder()
.SetBasePath(contentPath)
.Add(new JsonConfigurationSource
{
Path = Path, Optional = false, ReloadOnChange = true
}) //这样的话,可以直接读目录里的json文件,而不是 bin 文件夹下的,所以不用修改复制属性
.Build();
}
public AppSettings(IConfiguration configuration)
{
Configuration = configuration;
}
public AppSettings(IConfiguration configuration)
{
Configuration = configuration;
}
/// <summary>
/// 封装要操作的字符
/// </summary>
/// <param name="sections">节点配置</param>
/// <returns></returns>
public static string app(params string[] sections)
/// <summary>
/// 封装要操作的字符
/// </summary>
/// <param name="sections">节点配置</param>
/// <returns></returns>
public static string app(params string[] sections)
{
try
{
try
{
if (sections.Any())
{
return Configuration[string.Join(":", sections)];
}
}
catch (Exception)
if (sections.Any())
{
return Configuration[string.Join(":", sections)];
}
return "";
}
/// <summary>
/// 递归获取配置信息数组
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="sections"></param>
/// <returns></returns>
public static List<T> app<T>(params string[] sections)
catch (Exception)
{
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>
/// <param name="str">文本</param>
/// <param name="color">前颜色</param>
public static void WriteColorLine(string str, ConsoleColor color)
/// <summary>
/// 在控制台输出
/// </summary>
/// <param name="str">文本</param>
/// <param name="color">前颜色</param>
public static void WriteColorLine(string str, ConsoleColor color)
{
lock (_objLock)
{
lock (_objLock)
{
ConsoleColor currentForeColor = Console.ForegroundColor;
Console.ForegroundColor = color;
Console.WriteLine(str);
Console.ForegroundColor = currentForeColor;
}
ConsoleColor currentForeColor = Console.ForegroundColor;
Console.ForegroundColor = color;
Console.WriteLine(str);
Console.ForegroundColor = currentForeColor;
}
}
/// <summary>
/// 打印错误信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
public static void WriteErrorLine(this string str, ConsoleColor color = ConsoleColor.Red)=> WriteColorLine(str, color);
/// <summary>
/// 打印错误信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
public static void WriteErrorLine(this string str, ConsoleColor color = ConsoleColor.Red)=> WriteColorLine(str, color);
/// <summary>
/// 打印警告信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
public static void WriteWarningLine(this string str, ConsoleColor color = ConsoleColor.Yellow)=> WriteColorLine(str, color);
/// <summary>
/// 打印警告信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
public static void WriteWarningLine(this string str, ConsoleColor color = ConsoleColor.Yellow)=> WriteColorLine(str, color);
/// <summary>
/// 打印正常信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
public static void WriteInfoLine(this string str, ConsoleColor color = ConsoleColor.White)=> WriteColorLine(str, color);
/// <summary>
/// 打印正常信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
public static void WriteInfoLine(this string str, ConsoleColor color = ConsoleColor.White)=> WriteColorLine(str, color);
/// <summary>
/// 打印成功的信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
public static void WriteSuccessLine(this string str, ConsoleColor color = ConsoleColor.Green)=> WriteColorLine(str, color);
}
/// <summary>
/// 打印成功的信息
/// </summary>
/// <param name="str">待打印的字符串</param>
/// <param name="color">想要打印的颜色</param>
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>
/// 这是爱
/// </summary>
public class Love
public virtual string SayLoveU()
{
public virtual string SayLoveU()
{
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; }
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; }
}

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