# DF.OpenAPI.OpenSource
**Repository Path**: idkook/df.-open-api.-open-source
## Basic Information
- **Project Name**: DF.OpenAPI.OpenSource
- **Description**: DF.OpenAPI开源版本。.net低代码开发平台,支持.net6~.net8
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 38
- **Created**: 2026-04-08
- **Last Updated**: 2026-04-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#  DF.OpenAPI 开源系统
前后端分离,开箱即用,基于 .NET 的多租户后台管理系统。
## 系统介绍
DF.OpenAPI 是基于 Admin.NET 二次开发的开源多租户后台管理系统。采用前后端分离技术(前端使用 Vue.js,后端使用 .NET 6~.NET 8),支持 Docker 及各类平台部署 (Windows/Linux),数据库支持多种类型 DB 及 ORM 框架。在原有基础上做了大量功能扩充。
- **后端 .NET 框架**:集成 EF Core、多租户、多种缓存、数据校验、鉴权、单机事件总线、跨进程(分布式)事件总线、动态 API、通讯、远程请求、分布式任务调度、gRPC、Consul 服务治理、性能追踪等众多技术。
- **前端功能**:用户、角色(功能、数据权限)、职位、组织机构、菜单、字典、日志、多应用管理、文件管理、分布式定时任务、工作流、报表、数字孪生大屏设计、H5 DIY 设计器、在线聊天、代码生成、数据模型管理等功能。
- **部署方式**:前后端均支持 Windows/Linux Docker 部署。
**项目近期新增功能**
1. 大屏设计器新增3D模型组件,支持3d模型渲染大屏。[3D大屏示例](http://116.198.234.36:8088/#/bigscreen/publish?code=bigScreen_791535686275142)
2. 新增 3D 模型编辑器。
3. 新增 H5 DIY 模块,支持移动 APP 拖拽式设计及发布。
**如果项目对您开发有帮助,请在 Gitee 源码中,点击右上角 ⭐Star⭐ 关注 ,感谢支持开源!**
源码地址:[DF.OpenAPI](https://gitee.com/jidengfeng/df.openapi.git)。
> **注意**:目前开源内容包含核心基础功能。部分企业级高级功能(如复杂报表、流程引擎高级特性、大屏设计器后端完整实现、H5 APP 管理等)需要与作者联系。
**帮助文档可参考:**
Furion 帮助文档:[Furion Docs](https://furion.net/)
Ant Design Vue 帮助文档:[Ant Design Vue](https://1x.antdv.com/docs/vue/introduce-cn)
OpenAPI帮助文档:请参考系统内部MD文档 [MD管理](http://116.198.234.36:8088/#/entmarkdownsmgr)
项目采用 DDD 模型进行二次改造。
前端技术:Vue-Antd-Pro (组件:Ant Design Vue 1.7.8), Vue 2.6.1, Vuex 3.6.2
后端技术:.NET 6.0~.NET 8.0 框架(微服务架构)


















### 在线体验
开发者租户:演示环境【超管】权限暂不开放
管理员:用户名:Admin,密码:123456。目前部分删除功能做了禁用,防止误操作,影响其它人员体验。
地址:[http://116.198.234.36:8088/](http://116.198.234.36:8088/)
流程各节点审批人员账号:
|用户名|密码|
|-|-|
|liuyi|123456|
|chener|123456|
|zhangsan|123456|
|wangwu|123456|
|zhaoliu|123456|
|lisi123|123456|
|zhouba|123456|
|sunqi|123456|
### 技术交流
欢迎通过 Gitee Issues 或 Discussions 进行技术交流与问题反馈。
技术交流QQ:270204536
### 微信交流:
## 系统扩充功能(只列出与原系统差异化功能)
### 平台管理
- **开发管理**
1. **系统配置**

2. **缓存管理(新增)**
新增缓存管理功能,可对当前运行系统中所有缓存 key 值进行查看或修改。支持权限控制(默认只有超级管理员可修改,其它用户只可查看)。

- **系统监控**
1. **服务监控**
优化原状态监控频次,从原来的 3 秒改为 10 秒检测;同时支持页面在 `` 开启或关闭状态时,只有服务页面处理激活状态时,才会向服务器请求检测,降低了非激活页面时无效请求损耗;后端采集数据采用缓存机制,提高效率;另增加了系统其它信息采集维度。

- **任务调度**
1. **任务管理**
1.1 扩充了任务级别类型(支持:后台服务、系统任务、自定义任务)
原系统只支持用户定时类的自定义任务。
**后台任务**:指编码服务实现类中,继承了 BackgroundService 实现的后台服务(权限:只读)
**系统任务**:指编码服务实现类中,基于 ISpareTimeWorker 实现的系统服务,且编码指定 TaskSystemType=TaskSystemType.System。(权限:只读)
**自定义任务**:是通过任务调度管理,在管理平台新建的定时任务、或编码服务 ISpareTimeWorker 基于实现的系统服务,且编码指定 TaskSystemType=TaskSystemType.Custom。(权限:编辑、修改、停止、启动)
1.2 列表支持任务集群运行状态显示

1.3 新增了微服务下任务集群管理(支持集群任务查看、编辑、单个开关、批量开关操作)

- **开发示例**
罗列了百度 ECharts 各类使用示例、G2Plot 统计图库、Peity 图表库
- **代码生成**
1. **数据源表管理**
开发框架在原有 code-first、DB-first 基础上,提供了可视化的建表操作,及联动代码生成操作。
支持表:增、删、改、关联关系、索引。

支持表字段:增、删、改、主键……

2. **代码生成**
支持直接生成到项目中、或生成代码压缩包下载到本地。
支持前端操作界面、后端 API、业务逻辑、DB 实体等一键生成。(支持 code-first/db-first/数据源表一键生成管理能页面)



3. **表单设计器**
增加了二次自开发组件(城市乡区、部门选择器、人员选择器、电子签名)

### 运营管理
支持多租户管理
### 系统管理
- **组织架构**
1. **机构管理**
增加机构类型:一级……四级,用于区分不同层级结构。
2. **职位管理**
增加:是否管理,用于流程审批时,指定审批人(部门负责人)时使用。
- **权限管理**
1. **用户管理**
管理员类型:增加后台 API 作业用户(后台服务调用接口时,专供服务权限验证的用户)。此功能只有超级管理员可见。其它用户新建用户时默认为普通用户
增加:直属上级,用于流程审批时,指定审批人(上级)时使用
增加:审批者开关,用于流程审批时,指定审批人(部门审批人)时使用
2. **角色管理**
增加:角色类型(集团、加盟商、门店),默认为集团。此功能只有超级管理员可见
- **通知公告**
1. **公告管理**
支持:超文本内容发送、站点超连接页面指定数据跳转、外部超连接,支持指定成员发送
2. **已收公告**
支持:超文本内容、站点超连接页面指定数据跳转、外部超连接

- **文件管理**
1. **系统文件**
支持文件下载、图片预览。
### 企业功能(新增)
此应用模块下,提供了强大的流程审批、报表管理模块。
- **流程管理**
1. **我的事务**
1.1 **审批首页**
用于总览查看流程任务、及全新任务发起

开始发起操作,表单内容填写

设置审批人员

点击保存(保存到草稿箱)。点击提交则发起申请
1.2 **待我处理**
此处功能为,所有待我审批的任务,需要逐一进行审批。

可对发起人的任务表单进行修改。
**审批功能有:同意、拒绝、转交、抄送、退回、加签、跟踪、评论**
审批意见填写:支持审批意见、文件、图片、电子签名

另一个流程在发起后,所有参与的审批人员均可查看流程:表单、审批人、流程图、流转记录、流转进度。
表单:

审批人员清单

流程图

流转记录

流转进度

1.3 **已处理的**
此功能为,所有已经我管理的任务,可进行查看。另如果在刚审批后,后续审批人还未开始时,系统是支持撤回的,撤回修改后可重新审批。

1.4 **抄送我的**
此功能为,所有抄送我的审批任务,可供查看
1.5 **我跟踪的**
当审批人员在审批时,开启了**跟踪**,则跟踪任务会在此功能列表中显示,任务的每个审批进度,跟踪人员均能收到进度通知消息。
1.6 **我发起的**
此处为用户发起的任务列表,可查看任务流转进度。
发起后可支持的操作:
- **撤回**:当用户发刚发起后,未经其它人员审批时,这时是可以进行撤回,重新修改后发起的。
- **催办**:当任务比较紧急时,用户可发起催办。催办后的任务会标记为加急,同时审批人员回收到催办通知。
- **作废**:用户可随时作废发起的任务。

1.7 **我的草稿**
所有发起的审批,在未提交之前均回存入草稿。这时可修改、提交、删除。

2. **流程管理**
1.1 **流程实例**
实例管理人员,会有此功能。可对自己负责的流程实例进行管理。可进行批量操作:
- **退回**:退回后实例将被退返到发起人的草稿箱,并通知流程发起人重新提交流程
- **挂起、激活**:用于将任务暂停、和恢复操作
- **作废**:将申请人的任务进行作废
1.2 **分组管理**
此功能管理人员使用,可为任务模板进行分组。
1.3 **模板管理**
核心功能,用于新建、修改、删除流程模板

可对流程模板进行管理


模板编辑,分为四步:基础信息、表单设计、流程设计、更多配置
基础信息:

表单设计:

流程设计:

节点设置-审批设置:

节点设置-表单权限:

节点设置-高级设置:


节点设置-通知设置

可根据需要自定义通知消息模板
更多配置(打印)

- **报表管理**
1. **数据源管理**
提供报表,所需数据库的数据源维护。


系统支持多种数据库,目前支持主流关系数据库。
2. **数据集管理**
报表所有的数据集管理。

数据集内容维护:

目前数据集支持 SQL、API 请求、JSON 数据集等。
3. **模板管理**
报表支持文本模板(Word 形式)、表格模板(Excel 形式)
**文本模板**


文本预览

文本打印

支持导出 Word 文档。
**表格模板**

表格预览

表格打印(如果打印选区超出A4纸大小:超高、超宽,系统会自动分页打印)

支持导出 Excel 文件。
- **智能大屏**
提供多种大屏模板示例。新增功能,支持大屏设置。基于开源 DataRoom 设计,后端采用 .NET 6.0+ 开发。
具体可参考相关文档《大屏设计器使用说明》



- **H5 APP 管理**
支持移动 APP 页面 DIY,可以根据需要拖拽式定制自己的 app 页面及功能,支持页面 diy,数据 diy,组件 diy,底部导航 diy





- **MD 管理**
支持 Markdown 文档,增、删、改、预览。(管理员可操作)
普通用户只可查看文档。此处理文档主要是针对系统使用、开发的帮助文档。
### ChatAPI(新增)
此应用模块用于对接大语言模型 API 调用服务。支持对不同模型、调用次数、请求返回数据长短进行统计与管理。(注:核心计费及第三方 AI 接口配置需自行接入)。
### 系统常规设置
支持用户对界面个性化设置,并将设置信息保存到云端。用户在不同设备上均可以自己的界面设置进行办公。

设置功能如下:

- **界面自定义配色**

- **菜单 keepAlives 模式**
如果开启后,则页面会本地缓存,每次切换功能时不刷新页面数据,可提高访问速度。
如果关闭后,则关闭页面缓存,每次切换功能页均会发新数据。关闭后多页签模式的顶部菜单会显示刷新页面菜单。

### 顶层菜单栏按钮
- **帮助**:支持跳转到项目文档地址。
- **全屏**:系统全屏开关。
- **通知**:支持通知、公告,最新 6 条信息展示,支持一键标记已读。

### 消息发送:支持即时(在线、离线)聊天消息收发-(功能内部 IM)

当在未打开聊天面板时,收到消息会以系统提示的方式弹出,点击可打开面板。

打开后的面板,支持文字、表情、图片发送。**支持全员群发消息**

### 消息发送,增加 AI 助手

### 支持系统内部不同应用下页面跳转,及数据过滤:
站内点转示例链接:
`#/welcome?route=entFlowHome&appCode=enterprise&command=shareDetail&id=543672182898757`
route:功能路由
appCode:应用code
command、id:自定义参数,可在跳转的页面根据参数,实现数据过滤逻辑
## .NET 框架新增功能
### 架构采用 DDD 模型

### 后端源码目录结构

### API 授权验证
原项目前后端分离、API 请求采用 JWT+TOKEN 进行认证,但未做 API 权限管理及验证。
扩充了 API 权限验证后,未设置权限的用户通过 token 调用 API 是无权访问的,提高了系统安全性。
### 微服务功能
例如:跨平台事件总线、跨服务跟踪等。
架构核心思想:高内聚、低耦合、高性能、高可用,以业务角度(分析上下文界限,建模。业务分域->域建模->存储建模->存储实现)
1. 支持 Consul 微服务注册及发现,支持实时检测可用节点,负载算法:平均、随机、加权
2. 支持多种配置方式:(数据库配置、环境变量、本地配置、云配置中心:Apollo 配置)
3. 扩展分布式消息总线,支持分布式事务,保障微服务 CAP 原则(通过 EventId & CreatedTime 组合约束 保证不重复消费事件、通过消息队列中间件保障数据可靠性)。中间件封装 Rabbitmq、Kafka、Zookeeper(分布式链路 CQRS、命令总线、EDA、事件驱动、事件溯源、消息队列)。
最后达到一点事件发布,随机分散多个定阅节点中只有一个有权响应(可有效防止事件消息重复处理)
4. 封装执行程序性能分析器、及跨服务性能跟踪(MiniProfiler、Prometheus)
5. 断路器由 Consul 计算熔断(自动健康检测)
### 外放 API 管理
可快速创建自己的 API 接口,支持认证、授权、及后端统计分析
### 多种通信协议
支持 HTTP/HTTPS/gRPC/WebSocket, 支持 gRPC 根据服务自动生成 protos 文件生成
### 支持 DB 代码:code-first、db-first、和 UI 操作生成
### 项目、代码命名规范
【工程命名规范】
公司名缩写.项目名称:大驼峰命名
【模块命名规范】
公司名称缩写.项目名称.DDD所属层.功能类型.业务模块
所属层(Presentation、Application、Domain、Infrastructure、Plugins、Tools、Test)
功能类型(非必要项。WebApi、GrpcApi、WebApp、ClientServices……)
【文件夹命名规范】
大驼峰命名
【类名】:大驼峰命名、基类:Base+大驼峰
【接口】:I+大驼峰命名
【常量】:全部大写,每个单词之间用*连接
【枚举】:大驼峰命名
【私有变量、参数名】:小驼峰命名
【属性】:大驼峰命名
【函数】:大驼峰命名
【类内部只读变量】:*+小驼峰
## 未来计划功能
1. 前端增加桌面系统 WPF/WINFORM 平台支持。
## 特别鸣谢
Furion:[https://gitee.com/dotnetchina/Furion](https://gitee.com/dotnetchina/Furion)
Ant Design of Vue:[https://1x.antdv.com/docs/vue/introduce-cn](https://1x.antdv.com/docs/vue/introduce-cn)
k-form-design:[https://gitee.com/kcz66/k-form-design](https://gitee.com/kcz66/k-form-design)
Zack.EFCore.Batch:[https://github.com/yangzhongke/Zack.EFCore.Batch](https://github.com/yangzhongke/Zack.EFCore.Batch)
smart-flow-design:[https://gitee.com/crowncloud/smart-flow-design](https://gitee.com/crowncloud/smart-flow-design)
luckysheet:[https://github.com/dream-num/Luckysheet](https://github.com/dream-num/Luckysheet)
DataRoom:[https://gitee.com/gcpaas/DataRoom](https://gitee.com/gcpaas/DataRoom)
page-design: [https://github.com/CullenNg/page-design](https://github.com/CullenNg/page-design)
niucloud uni-app:[https://gitee.com/niucloud-team/niucloud-admin-java/tree/master/uni-app](https://gitee.com/niucloud-team/niucloud-admin-java/tree/master/uni-app)