# SimpleX **Repository Path**: handloong/SimpleX ## Basic Information - **Project Name**: SimpleX - **Description**: 手搓通用脚手架SimpleX,集成RBAC,一键生成接口权限,适合快速开发业务模块 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 33 - **Forks**: 10 - **Created**: 2023-11-27 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SimpleX ## 介绍 手搓通用脚手架SimpleX SimpleX取名参考[SimpleAdmin](https://gitee.com/zxzyjs/SimpleAdmin)(练习时长两年半的国东兄) RBAC的大部分代码都直接copy SimpleAdmin,写代码就一个字:复制!粘贴!干! ## 技术栈 * .NET 8 * SqlSugarCore(MIT) * Swashbuckle.AspNetCore(MIT) * Scrutor(MIT) * Mapster(MIT) * NLog(MIT) * NewLife.Redis(MIT) * FluentValidation.AspNetCore(MIT) * DotNetCore.CAP(MIT) ## 功能模块 ### ✅ 已实现功能 - [x] 自动注入 - [x] 规范化结果添加请求耗时 - [x] Jwt授权 - [x] 接口权限 - [x] 全局错误拦截 - [x] NLog日志 - [x] SqlSugar [CodeFirst] [单例仓储] [无脑爽撸] - [x] 缓存 [Redis/Memory] - [x] 参数验证 - [x] Swagger - [x] 事件总线 - [x] 代码生成 - [x] 通用导入导出 - [x] 轻量级追溯(X-TraceId) ### 🚫 不准备开发的功能 1. 动态API(虽然Service直接变成API但是不能解耦) 2. 配置中心(按需引入第三方) ## 开发环境 * IDE: [VS 2022 17.8.1+](https://visualstudio.microsoft.com/zh-hans/downloads/) * .NET 8 SDK: [下载地址](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) ## 快速开始 1. 安装.NET 8 SDK 2. 克隆仓库 3. 使用VS2022打开解决方案 4. 设置启动项目为`SimpleX.WebApi` 5. 启动项目 6. 通过Swagger查看API文档 ## 功能说明 ### 授权认证 * 使用Jwt进行身份验证 * 支持LDAP和数据库两种登录方式 * 提供登录日志和登出功能 * 包含验证码功能 ### RBAC权限 * 基于角色的访问控制 * 支持菜单、按钮级别的权限控制 * 提供组织、角色、用户管理 * 支持给角色授权菜单,给用户分配角色 ### 代码生成 * 支持后端Controller、Service代码生成 * 支持前端Vue组件生成 * 支持数据库表结构生成 * 提供代码预览和压缩包下载 ### 日志追踪 * 记录操作日志 * 记录请求耗时 * 支持X-TraceId进行请求链路追踪 * 提供全局异常拦截和处理 ### 缓存管理 * 支持Redis和Memory两种缓存方式 * 提供缓存基础操作(Get/Set/Remove等) * 支持缓存集合类型(List/Set/Queue/Stack) ### 通用功能 * 规范化API返回结果 * 支持多语言 * 提供文件上传下载 * 包含定时任务模块 ## 目录结构 ```bash SimpleX/ ├── Application/ # 应用层 │ ├── Controllers/ # API控制器 │ ├── Services/ # 业务服务 │ └── Dto/ # 数据传输对象 ├── Framework/ # 框架层 │ ├── RBAC/ # 权限相关模块 │ └── Sys/ # 系统基础模块 ├── WebApi/ # 接口层 │ ├── CodeGen/ # 代码生成模板 │ ├── Middlewares/ # 中间件 │ └── wwwroot/ # 静态资源 ├── Job/ # 定时任务 └── SimpleX.sln # 解决方案文件 ``` ## 开发规范 * 使用统一返回结果格式 * 所有API都需要权限验证(除登录接口外) * 使用CodeFirst方式进行数据库操作 * 所有Service需要实现接口 * 使用Swagger进行接口文档管理 * 使用NLog记录日志 * 所有API请求需通过X-TraceId进行追踪 ## 参与贡献 1. Fork本仓库 2. 新建`Feat_xxx`分支 3. 提交代码 4. 新建Pull Request 欢迎PR :+1: ## 第三方类库协议说明 SimpleX本身使用MIT协议,但使用了以下第三方类库,请注意它们的协议要求: 1. Scrutor (MIT) 2. Swashbuckle.AspNetCore (MIT) 3. SqlSugarCore (MIT) 4. Mapster (MIT) 5. NLog (MIT) 6. NewLife.Redis (MIT) 7. Masuit.Tools.Core 8. FluentValidation.AspNetCore (MIT) 9. DotNetCore.CAP (MIT) ## 致谢 本项目借鉴了[SimpleAdmin](https://gitee.com/zxzyjs/SimpleAdmin)的设计理念和部分实现,特此感谢国东兄在开源社区的贡献。 ## 常见问题 Q: 如何开启Redis缓存? A: 修改`JsonConfig/Common.All.json`中的Cache配置 Q: 如何自定义日志路径? A: 修改NLog.config文件配置 Q: 如何添加新的代码生成模板? A: 在`CodeGen`目录下添加新的模板文件 ## 许可证 本项目采用MIT协议,请在遵循原第三方类库协议的前提下使用。