×

真正能落地的 .NET 8/9/10 企业平台:集成权限、流程引擎与实时通信

独孤求败 独孤求败 发表于2026-04-07 15:04:03 浏览14 评论0

抢沙发发表评论

项目简介

一个基于 .NET 8 的现代化企业级开发平台,采用 DDD(领域驱动设计)分层架构,集成了权限管理、代码生成、工作流引擎、实时通信等核心功能模块,为中大型企业应用提供高内聚、可扩展、易维护的技术参考。

核心特性

  • DDD 分层架构:清晰的领域边界和职责划分

  • 完善的权限体系:RBAC 权限模型,支持多租户与数据权限

  • 强大的代码生成器:一键生成前后端完整 CRUD 代码

  • 灵活的工作流引擎:支持三种主流流程设计器

  • 实时通信能力:基于 SignalR 实现消息推送与在线状态管理

  • 完整的多语言方案:前后端统一国际化支持

技术栈

后端技术

技术
说明
版本
.NET
核心框架
8.0+
SqlSugar
ORM 框架
5.1.4+
Redis
缓存服务
6.0+
SignalR
实时通信
8.0+
JWT
身份认证
8.0+
Swagger
API 文档
8.1.4+

前端技术

技术
说明
版本
Vue 3
前端框架(Composition API)
3.4+
Ant Design Vue
UI 组件库
4.2+
Vite
构建工具
5.0+
TypeScript
开发语言
5.0+
Pinia
状态管理
2.1+
Axios
HTTP 客户端
1.11+

工作流设计器支持

  • TaktFlow:基于 @antv/x6,适用于复杂流程与高性能场景

  • TaktJsplumbFlow:基于 jsPlumb,兼容性好,易于定制

  • TaktLogicFlow:基于 @logicflow/core,插件生态丰富,现代化体验

其他核心依赖

  • @microsoft/signalr:实时通信客户端

  • @wangeditor/editor:富文本编辑器

  • @form-create/ant-design-vue:动态表单设计器

系统架构

整体架构

采用经典的 DDD 四层架构:

  • 接口层(WebApi):对外暴露 RESTful API

  • 应用层(Application):协调领域服务,实现用例逻辑

  • 领域层(Domain):核心业务规则与实体

  • 基础设施层(Infrastructure):技术实现细节(数据库、缓存、认证等)

整体架构

图片

分层架构

图片

项目结构

Takt.Xp/
├── backend/                  # 后端项目
│   ├── src/
│   │   ├── Takt.Application/    # 应用层
│   │   │   ├── Services/       # 应用服务(Accounting, Generator, Identity, Logging, Logistics, Routine, Workflow)
│   │   │   └── DTOs/          # 数据传输对象
│   │   ├── Takt.Shared/         # 公共层(常量、枚举、扩展、工具等)
│   │   ├── Takt.Domain/         # 领域层(实体、接口、仓储定义、领域模型)
│   │   ├── Takt.Infrastructure/ # 基础设施层(认证、缓存、数据访问、SignalR、中间件等)
│   │   └── Takt.WebApi/         # 接口层(控制器、中间件、静态资源)
│   └── Takt.Xp.sln            # 解决方案文件

├── frontend/               # 前端项目
│   └── Takt.Antd/         # Ant Design Vue 前端
│       ├── src/
│       │   ├── api/      # 按模块划分的 API 接口
│       │   ├── components/   # 公共组件(含三种工作流设计器)
│       │   ├── layouts/     # 布局
│       │   ├── locales/     # 多语言资源
│       │   ├── router/      # 路由
│       │   ├── stores/      # Pinia 状态管理
│       │   ├── utils/       # 工具函数
│       │   └── views/       # 页面视图(按业务模块组织)
│       └── public/          # 静态资源

├── docs/                   # 文档目录(开发规范、配置说明)
├── scripts/                # 部署脚本
├── .editorconfig          # 编辑器配置

核心功能模块

权限管理模块

1、用户认证

  • JWT Token 认证

  • OAuth2.0 / OpenID Connect 集成

  • 统一身份认证中心(Identity Server 4)

  • 单点登录(SSO)支持

2、权限控制

  • RBAC 角色权限模型

  • 多租户支持

  • 数据权限控制(行级/列级)

  • API 访问控制

  • 按钮级前端权限控制

