沉静岁月,淡忘流年
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仓库里,查看具体的流程说明,只要你愿意分享,就来吧。
加入我们