BCVP开发者说第一期:Destiny.Core.Flow

2022-04-11 16:11:33 浏览数 (1)

沉静岁月,淡忘流年

1项目简介

Destiny.Core.Flow

Destiny.Core.Flow是基于.NetCore平台,轻量级的模块化开发框架,Admin管理应用框架,旨在提升团队的快速开发输出能力,由常用公共操作类(工具类、帮助类)、分层架构基类,第三方组件封装等组成。 Destiny.Core.Flow重写微软的identity用户角色和重写IdentityServer4的实体,以及IdentityServer的ClientAPisource等查询仓库实现,将IdentityServer4和Identity以及其他模块合并成为一个上下文,在使用IdentityServer4时不需要在维护几个上下文,统一了上下文管理。 框架lambda查询不需要在后台写各种判断,所有的查询条件通过前端传入,从而减少后台的一些字符段判断等,使用动态拼接lambda。

原项目地址: https://github.com/DestinyCore/Destiny.Core.Flow

作者博客: https://www.cnblogs.com/pual13/

2 框架功能

在线项目演示:

https://admin.destinycore.club

在线展示(这版本目前没法使用(后面再维护),VUE版本正在开发) 账号:Test002 密码:123456

后面支持VUE版本 在线后端API:

https://api.destinycore.club

该项目是基础版不提供工作流版本 系统设置

1、用户管理 2、角色管理 3、菜单管理 4、功能管理 5、数据字典 6、组织架构 7、操作审计 8、数据审计 9、工作流(暂时不支持)

3 框架技术栈

数据库 MySql Redis MongoDB .Net Core技术 MSDI (个人扩展批量注入) Consul服务注册发现 基于MediatR实现事件总线 AutoMapper对象映射 在仓储层实现了自动转实体层不需要手动注入实现转化 SignalR即时通信(暂时不支持) EntityFrameworkCore ORM框架 MongoDB Redis

4 分层介绍

框架分层

  • Infrastructure 基础建设层
    • Destiny.Core.Flow 用来替换之前的Common层,实现注解式模块化挂载、事件总线、自动DI注册、通用查询模型、lambda表达式动态生成、仓储接口定义、权限接口定义、自定义扩展方法等。
    • Destiny.Core.Flow.EntityFrameworkCore EFCore上下文定义、扩展EF映射数据库配置接口以及类、在SaveChanges实现发送日志事件进行记录数据操作日志、仓储接口实现、EFCore模块抽象类定义。
    • Destiny.Core.Flow.Identitys 重写微软Identity自带用户角色的代码。
    • Destiny.Core.Flow.IdentityServer 重写IdentityServer相关接口,及相关映射,实现通过仓储操作相关数据
    • Destiny.Core.Flow.IdentityServer.Entities IdentityServer相关实体
    • Destiny.Core.Flow.AspNetCore NetCoreAPI通用层,权限过滤器,日志过滤器、异常中间件、控制器返回同意格式模型。
    • Destiny.Core.Flow.CodeGenerator 代码生成器 已实现,可以生成实体、DTO、接口、控制器。
    • to do…
  • Business 业务层
    • Destiny.Core.Flow.Dtos 前端与后端交互Dto模型定义。
    • Destiny.Core.Flow.IServices 业务接口定义。
    • Destiny.Core.Flow.Services 业务接口实现。
    • Destiny.Core.Flow.Model 数据库实体模型定义
    • Destiny.Core.Flow.API API接口定义。
    • Destiny.Core.Flow.AuthenticationCenter IdentityServer授权中心
    • to do…
  • Moduls 模块层
    • Destiny.Core.Flow.Aop 模块 使用AspectCore来实现AOP动态代理。
    • Destiny.Core.Flow.AutoMapper 模块
    • Destiny.Core.Flow.Caching 缓存接口定义模块
    • Destiny.Core.Flow.Caching.CSRedis 基于CSRedis实现缓存功能模块
    • Destiny.Core.Flow.Consul 服务发现模块
    • Destiny.Core.Flow.SwaggerUI 模块
    • Destiny.Core.Flow.MongoDB 模块 集成MongoDB分页查询,添加,更新,删除。实现MongoDB单独仓储

基于Net/Core,快速搭建 API & SPA 及微服务应用组织

BASE NETCORE (VUE) PROJECT TEAM

每一个.NET开发者都可以通过自己的开源项目(最好可以配套简单发表些文章)在这里进行分享,BCVP开发者组织的意义就是激发和挖掘更多的作品,可能偏基础,但是都会有价值。目的就是希望:每个人能将从社区学到的知识,进行自己消化和总结,浓缩成一个个独立的项目,接着投入到社区,最后让更多的初学者去了解、去学习、去思想碰撞,从而达到学习来源于社区,最后反哺于社区的良好循环目的,我们都是学生,也都是下一批初学者的老师,这才应该是一个社区正向推动的方法。

地址: https://github.com/BaseCoreVueProject

可以在Home仓库里,查看具体的流程说明,只要你愿意分享,就来吧。

0 人点赞