Falcon.SugarApi仓库
Go to file
2024-04-30 15:53:12 +08:00
Falcon.SugarApi 插件组件优化 2024-04-30 15:53:12 +08:00
Falcon.SugarApi.Test Xnl序列化空字符串测试 2023-06-21 08:49:19 +08:00
Falcon.SugarApi.WebService 项目文件框架更改 2023-03-10 10:05:06 +08:00
Falcon.SugarApi.Windows 系统方法,判断文件是否打开并可选择关闭 2023-03-02 10:40:29 +08:00
JS 上传print.js插件 2023-08-22 09:59:26 +08:00
RabbitMqTest Rabbit交换机确认模式。comfirm和事务模式测试。 2023-03-10 15:51:15 +08:00
Script !1 合并说明文件 2023-05-12 03:45:20 +00:00
.editorconfig 为对象增加ExpandProperties方法,该方法扩展对象的属性成为ExpandPropertyInfo枚举记录属性的名称、类型和值。 2023-01-05 10:02:26 +08:00
.gitattributes 添加 .gitattributes、.gitignore 和 README.md。 2022-03-21 12:05:08 +08:00
.gitignore 添加 .gitattributes、.gitignore 和 README.md。 2022-03-21 12:05:08 +08:00
Falcon.SugarApi.sln 新增对RabbitMQ的测试项目 2023-03-06 11:24:45 +08:00
FDate.js 增加日期处理文件FDate.js 2023-04-11 10:43:19 +08:00
LICENSE add LICENSE. 2023-05-12 04:04:37 +00:00
README.md 更新Readme文件 2023-01-12 12:53:33 +08:00

Falcon.SugarApi

Nuget包地址

在VS中增加程序包源地址http://106.14.65.137/api/packages/Falcon/nuget/index.json然后就可以在Nuget包管理中引入Falcon.SugarApi 包。

引入包说明

引入nuget包可能默认不会包含Falcon.SugarApi.xml文件但是没有这个文件swagger会少很多说明也可能会报错。
将一下代码包含在.csproj项目文件中可以复制包中的xml文件到输出目录和发布目录。

<Target Name="CopyReferenceFiles" BeforeTargets="Build">
	<ItemGroup>
		<XmlReferenceFiles Condition="Exists('$(OutputPath)%(Filename).dll')" Include="%(Reference.RelativeDir)%(Reference.Filename).xml" />
	</ItemGroup>
	<Message Text="Copying reference files to $(OutputPath)" Importance="High" />
	<Copy SourceFiles="@(XmlReferenceFiles)" DestinationFolder="$(OutputPath)" Condition="Exists('%(RootDir)%(Directory)%(Filename)%(Extension)')" />
</Target>
<Target Name="CopyReferenceFilesToPublish" BeforeTargets="PrepareForPublish">
	<ItemGroup>
		<XmlReferenceFiles Condition="Exists('$(OutputPath)%(Filename).dll')" Include="%(Reference.RelativeDir)%(Reference.Filename).xml" />
	</ItemGroup>
	<Message Text="Copying reference files to $(OutputPath)" Importance="High" />
	<Copy SourceFiles="@(XmlReferenceFiles)" DestinationFolder="$(PublishDir)" Condition="Exists('%(RootDir)%(Directory)%(Filename)%(Extension)')" />
</Target>

WebApi扩展模块 进入

ApiControllerBase是所有webapi基类实现数据库、log、异常等基础功能。
ApiBaseOptionController<>带有基本操作方法的webapi基类除了ApiControllerBase功能外还提供基础增删改查功能。

Swagger扩展模块 进入

waggerGenOptions.AddXmlEnumEnable方法可以为枚举类型增加注释。

SugarDbContext扩展模块 进入

通过IServiceCollection.AddSugarApiDbContext 注册SugarDbContext对象,该对象通过SugarConnectionConfig配置数据库链接。
DbSet<T>数据库表定义,支持表数据查询。
SugarDbTables<T>数据库表集合基类,可以继承该类并在其中定义DbSet<T>属性,这些属性会自动实例化。
SugarTableBase标准表基类继承该类可提供数据表基础功能比如ID创建和修改时间等。

后台任务BackTask模块 进入

继承BackgroundLongTask可以实现一个长期位于后台执行的对象,该类通过IServiceCollection.AddHostedService<>'进行注册。 RunTimespan属性设置执行的时间间隔的秒数。 重写RunAsync方法实现一个异步任务。 另外可以重写OnStart后台任务开始,OnStop后台任务结束,OnCompleted一次执行完成和OnException`执行中引发未处理的异常。

数据缓冲模块 进入

通过IServiceCollection.AddSugarRedisCacheIServiceCollection.AddSugarMemoryCache方法注册缓冲器。
通过注入 ISugarCache同步接口 或 ISugarCacheAsync异步接口获取组件。
通过接口的GetSet方法获取和保存缓冲值。

XML序列化扩展模块 进入

IServiceCollection.AddXmlSerializeFactory方法注册xml序列化工厂XmlSerializeFactory可以通过该工厂实例化一个XML序列化器。

JSON序列化扩展模块 进入

IServiceCollection.AddJsonSerializeFactory方法注册Json序列化工厂JsonSerializeFactory可以通过该工厂实例化一个Json序列化器。
ArrayStringJsonConverterAttribute特性标记字符串是个数组字符串,当进行序列化时候会被序列化为数组。

字符串扩展方法

IsNullOrEmpty()IsNotNullOrEmpty()方法返回字符串是否为空。
SplitStr()默认实现按照',', '', ';', '', '.', '。'对字符串进行分割。

Object扩展方法

CloneToCloneFrom实现将对象属性赋值到目标对象同名属性中,此为浅表复制。

IEnumerable扩展方法

ToDataTableToDataTable<>分别实现将枚举类型转换为DataTable的方法区别是一个针对Object枚举一个针对具体类型枚举尽量使用泛型版本更加高效。