基于.NetCore的积木化服务框架,主要将常规解决方案进行进一步的抽象下沉形成相关基础可选框架单元(在Framework 目录),并在此基础上实现常规系统模块(在Modules 目录),如用户管理,权限管理等。

当前项目,目的是为了提供一个思路,而不是模板。除了 Framework 下提供的基础框架,OSSCore还有其他多个独立的中间件类库,见文档下方。

已实现常规模块

  1. Portal 用户门户
    用户登录注册,支持以下方式自由组合:

用户类型:管理员,用户
账号类型:手机号,邮箱,第三方(待完善)
登录方式:密码,动态码,扫码(进行中),Oauth(待完善),小程序(待完善)

同时还包括:用户/管理员管理,权限码管理,角色管理,以及登录动态码相关模板配置。

  1. Notify 通知服务
    主要包含通知模板管理,通知渠道(已接通华为云短信服务,阿里云短信服务进行中,邮箱使用stmp协议)
    同时为方便调试,提供系统测试通道,发送后会返回具体发送内容到交互端

安装调试

  1. 数据库脚本见 Docs/oss.core.sql,默认登录账号:admin@osscore.com 111111
  2. 服务接口层
    正常微服务模块相互之间可以独立部署,为了方便学习,提供了单点入口项目 OSS.Core.Module.All.WebApi ,直接运行即可(如果需要独立模块处理的,修改对应其他模块的client通过Http访问即可。)
    在仓储层因为使用了读写分离,配置 appsettings.json 的连接串时配置如下节点(或者配合仓储层自行定义):
    "ConnectionStrings": {
    "WriteConnection": 写连接串,
    "ReadConnection": 读连接串
    }
  1. 交互层-管理端 (在 ** 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的字典配置管理组件。

其他相关独立开源组件

除了以上核心的解决方案框架,本系统在底层已经使用,或将来会使用:

  1. OSS.Tools,通用工具中间件,分别包含:缓存,配置,日志,定时器,网络请求 中间件
  2. OSS.DataFlow, 异步消息中间件
  3. OSS.PipeLine, 流程引擎框架
  4. OSS.Clients.Pay, 支付相关客户端SDK
  5. OSS.Clients.SNS, 社交相关客户端SDK

可以关注OSSCore公众号,关注后续更新

OSSCore 开源解决方案介绍的更多相关文章

  1. #研发解决方案介绍#Tracing(鹰眼)

    郑昀 最后更新于2014/11/12 关键词:GoogleDapper.分布式跟踪.鹰眼.Tracing.HBase.HDFS. 本文档适用人员:研发   分布式系统为什么需要 Tracing?   ...

  2. #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案

    郑昀 基于李丹和刘奎的文档 创建于2014/12/5 关键词:监控.dashboard.PHP.graphite.statsd.whisper.carbon.grafana.influxdb.Pyth ...

  3. #研发解决方案介绍#Recsys-Evaluate(推荐评测)

    郑昀 基于刘金鑫文档 最后更新于2014/12/1 关键词:recsys.推荐评测.Evaluation of Recommender System.piwik.flume.kafka.storm.r ...

  4. 【转帖】四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho

    四种BI 开源工具介绍-SpagoBI,openI,JasperSoft,Pentaho 1 BI系统的简述 从技术角度来说 BI 包含了 ETL.DW.OLAP.DM等多环节.简单的说就是把交易系统 ...

  5. (转)基于即时通信和LBS技术的位置感知服务(二):XMPP协议总结以及开源解决方案

    在<基于即时通信和LBS技术的位置感知服务(一):提出问题及解决方案>一文中,提到尝试使用XMPP协议来实现即时通信.本文将对XMPP协议框架以及相关的C/S架构进行介绍,协议的底层实现不 ...

  6. 面向中国 Azure 开发者发布开源解决方案指南

     发布于 2014-05-23 作者 刘 天栋 Azure 是一个开放.灵活的云平台,可支持大量且不断增长的开源应用程序.框架和语言.微软及微软开放技术通过与全球及中国本地的开源社区不懈地合作,将 ...

  7. 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍

    揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...

  8. IOS-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34      阅读:533      评论:0      收藏:0      [点我收藏+] ...

  9. iOS开发-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...

随机推荐

  1. 128_Power BI父级排名TOPN子级动态展示

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 前些天在和朋友交流Power BI中有这样一个需求,按照父级排名后,需要显示出父级TOPN的子级明细. 如下&l ...

  2. 在Vmware虚拟机(win10)中安装逍遥安卓模拟器遇到的问题及解决办法

    0x00 下载正确的安装包 逍遥模拟器官网:逍遥安卓模拟器下载官网 (xyaz.cn) 为什么要强调下载正确的安装包? 因为我在第一次下载的时候就下错了,下的是 逍遥模拟器 - 电脑玩手游神器 (me ...

  3. 大数据分析——sklearn模块安装

    前提条件:numpy.scipy以及matplotlib库的安装 (注:所有操作都在pycharm命令终端进行) ①numpy安装 pip install numpy ②scipy安装 pip ins ...

  4. 学习Java的第十五天——数学运算

    学习内容:数学运算 1.三角函数运算 代码实现: public class 三角函数运算 { public static void main(String[] args) { // TODO 自动生成 ...

  5. java-去除html中的标签或者元素属性(正则表达式/jsoup)

    业务场景: 如一篇使用富文本编辑器编辑的新闻稿,需要在列表页面截取前200字作为摘要,此时需要去除html标签,截取真正的文本部分. /** * 删除Html标签 */public static St ...

  6. 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》

    论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...

  7. 开源的.Net 工作流引擎Elsa初试——创建工作流服务器和图形化工作流配置管理应用

    微软的Workflow Foundation基于.Net Framework,并且没有向.Net Core迁移的计划.我们的很多项目使用了工作流引擎,这些项目向.Net Core以及更高版本迁移时遇到 ...

  8. React简单教程-5-使用mock

    前言 一个前后端分离的项目,前端人员需要对接后端的接口.如果在后端的接口没有开发好,或者没有测试版可以对接的情况下,前端人员也不能坐等后端接口写好后再开始开发. 一个项目的,理想情况下接口的规范应该是 ...

  9. 定制.NET 6.0的依赖注入

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 在本章中,我们将学习ASP.NET Core的依赖项注入(DI)以及如何自定义它. ...

  10. SQL Server默认数据库存放位置

    更新记录 2022年6月13日 发布. Windows操作系统 C:\Program Files\Microsoft SQL Server\MSSQLxx_xx.MSSQLSERVER\MSSQL\D ...