# 基础设施中心 **Repository Path**: ruovea-app/RuoVea.Infra ## Basic Information - **Project Name**: 基础设施中心 - **Description**: 代码生成器、文件存储、配置中心、定时任务执行器、API日志 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-26 - **Last Updated**: 2026-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Web, FDE ## README # 🌈 RuoVea.Infra — 基础设施中心 ## 📖 项目介绍 RuoVea.Infra 是采用 .NET 8 + Vue 3 构建的企业级基础设施中心,基于 RuoVea 组件生态,提供代码生成器、文件存储、配置中心、API 访问日志/错误日志、数据源管理等平台基础设施能力。所有 NuGet 包由 [RuoVea](https://gitee.com/ruovea) 开源提供。 - **技术先进**:.NET 8、Vue 3.5+、Composition API、TypeScript 5.7+、Vite 5.4+ - **动态 WebAPI**:后端服务类自动注册为 API,无需手动编写 Controller - **RBAC 权限**:颗粒度到按钮级别的权限控制 - **国际化**:6 语言(zh-cn / zh-tw / en / ja-jp / fr-fr / vi-vn) - **响应式设计**:适配手机、平板、PC - **Docker 部署**:提供前端 + 后端容器化部署方案 ## 📸 功能模块截图 > 以下截图按菜单路由(数据库 SysMenu 表)逐页重新截图,覆盖登录页、工作台及全部 9 个业务页面,并附带各可编辑列表页的「新增」编辑弹窗截图。 ### 登录页 ![登录页](Doc/img/00_login.png) ### 工作台 ![工作台](Doc/img/00_home.png) ### 代码生成 ![代码生成](Doc/img/infra_codegenTable.png) ### 代码生成字段 ![代码生成字段](Doc/img/infra_codegenColumn.png) 新增弹窗:![代码生成字段新增弹窗](Doc/img/infra_codegenColumn_edit.png) ### 文件配置 ![文件配置](Doc/img/infra_fileConfig.png) 新增弹窗:![文件配置新增弹窗](Doc/img/infra_fileConfig_edit.png) ### 文件管理 ![文件管理](Doc/img/infra_file.png) ### 参数配置 ![参数配置](Doc/img/infra_config.png) 新增弹窗:![参数配置新增弹窗](Doc/img/infra_config_edit.png) ### 数据源配置 ![数据源配置](Doc/img/infra_dataSourceConfig.png) 新增弹窗:![数据源配置新增弹窗](Doc/img/infra_dataSourceConfig_edit.png) ### API 访问日志 ![API 访问日志](Doc/img/infra_apiAccessLog.png) ### API 错误日志 ![API 错误日志](Doc/img/infra_apiErrorLog.png) ### Redis 监控 ![Redis 监控](Doc/img/infra_redisMonitor.png) ## 🛠️ 技术栈 | 技术 | 版本 | 说明 | | --- | --- | --- | | .NET | 8.0 | 后端 API 框架 | | SqlSugarCore | — | ORM 框架 | | RuoVea.DynamicWebApi | — | 动态 WebAPI 生成 | | RuoVea.OmiApi.* | 8.0.* | 基础模块 NuGet 包(Auth/System/Dict/Article/Notice/Reports/Log/Config/Upload) | | Vue | 3.5+ | 前端框架 | | TypeScript | 5.7+ | 类型系统 | | Vite | 5.4+ | 构建工具 | | Element Plus | 2.8+ | UI 组件库 | | Pinia | 2.2+ | 状态管理 | | Vue Router | 4.5+ | 路由管理(后端控制) | | Vue I18n | 10.0+ | 国际化 | | ECharts | 5.5+ | 数据可视化 | | Axios | 1.7+ | HTTP 客户端 | | WangEditor | 5.1+ | 富文本编辑器 | | Vue Grid Layout | 3.0+ | 栅格布局(仪表盘) | | Vue Signature Pad | 3.0+ | 电子签名 | | Vue 3 Tree Org | 4.2+ | 组织架构图 | | VForm3 | 3.0+ | 表单设计 | | @Vue Office | 1.6+ | 文档预览 | | SortableJS | 1.15+ | 拖拽排序 | ## 📦 核心功能 ### 系统管理 - **用户管理**:用户信息管理、角色分配、状态管理 - **角色管理**:角色创建、权限配置、菜单分配 - **菜单管理**:菜单配置、权限设置、路由管理、拖拽排序 - **组织架构**:部门管理、组织层级设置 - **字典类型管理**:分类编码、名称配置,支持跳转四种字典值视图 - **配置管理**:系统配置、参数设置 - **缓存管理**:缓存监控、缓存清理 - **日志管理**:操作日志、异常日志、访问日志、差异日志 ### 内容管理 (Article) - **文章列表**:分页查询 + 标题/状态搜索,WangEditor 富文本编辑 - **文章编辑**:封面图片上传、分类下拉、标签多选、SEO 设置 - **分类管理**:树形上级节点选择,编码正则校验 - **标签管理**:简洁 CRUD ### 字典值管理 (DictValue) - **常规管理**:标准 CRUD,14 种标签类型自由切换 - **动态组件**:输入控件智能适配,code 仅新增时显示 - **定制管理**:tagType 固定,aed 参数控制按钮权限 - **图片管理**:图片上传预览,表格缩略图 + 点击放大 ### 报表管理 (Reports) - **图表配置**:柱状图、折线图、饼图、仪表盘、统计卡片 - **数据源管理**:MySql/SqlServer/Sqlite/Oracle/PostgreSQL 连接管理 - **SQL 管理**:SQL 编辑 + 字段解析 + 拖拽排序 + 格式化预设 + 查询字典 - **仪表盘**:可拖拽图表布局(vue-grid-layout) - **报表查询**:Element Plus 表格查询 + ECharts 图表预览 - **QueryByCode**:通过 code 参数访问报表 ### 通知公告 - 系统通知 + SignalR 实时推送 + 已读/未读持久化 ### 其他功能 - **文件管理**:文件上传、预览 - **代码生成**:模板代码快速生成 - **文档预览**:支持 docx、excel、pdf - **电子签名**:在线签名功能 ## 🌍 字典值视图对照 | 视图 | 路由 | 特点 | |------|------|------| | 常规管理 | /business/dictvalue/nomal | 标准 CRUD,14 种 tagType 自由切换 | | 动态组件 | /business/dictvalue/dynamic | 输入控件智能适配,code 仅新增时显示 | | 定制管理 | /business/dictvalue/custom | tagType 固定,aed 按钮可控 | | 图片管理 | /business/dictvalue/image | 图片上传预览,表格缩略图 | ## 🌐 浏览器支持 | 浏览器 | 最低版本 | | --- | --- | | Edge | 88+ | | Firefox | 78+ | | Chrome | 87+ | | Safari | 13+ | > Vue 3 及 Element Plus 不支持 IE11 及之前版本。 ## 🚀 快速开始 ### 环境要求 - .NET 8 SDK - Node.js >= 16.0.0 - pnpm >= 6.0.0(推荐)或 npm >= 7.0.0 ### 后端启动 ```bash # 修改数据库配置:RuoVea.Infra.Entry/Config/DbConnstring.json(默认 Sqlite) dotnet restore dotnet run --project RuoVea.Infra.Entry # Swagger: http://localhost:5000/swagger ``` ### 前端启动 ```bash cd Web pnpm install pnpm dev # http://localhost:3000 pnpm build # 构建到 dist/ ``` ### Docker 部署 ```bash docker build -t ruovea-admin-master . docker run -d -p 5000:80 --name ruovea-master ruovea-admin-master ``` ## 📁 项目结构 ``` ruovea-admin/ ├── RuoVea.Infra.Entry/ # 入口项目 │ ├── Config/ # 配置文件(DB、JWT、CORS、Swagger 等) │ ├── Controllers/ # Swagger 授权控制器 │ ├── Extensions/ # 本地化扩展 │ ├── Filters/ # 日志过滤器 │ └── Program.cs # 应用启动入口 ├── RuoVea.Infra.Server/ # 业务逻辑层 │ ├── Dto/ # 数据传输对象 │ ├── Language/ # 国际化资源文件 │ ├── Models/ # 数据模型 │ ├── SeedData/ # 种子数据 │ └── Service/ # 业务服务 ├── Web/ # Vue 3 前端 │ └── src/ │ ├── api/ # API 服务层(按域分组) │ ├── components/ # 通用组件 │ ├── i18n/ # 国际化(lang/框架级 + pages/页面级) │ ├── layout/ # 布局组件 │ ├── router/ # 路由(后端控制) │ ├── stores/ # Pinia 状态管理 │ ├── utils/ # 工具函数 │ └── views/ # 页面组件 │ ├── business/ # 自有业务(demo);article/dictvalue/report 等由 @ruovea/* 插件包提供 │ ├── dashboard/ # 工作台 │ ├── error/ # 错误页 │ ├── system/ # 系统管理(cache/file/infoSetting/server) │ └── login/ # 登录 ├── Doc/ # 项目文档 │ ├── bat/ # 构建与运行脚本 │ ├── Docker/ # Docker 部署文件 │ └── img/ # 截图 ├── CLAUDE.md # 项目编码规范(AI 自动加载) ├── RuoVea.Infra.sln # 解决方案文件 ├── LICENSE # MIT 许可证 └── README.md ``` ## 🎨 特色功能 ### 1. 完善的权限管理 - 基于角色的权限控制(RBAC) - 细粒度的菜单权限和按钮权限 - 权限缓存和动态加载 ### 2. 丰富的通用组件 - **字典组件**:数据字典快速使用 - **富文本编辑器**:集成 WangEditor - **电子签名**:支持在线签名 - **组织架构图**:可视化组织层级 - **文档预览**:支持多种文档格式 - **拖拽验证**:图片拖拽验证 - **图标选择器**:丰富的图标库 - **表格组件**:多功能表格封装 ### 3. 国际化支持 - 内置 6 种语言 - 支持动态切换语言 - 框架级 + 页面级分层管理,自动 glob 导入 ### 4. 主题定制 - 多种预设主题 - 自定义主题颜色 - 布局配置持久化 ## 📚 开发文档 | 文档 | 说明 | |------|------| | [CLAUDE.md](CLAUDE.md) | 项目专属编码规范 v1.0(AI 自动加载,新增/修改代码必读;附录 6.1 含 RuoVea 组件文档导航) | | [Web/README.md](Web/README.md) | 前端说明 | | [Web/USE_WIKI.md](Web/USE_WIKI.md) | 使用手册 | | [Web/CHANGELOG.md](Web/CHANGELOG.md) | 更新日志 | ## 📄 许可证 本项目基于 [RuoVea](https://gitee.com/ruovea) 开源组件生态,采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 --- **RuoVea.Infra** — 企业级后台管理系统基座!