# approve-core **Repository Path**: lhmfsh/approve-core ## Basic Information - **Project Name**: approve-core - **Description**: 工作流后端 - **Primary Language**: C# - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-10-29 - **Last Updated**: 2024-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 技术框架说明 ### 1、我们自豪地推出基于 .NET Core 的 BPMN(业务流程建模与标注)解决方案。这款工具旨在帮助企业实现业务流程的高效建模、优化和自动化。通过结合 BPMN 的标准化图形表示和 .NET Core 的强大技术优势,我们为您提供了一款跨平台、高性能、易扩展的业务流程管理工具。 主要优势 跨平台支持:我们的 BPMN 解决方案基于 .NET Core 构建,能够在 Windows、Linux 和 macOS 上无缝运行,确保您的业务流程在多种操作系统环境下都能稳定运行。 高性能与低资源消耗:.NET Core 以其高性能和低资源消耗著称,能够确保我们的 BPMN 解决方案在高负载下也能稳定运行,满足企业的高并发需求。 强大的生态系统:借助 .NET Core 丰富的库和工具支持,开发者可以快速构建和扩展 BPMN 解决方案。我们采用了 Entity Framework Core 进行数据持久化,并使用 ASP.NET Core 构建 Web 接口和服务。 微服务架构:我们的 BPMN 解决方案设计为微服务架构,能够独立部署和扩展,提高系统的灵活性和可维护性,确保您的业务流程管理系统能够快速适应变化。 关键功能 流程引擎:解析和执行 BPMN 模型,支持流程的自动化执行和管理。您可以通过自定义代码或使用现有的开源库(如 Camunda BPM 引擎)来实现复杂的业务流程。 数据持久化:使用 Entity Framework Core 或其他 ORM 工具持久化业务流程数据,包括流程实例、任务状态和事件日志等,确保数据的安全和一致性。 用户界面:基于 ASP.NET Core 和前端框架(如 React 或 Angular)构建直观的用户界面,展示 BPMN 模型和流程执行状态。用户可以通过界面启动新流程、查看任务和提交表单等。 API 接口:提供 RESTful API,与 BPMN 流程引擎进行交互。其他系统和服务可以通过 API 与 BPMN 解决方案进行无缝集成,提升业务流程的自动化水平。 监控和日志:实现全面的监控和日志功能,跟踪流程执行情况,捕获和分析错误。借助 Prometheus 和 Grafana 等工具进行监控和可视化,确保系统运行的透明度和可维护性。 [地址](https://gitee.com/shzeji/approve-core) 2、 前端基于 vue 和 element-ui、draw.io实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件 目前版本为 v1.0+ 基于 vue-cli 进行构建,默认 master 分支将不支持国际化,有需要的请使用i18n分支,它会和 master 保持同步更新.该项目不支持低版本浏览器(如 ie),有需求请自行添加 polyfill 你需要在本地安装 node 和 git。本项目技术栈基于 ES2015+、vue、vuex、vue-router 、vue-cli 、axios 和 element-ui,所有的请求数据都使用Mock.js进行模拟,提前了解和学习这些知识会对使用本项目有很大的帮助。[地址](https://gitee.com/shzeji/approve-web) ![输入图片说明](docimagekuangjia.png) ### 简介 本项目使用.NET Core技术框架,开发的一个高效、灵活且易于扩展的开源工作流管理系统。它旨在帮助开发者和企业轻松构建、管理和监控复杂的业务流程。无论是简单的任务自动化还是复杂的多步骤工作流,项目都能提供强大的支持。 尽管BPMN定义了非常多,非常准确的图标,但是对于我们来说,我们只采用最简单的流程图,为了的是有比较陡峭的学习曲线,降低大家的使用难度。 ![输入图片说明](docimage11.png) ![输入图片说明](docimage12.png) ### 特性 1. 这里是列表文本直观的这里是列表文本流程配置界面:通过友好的图形化界面,用户可以轻松设计和管理工作流 1. 这里是列表文本灵活的任务调度:支持定时任务、事件驱动任务以及手动触发任务 1. 这里是列表文本自定义表单:按用户需求,0代码实现审批页面配置,实现友好交互展示 1. 可扩展性:模块化设计,允许用户根据需求添加自定义插件和扩展 1. 实时监控与日志:提供详细的任务执行日志和实时监控功能,帮助用户快速定位和解决问题 1. 高可用性和容错性:使用微服务架构,支持应用横向扩展,确保工作流的高可用性和可靠性 1. API集成:提供丰富的RESTful API接口,方便与其他系统进行集成 ### BPMN涉及元素 ![输入图片说明](docimageyuansu1.png) ![输入图片说明](docimageyuansu2.png) ![输入图片说明](docimageyuansu3.png) ![输入图片说明](docimageyuansu5.png) ![输入图片说明](docimageyuansu6.png) ### BPMN数据样例 ![输入图片说明](docimageshuju1.png) ``` SequenceFlow_1cjdzjy SequenceFlow_10nqqo2 SequenceFlow_1qh7kny SequenceFlow_10nqqo2 SequenceFlow_1tez93y SequenceFlow_1cjdzjy SequenceFlow_1qh7kny SequenceFlow_0we6kqj SequenceFlow_0we6kqj SequenceFlow_1tez93y ``` ### BPMN使用规范 1. 创建一个审批流 1. 必须有一个起点,可以有多个终点,但是每个流程分支必须有终点; 1. 拒绝不需要额外画流程,拒绝默认会回到前一个节点; 1. 当节点类型是【开始】或【操作】时,需要判断哪些人允许发起,判断类型参看【审批权限检查】; 1. 当节点类型是【结束】时,此节点不安排任何人工处理,但是可以安排触发某个事件; 1. 当节点类型是【条件判断】时,条件是否满足由业务系统提供; 1. 当节点类型是【操作】时,只允许有一条无条件流出路径,或者若干条有条件流出路径,不允许无条件、有条件流出路径同时存在; 1. 所有路径必须有描述; ![输入图片说明](docimageguifan1.png) ![输入图片说明](docimageguifan2.png) ### 系统截图 - 流程模版 ![输入图片说明](docimagemoban.png) - 设计器 ![输入图片说明](docimageliuchegn1.png) ![输入图片说明](docimagebianlinag.png) - 流程表单 ![输入图片说明](doc8fc1cbaf-c54f-49ed-aaf1-5eae4982b845.jpeg) - 新建 ![输入图片说明](docimagesub.png) - 流程日志 ![输入图片说明](docimagelog.png) - 待办 ![输入图片说明](docimagedaiban.png) ### 前端插件 [JS地址](https://bpmn.io/toolkit/bpmn-js/) [工具展示](https://demo.bpmn.io/s/start) ### 参考资料 https://www.bpmnquickguide.com/view-bpmn-quick-guide/