基于.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. PostMan 快快走开, ApiFox 来了, ApiFox 强大的Api调用工具

    简介 为什么要用ApiFox呢, 一般现在程序员开发测试, 一般都是PostMan, PostWoman等Api调用工具, 我之前也是一直在用, 但是今天我发现了一款相比于Postman更加好用的工具 ...

  2. 【算法】Floyd算法

    什么是Floyd Floyd用于求最短路程.举个栗子,给你一张图,让你求出点[1]到点[5]的最短路程,你会怎么求? (画图工具:CS Academy) 如上图,有向边分别是 1->2  1-& ...

  3. 一些有趣的B+树优化实验

    作为目前数据库引擎的两种主要数据结构,LSM-tree和B+-tree在业界已经有非常广泛的研究.相比B+-tree,LSM-tree牺牲一定的读性能以换取更小的写放大以及更低的存储成本,但这必须建立 ...

  4. 2021.06.19【NOIP提高B组】模拟 总结

    T1 题意:有 \(n\) 个点,有 \(m\) 条边,每次加入一条到图中 问每个点的度数大于零且都是偶数的子图的个数 考试直接判断两点是否出现,出现则更新 其实只要改成并查集判断即可 原理:其实就是 ...

  5. 隐式转换导致的cpu负载近100%

    1.背景:从昨天晚上通过钉钉和邮箱一直接收到频繁报cpu负载超过90%,刚好BI同事晚上.凌晨在线上配合审计频繁DML数据库(备注:BI有一个同事有个库的DML权限,后面等审计完会收回)加上我线上线下 ...

  6. Linux Cgroup v1(中文翻译)(4):Block IO Controller

    Block IO Controller 1 概览 cgroup子系统blkio实现了block io控制器.无论是对存储结构上的叶子节点和还是中间节点,它对各种IO控制策略(proportional ...

  7. 开源流程引擎Camunda BPM如何扩展数据库表

    前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注 ...

  8. SimpleMarkDown编辑器离线版以及桌面应用版上线

    之前,我们开发了Web版本SimpleMarkDown编辑器.今天,我们又推出了离线版和桌面应用版. 主要功能: 页面简约: 实时保存: 一键清空内容: 支持微信公众号.知乎.稀土掘金.CSDN等多个 ...

  9. 「快速学习系列」我熬夜整理了Vue3.x响应性API

    前言 Vue3.x正式版发布已经快半年了,相信大家也多多少少也用Vue3.x开发过项目.那么,我们今天就整理下Vue3.x中的响应性API.响应性APIreactive 作用: 创建一个响应式数据. ...

  10. SAP Web Dynpro-集成消息

    您可以使用消息管理器将消息集成到消息日志中. 您可以使用Web Dynpro代码向导打开消息管理器. 您可以从工具栏中打开Web Dynpro代码向导. 当您的ABAP工作台处于更改模式或编辑视图或控 ...