/Qf.Core

基于.net core 3.1 的微服务开发框架,使用简化的DDD+CQRS设计

Primary LanguageC#MIT LicenseMIT

Qf.Core

介绍

基于.net core 3.1 的微服务开发框架,使用简化的DDD+CQRS设计

framework 微服务框架解决方案

  • Qf.Core

    核心类库,部分代码参考自abp项目,用来实现框架的基础功能

    你可以运行以下命令在你的项目中使用类库

    PM> Install-Package Qf.Core -Version 1.0.3.3

  • Qf.Core.AutoMapper

    基于AutoMapper的对象映射,具体用法请查看 Qf.Core.AutoMapper的用法

    你可以运行以下命令在你的项目中使用类库

    PM> Install-Package Qf.Core.AutoMapper -Version 1.0.3.2

  • Qf.Core.EFCore

    基于EntityFrameworkCore的仓储基类,默认使用统一工作单元,自动注入默认仓储.

    你可以运行以下命令在你的项目中使用类库

    PM> Install-Package Qf.Core.EFCore -Version 1.0.3.5

  • Qf.Core.Web

    asp.net core mvc 项目扩展,添加了微信登录(WeChat),自定义授权认证(BearerAuthorize),全局异常处理(ErrorHandling),返回值封装(WebApiResult))

    你可以运行以下命令在你的项目中使用类库

    PM> Install-Package Qf.Core.Web -Version 1.0.3.4

  • Qf.Extensions.Configuration.Encryption

    asp.net core mvc 项目扩展,提供配置文件加密功能

    你可以运行以下命令在你的项目中使用类库

    PM> Install-Package Qf.Extensions.Configuration.Encryption -Version 1.0.0.3

    用法如下:

            var builder = new ConfigurationBuilder();
            if (isNotDebug)
            {
                builder.AddEncryptionFile("appsettings.encryption", optional: false, reloadOnChange: true);
            }
            else
            {
                builder.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
            }
            return builder.Build();

samples 示例项目TodoList解决方案

  • Qf.SysTodoList.Application 应用层
  • Qf.SysTodoList.Domain 领域层
  • Qf.SysTodoList.Infrastructure 基础设施层(默认基于SqlServer实现)
  • Qf.SysTodoList.Infrastructure.MySql 基于MySql的基础设施层
  • Qf.SysTodoList.Web 用户前端
  • Qf.SysTodoList.WebApi 数据接口

如何开始

你可以参考示例项目TodoList解决方案的项目分层,新建你自己的解决方案,也可以直接复制samples文件夹下的所有内容,然后重命名,添加你自己的领域对象.

  • 在正式运行WebApi项目之前,请修改 appsettings.json 配置文件中的数据库连接字符串

  • WebApi项目启动后,访问 /swagger/index.html 路径来查看接口文档

参考项目

捐赠

如果您觉得 Qf.Core项目 对您有所帮助,可以请作者媳妇儿喝一杯咖啡

微信赞赏码