# AbpVNextProjectTemplate **Repository Path**: jiyangcd/abp-vnext-project-template ## Basic Information - **Project Name**: AbpVNextProjectTemplate - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-10-12 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AbpProjectTemplate ## 📖 介绍 基于 ABP vNext (9.x) 和 .NET 9.0 构建的企业级项目开发模板。 本项目严格遵循领域驱动设计 (DDD) 架构规范,集成了现代化的开发工具与最佳实践,旨在提供一个高可扩展、易维护的后端解决方案。 - **Server**: 基于 ABP Framework 的后端 API 服务。 - **Admin**: 基于 Vue 3 + Element Plus 的后台管理系统。 - **Client**: 基于 UniApp (Vue3) 的移动端/H5 前端代码。 ## 🏗️ 软件架构 ### 技术栈 - **核心框架**: .NET 9.0 - **应用框架**: ABP Framework 9.3.6 - **ORM**: Entity Framework Core 9.0 - **数据库支持**: MySQL / PostgreSQL / SQL Server (可配置切换) - **认证授权**: OpenIddict (OAuth2 / OIDC) - **日志系统**: Serilog + LogDashboard - **API 文档**: Swagger + 自定义调试 UI (支持参数缓存) - **后台管理**: Vue 3 + Vite + Element Plus + Pinia - **移动端**: UniApp + Vue 3 + ThorUI ### 目录结构 ```text / ├── server/ # 后端解决方案 (.NET) │ ├── src/ # 源代码 │ │ ├── *.Domain # 领域层 (实体, 核心业务逻辑) │ │ ├── *.Application # 应用层 (DTO, 应用服务) │ │ ├── *.EntityFrameworkCore # 基础设施层 (数据访问) │ │ └── *.Web # 展现层 (API Host, Swagger) │ └── test/ # 单元测试 ├── client/ # 前端代码 │ ├── admin/ # 后台管理系统 (Vue3 + Element Plus) │ └── H5/ # 移动端项目 (UniApp) └── common.props # 项目统一版本配置 ``` ## 📦 功能模块 ### ✅ 已实现功能 1. **核心基础** - **多数据库适配**: 内置 MySQL, PostgreSQL, SQL Server 实现,通过配置一键切换。 - **统一规范**: 标准的异常处理、响应封装与领域事件总线。 - **容器化支持**: 包含 Dockerfile 与 CI/CD 脚本。 2. **系统管理 (Admin)** - **身份认证**: 完整的登录流程,支持 Token 自动刷新。 - **用户权限**: 用户、角色、权限分配(RBAC 模型)。 - **系统监控**: - **AuditLog**: 审计日志查询与详情展示。 - **LoginLog**: 登录日志记录。 - **Swagger**: 集成 Swagger UI 调试器,支持 Schema 解析。 - **配置管理**: - **Menu**: 动态菜单管理。 - **ClientStorage**: 前端个性化配置管理。 3. **通用服务** - **ClientStorage**: 前端配置持久化服务,支持用户个性化设置存储。 - **TreeService**: 通用的树形结构数据管理(适用于部门、菜单等)。 - **LogDashboard**: 可视化的日志查询面板,方便排查生产问题。 - **Enhanced Swagger**: 自定义优化的 API 文档页,支持登录调试与参数记忆。 ## 🚀 待开发功能 (Roadmap) - [ ] **后台任务中心** - [ ] 集成 Hangfire/Quartz - [ ] 任务可视化监控面板 - [ ] **文件管理服务** - [ ] 集成 BlobStoring (MinIO / Aliyun OSS / S3) - [ ] 统一文件上传/下载接口与管理 UI - [ ] **数据导入导出** - [ ] 集成 Magicodes.IE - [ ] 通用 Excel 导出/导入服务 (支持 DTO 自动映射) - [ ] **消息通知中心** - [ ] 集成 SignalR - [ ] 站内信与实时通知推送 - [ ] **系统健康监控** - [ ] 集成 HealthChecks UI - [ ] 数据库、Redis、消息队列状态监控 ## 🛠️ 安装与使用 ### 1. 环境准备 - .NET 9.0 SDK - Node.js (用于前端) - 数据库 (推荐 MySQL 8.0+ 或 PostgreSQL) - Redis (可选,用于缓存) ### 2. 后端启动 1. **配置数据库**: 修改 `server/src/AbpProjectTemplate.Web/appsettings.json` 中的 `ConnectionStrings`。 2. **数据库迁移**: 运行 `server/src/AbpProjectTemplate.DbMigrator` 项目,它会自动创建数据库并播种初始数据 (Seed Data)。 3. **启动 WebHost**: 运行 `server/src/AbpProjectTemplate.Web` 项目。 4. **浏览文档**: 访问 `https://localhost:443xx/swagger` 查看 API 文档。 ### 3. 前端启动 (Admin) 1. 进入 `client/admin` 目录。 2. 运行 `npm install` 安装依赖。 3. 运行 `npm run dev` 启动开发服务器。 4. 默认访问 `http://localhost:5173`。 ### 4. 移动端启动 (H5) 1. 进入 `client/H5` 目录。 2. 安装依赖并运行 (需 HBuilderX 或相应 CLI 工具)。 --- *注:本项目由 `CreateProject.bat` 生成,建议在开发前根据实际需求重命名项目与命名空间。*