diff --git a/README.md b/README.md index 161cd9176ebaf891fa995b55fe66e3a6a2bb76d7..4329d4a1c7e440c0977f028635a9054f2c8c1ae3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,89 @@ -# structure-admin + + structure-admin +--- + +structure-admin 是一个基于 Spring Boot 的后台管理系统,提供了用户、部门、角色、菜单等基础管理功能,并集成了 Swagger 文档和 MyBatis-Plus 数据访问层。系统支持多租户架构,具备字典管理、权限绑定、文件上传下载等功能。 + +### 功能特性 + +- **用户管理**:用户注册、登录认证、密码修改、用户启用/停用、用户锁定/解锁。 +- **部门管理**:部门的增删改查、部门启用/停用、部门分页及子部门列表。 +- **角色管理**:角色创建、修改、启用/停用,支持角色权限绑定。 +- **菜单管理**:菜单增删改查、菜单启用/停用、菜单树结构展示。 +- **字典管理**:支持字典类和字典项的管理,便于系统参数配置。 +- **机构管理**:机构信息获取与更新,支持多租户架构。 +- **空间管理**:支持空间的增删改查与启用/停用。 +- **文件管理**:文件上传、下载、图片预览。 +- **配置管理**:系统配置的获取与修改。 + +### 快速开始 + +#### 依赖 + +- Java 1.8+ +- Spring Boot +- MyBatis-Plus +- Swagger2 +- Lombok +- Spring Security +- Feign +- 多租户支持 + +#### 启动 + +1. 确保已安装 JDK 1.8+ 和 Maven。 +2. 使用 Maven 构建项目: + +```bash +mvn clean package +``` + +3. 运行主类: + +```bash +java -jar structure-admin-boot/target/structure-admin-boot.jar +``` + +### 使用示例 + +- **用户注册**:`POST /user/register` +- **登录**:`POST /login` +- **获取用户菜单权限**:`GET /user/getUserMenu` +- **修改用户密码**:`PUT /user/changePassword` +- **新增部门**:`POST /dept` +- **启用部门**:`PUT /dept/enable/{deptId}` +- **禁用部门**:`PUT /dept/disable/{deptId}` +- **部门分页列表**:`GET /dept/list/{page}/{pageSize}/` +- **新增角色**:`POST /role` +- **角色启用**:`PUT /role/enable/{roleId}` +- **角色停用**:`PUT /role/disable/{roleId}` +- **菜单新增**:`POST /menu` +- **菜单详情**:`GET /menu/get` +- **上传文件**:`POST /file/upload` + +### 架构说明 + +- `structure-admin-boot`:Spring Boot 启动模块,包含应用主类。 +- `structure-admin-client`:提供 Feign 客户端接口,用于模块间通信。 +- `structure-admin-core`:核心业务逻辑模块,包含实体类、服务层、数据访问层、控制器等。 +- `DTO`:数据传输对象,用于接收前端请求参数。 +- `VO`:视图对象,用于向前端返回数据。 +- `BO`:业务对象,用于封装业务逻辑。 +- `Mapper`:MyBatis-Plus 数据访问接口。 +- `Service`:服务实现类,实现业务逻辑。 +- `Controller`:RESTful API 入口,集成 Swagger 注解。 +- `Configuration`:配置类,如自动配置、MyBatis 配置。 +- `Enums`:系统中使用的枚举定义。 +- `Assemblers`:用于转换 DTO、VO、BO、Entity 等对象。 + +### 贡献指南 + +欢迎贡献代码,请遵循以下步骤: +1. Fork 本仓库。 +2. 创建新分支。 +3. 提交 Pull Request。 + +### 许可证 + +本项目采用 MIT 许可证。详情请查看 LICENSE 文件。 \ No newline at end of file