3、组织架构

  • 多级组织结构

  • 用户组与岗位管理

  • 组织关系维护

4、安全特性

  • 密码策略与登录限制

  • 操作日志审计

  • 实时会话管理

代码生成器模块

1、模板引擎

基于 Scriban 模板引擎

支持自定义模板与在线编辑

模板版本管理

2、数据源管理

支持 SQL Server、MySQL 等多数据库

自动解析表结构与关联关系

字段映射配置

3、代码生成内容

后端:实体类、DTO、仓储接口/实现、服务接口/实现、控制器

前端:API 文件、多语言资源、列表页、表单页、详情页、导入导出功能

4、生成策略

可配置命名规则与字段类型映射

覆盖策略与代码注释生成

工作流引擎模块

1、流程设计

三种设计器可选,覆盖不同场景需求

支持开始/结束/任务/网关/会签等节点类型

可视化拖拽 + 连线规则校验

2、流程管理

流程定义与实例全生命周期管理

流程监控与历史查询

3、任务处理

待办任务中心

任务转交、委托、批量处理

任务统计分析

4、高级特性

并行网关与条件分支

定时任务集成

业务数据深度关联

实时通信模块

SignalR 集成:自动重连、连接状态监控、在线用户管理

消息管理:系统通知、即时消息、历史记录与统计

前端功能

1、主题与布局

动态主题切换与暗黑模式

响应式布局适配多端

2、组件封装

高级表格、动态表单生成器、图表、高级搜索等业务组件

3、状态管理

基于 Pinia,支持持久化与数据同步

4、多语言支持

前端:基于 Vue-i18n,支持 9 种语言,模块化管理

后端:通过中间件实现异常、验证、业务消息的国际化

开发环境

必需工具

工具
版本要求
说明
Visual Studio
2022+ (17.8.0+)
后端开发 IDE
.NET SDK
8.0.0+
后端运行环境
Node.js
18.0.0+
前端运行环境
数据库
SQL Server 2019+ / MySQL 8.0+
数据存储
Redis
6.0+
缓存服务(可选)

推荐工具

  • Visual Studio Code(轻量编辑)

  • Azure Data Studio(数据库管理)

  • Postman / Apifox(API 测试)

  • Git GUI 工具(版本控制可视化)

IDE 配置(VS Code 推荐插件)

  • EditorConfig

  • C# Dev Kit

  • Vue Language Features (Volar)

  • TypeScript Vue Plugin

  • ESLint + Prettier

快速开始

环境准备

1、安装必需工具

2、配置数据库与 Redis

3、设置 JWT 密钥与跨域策略

安装步骤

1、克隆项目

git clone https://github.com/Lean365/Takt.Xp.git
cd Takt.Xp

2、安装后端依赖

cd backend/src
dotnet restore

3、安装前端依赖

cd ../../frontend/Takt.Antd
pnpm install  # 或 npm install

运行命令

启动后端

cd backend/src/Takt.WebApi
dotnet run
# 默认地址:http://localhost:5000(HTTP)或 https://localhost:5001(HTTPS)

启动前端

cd frontend/Takt.Antd
pnpm dev  # 或 npm run dev
# 默认地址:http://localhost:5173

提示:后端启动后可通过 http://localhost:5000/swagger 访问 API 文档;前端支持热更新。

数据库设计

核心表结构(示例)

-- 用户表
CREATETABLE Takt_User (
    IdBIGINT PRIMARY KEY,
    Username NVARCHAR(50NOTNULL,
    -- 其他字段
);

-- 角色表
CREATETABLE Takt_Role (
    IdBIGINT PRIMARY KEY,
    RoleName NVARCHAR(50NOTNULL,
    -- 其他字段
);

包含完整的初始化脚本:数据库创建、基础数据、测试数据。

API 文档

  • 接口版本:v1

  • 基础路径:/api/Takt

  • 认证方式:Bearer Token

  • 响应格式:统一结构体(含 code、message、data)

认证接口

  • 获取 Token:POST /api/Takt/auth/token

  • 刷新 Token:POST /api/Takt/auth/refresh

  • 注销 Token:POST /api/Takt/auth/logout

项目源码

GitHub:https://github.com/Lean365/Takt.Xp


群贤毕至

访客