OSSCore 开源解决方案介绍
基于.NetCore的积木化服务框架,主要将常规解决方案进行进一步的抽象下沉形成相关基础可选框架单元(在Framework 目录),并在此基础上实现常规系统模块(在Modules 目录),如用户管理,权限管理等。
当前项目,目的是为了提供一个思路,而不是模板。除了 Framework 下提供的基础框架,OSSCore还有其他多个独立的中间件类库,见文档下方。
已实现常规模块
- Portal 用户门户
用户登录注册,支持以下方式自由组合:
用户类型:管理员,用户
账号类型:手机号,邮箱,第三方(待完善)
登录方式:密码,动态码,扫码(进行中),Oauth(待完善),小程序(待完善)
同时还包括:用户/管理员管理,权限码管理,角色管理,以及登录动态码相关模板配置。
- Notify 通知服务
主要包含通知模板管理,通知渠道(已接通华为云短信服务,阿里云短信服务进行中,邮箱使用stmp协议)
同时为方便调试,提供系统测试通道,发送后会返回具体发送内容到交互端
安装调试
- 数据库脚本见 Docs/oss.core.sql,默认登录账号:admin@osscore.com 111111
- 服务接口层
正常微服务模块相互之间可以独立部署,为了方便学习,提供了单点入口项目 OSS.Core.Module.All.WebApi ,直接运行即可(如果需要独立模块处理的,修改对应其他模块的client通过Http访问即可。)
在仓储层因为使用了读写分离,配置 appsettings.json 的连接串时配置如下节点(或者配合仓储层自行定义):"ConnectionStrings": {
"WriteConnection": 写连接串,
"ReadConnection": 读连接串
}
- 交互层-管理端 (在 ** FrontEnds\AdminSite ** 目录)
本地调试请配置 /config/proxy.ts 对应的代理接口地址。当前项目使用AntDesignPro框架,不熟悉如何调试运行的需要先行学习。
系统解决方案框架:
这里主要是介绍服务层解决方案框架,在Framework文件夹。通过目录结构展示如下:
Context 上下文
OSS.Core.Context 全局上下文(App,Tenant,User),通过全局 CoreContext 静态类访问。
OSS.Core.Context.Attributes 上下文请求拦截中间件扩展处理
Extension
OSS.Core.Extension.Cache 针对全局IResp接口的缓存方法扩展
OSS.Core.Extension.PassToken 全局行级数据安全通行码扩展方法
OSS.Core.Extension.Mvc.Configuration Config配置全局扩展
Captcha (验证码)
OSS.Core.Extension.Mvc.Captcha 验证码请求拦截中间件扩展(人机校验)
OSS.Core.Extension.Mvc.Captcha.Ali 阿里云验证码请求拦截中间件扩展实现
Core 核心模块
OSS.Core.Domain 核心框架 - 领域实体(根)基础类库
OSS.Core.Service 核心框架 - 领域服务逻辑层基础类库
OSS.Core.WebApi 核心框架 - 领域协议层(WebApi)基础类库
Repository 仓储
OSS.Core.Rep.Dapper 仓储层基础封装(基于开源Dapper类库)
OSS.Core.Rep.Dapper.Mysql 基于Mysql的仓储层进一步封装
Opened
OSS.Core.Domain.Opened 核心框架 - 领域实体(根)基础类库的全局公共部分类库
Component
OSS.Core.Comp.DirConfig.Mysql 基于Mysql的字典配置管理组件。
其他相关独立开源组件
除了以上核心的解决方案框架,本系统在底层已经使用,或将来会使用:
- OSS.Tools,通用工具中间件,分别包含:缓存,配置,日志,定时器,网络请求 中间件
- OSS.DataFlow, 异步消息中间件
- OSS.PipeLine, 流程引擎框架
- OSS.Clients.Pay, 支付相关客户端SDK
- OSS.Clients.SNS, 社交相关客户端SDK
可以关注OSSCore公众号,关注后续更新
OSSCore 开源解决方案介绍的更多相关文章
- #研发解决方案介绍#Tracing(鹰眼)
郑昀 最后更新于2014/11/12 关键词:GoogleDapper.分布式跟踪.鹰眼.Tracing.HBase.HDFS. 本文档适用人员:研发 分布式系统为什么需要 Tracing? ...
- #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案
郑昀 基于李丹和刘奎的文档 创建于2014/12/5 关键词:监控.dashboard.PHP.graphite.statsd.whisper.carbon.grafana.influxdb.Pyth ...
- #研发解决方案介绍#Recsys-Evaluate(推荐评测)
郑昀 基于刘金鑫文档 最后更新于2014/12/1 关键词:recsys.推荐评测.Evaluation of Recommender System.piwik.flume.kafka.storm.r ...
- 【转帖】四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho
四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho 1 BI系统的简述 从技术角度来说 BI 包含了 ETL.DW.OLAP.DM等多环节.简单的说就是把交易系统 ...
- (转)基于即时通信和LBS技术的位置感知服务(二):XMPP协议总结以及开源解决方案
在<基于即时通信和LBS技术的位置感知服务(一):提出问题及解决方案>一文中,提到尝试使用XMPP协议来实现即时通信.本文将对XMPP协议框架以及相关的C/S架构进行介绍,协议的底层实现不 ...
- 面向中国 Azure 开发者发布开源解决方案指南
发布于 2014-05-23 作者 刘 天栋 Azure 是一个开放.灵活的云平台,可支持大量且不断增长的开源应用程序.框架和语言.微软及微软开放技术通过与全球及中国本地的开源社区不懈地合作,将 ...
- 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍
揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...
- IOS-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34 阅读:533 评论:0 收藏:0 [点我收藏+] ...
- iOS开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...
随机推荐
- 105_Power Pivot财务科目(层级深度&筛选深度)
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 在财务科目中,需要按照科目层级来显示:在excel中都是用公式来实现,而且对于数据的管理及更新是一件头痛的事情, ...
- 07makefile文件
makefile 规则: 目标: 依赖 (tab)命令 第一个版本: main: main.c fun1.c fun2.c sum.c gcc -o main main.c fun1.c fun2.c ...
- 关于一些lrzsz的知识
问题:如何从windows轻松上传文件到Linux? 方法:容器里面:apt-get update && apt-get install lrzsz 有yum的情况:yum -y in ...
- GitHub 简介
用详细的图文对GitHub进行简单的介绍. git是一个版本控制工具,github是一个用git做版本控制的项目托管平台. 主页介绍: overview:总览.相当于个人主页. repositorie ...
- CabloyJS自带工作流引擎的文档清单
文档清单 CabloyJS自带工作流引擎文档已经整理出来,欢迎大家围观.拍砖 介绍 介绍 演示:CMS审批工作流 单元测试用例集 流程定义 基本概念 JSON规范 listener规范 listene ...
- 基于Kubernetes v1.24.0的集群搭建(三)
1 使用kubeadm部署Kubernetes 如无特殊说明,以下操作可以在所有节点上进行. 1.1 首先我们需要配置一下阿里源 cat <<EOF > /etc/yum.repos ...
- 【主流技术】ElasticSearch 在 Spring 项目中的实践
前言 ElasticSearch简称es,是一个开源的高扩展的分布式全文检索引擎. 它可以近乎实时的存储.检索数据,其扩展性很好,ElasticSearch是企业级应用中较为常见的技术. 下面和大家分 ...
- jetbrains 系列产品无限试用
无限试用插件 在线安装 需要添加第三方插件仓库地址 设置 -- Manage Plugins Reposition... -- + https://plugins.zhile.io plugins 中 ...
- python 基础知识-day10(面向对象)
1.面向对象的概念 拥有共同属性的一类进行归类的过程叫做面向对象. 2.注意事项 class定义类的时候,类名的首字母必须大写 3.面向对象案例 1 class Person(object): 2 d ...
- RPA应用场景-营业收入核对
场景概述营业收入核对 所涉系统名称 SAP ,Excel,门店业务系统 人工操作(时间/次) 4 小时 所涉人工数量 6 操作频率每日 场景流程 1.每日13点起进入SAP查询前一日营业收入记账情况: ...