# fast-dev-platform **Repository Path**: hsqyz/fast-dev-platform ## Basic Information - **Project Name**: fast-dev-platform - **Description**: 快速开发平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-26 - **Last Updated**: 2025-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: vue3, SpringBoot, SpringBoot3 ## README # 快速开发平台 一个基于 **Spring Boot 3** + **Vue 3** 的企业级快速开发平台,提供完整的 RBAC 权限管理系统。 ## 技术栈 ### 后端技术 - **Spring Boot 3.2.0** - 核心框架 - **MyBatis Plus 3.5.5** - ORM框架(纯Lambda方式) - **Sa-Token 1.37.0** - 轻量级权限认证框架 - **Hutool 5.8.24** - Java工具类库 - **MySQL 8.0** - 关系型数据库 - **Redis** - 缓存和Session存储 - **Druid** - 数据库连接池 ### 前端技术 - **Vue 3** - 渐进式JavaScript框架 - **Vite** - 新一代前端构建工具 - **Element Plus** - Vue 3 UI组件库 - **Axios** - HTTP客户端 - **Pinia** - Vue 3状态管理 - **Vue Router** - 路由管理 ## 核心功能 - ✅ 用户管理:用户的增删改查、状态管理、密码重置 - ✅ 角色管理:角色的增删改查、权限分配 - ✅ 菜单管理:菜单树形结构管理、支持目录/菜单/按钮三种类型 - ✅ 权限管理:基于RBAC的权限控制、菜单权限、按钮权限 - ✅ 操作日志:系统操作日志记录(AOP实现) - ✅ 登录日志:用户登录日志记录 ## 项目结构 ``` fast-dev-platform/ ├── backend/ # 后端项目 │ ├── src/main/java/com/fastdev/platform/ │ │ ├── FastDevPlatformApplication.java # 启动类 │ │ ├── config/ # 配置类 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # Mapper接口 │ │ ├── service/ # 服务层 │ │ ├── controller/ # 控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── vo/ # 视图对象 │ │ ├── common/ # 公共类 │ │ └── utils/ # 工具类 │ └── src/main/resources/ │ ├── application.yml # 配置文件 │ └── sql/init.sql # 数据库初始化脚本 │ └── frontend/ # 前端项目 ├── src/ │ ├── api/ # API接口 │ ├── assets/ # 静态资源 │ ├── components/ # 公共组件 │ ├── layout/ # 布局组件 │ ├── router/ # 路由配置 │ ├── stores/ # Pinia状态管理 │ ├── utils/ # 工具函数 │ ├── views/ # 页面组件 │ ├── App.vue # 根组件 │ └── main.js # 入口文件 ├── vite.config.js # Vite配置 └── package.json ``` ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 16+ - MySQL 8.0+ - Redis 5.0+ - Maven 3.6+ ### 后端启动 1. **创建数据库** ```bash # 创建数据库 mysql -u root -p CREATE DATABASE fast_dev_platform DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. **导入数据库** ```bash # 执行初始化脚本 mysql -u root -p fast_dev_platform < backend/src/main/resources/sql/init.sql ``` 3. **修改配置** ```yaml # 编辑 backend/src/main/resources/application.yml spring: datasource: url: jdbc:mysql://localhost:3306/fast_dev_platform?... username: root password: your_password data: redis: host: localhost port: 6379 password: your_redis_password # 如果没有密码则留空 ``` 4. **启动后端** ```bash cd backend mvn clean install mvn spring-boot:run ``` 后端服务将在 `http://localhost:8080/api` 启动 ### 前端启动 1. **安装依赖** ```bash cd frontend npm install ``` 2. **启动开发服务器** ```bash npm run dev ``` 前端服务将在 `http://localhost:3000` 启动 ### 默认账号 - 用户名:`admin` - 密码:`admin123` ## 开发规范 ### 后端规范 - 所有类、方法必须有完整的JavaDoc注释(中文) - 使用Lombok简化代码 - MyBatis Plus统一使用Lambda方式构建查询 - 遵循RESTful API设计规范 - 统一异常处理和响应格式 ### 前端规范 - 组件命名使用PascalCase - 方法命名使用camelCase - 使用组合式API (Composition API) - 统一使用Element Plus组件库 ## 核心特性 ### 1. Lambda查询 ```java // 使用Lambda构建查询条件 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.like(StrUtil.isNotBlank(username), SysUser::getUsername, username) .eq(status != null, SysUser::getStatus, status) .orderByDesc(SysUser::getCreateTime); ``` ### 2. Sa-Token权限控制 ```java // 使用注解进行权限控制 @SaCheckPermission("system:user:add") public Result addUser(@RequestBody SysUser user) { // ... } ``` ### 3. 统一响应格式 ```java // 成功响应 return Result.success("操作成功", data); // 失败响应 return Result.fail("操作失败"); ``` ### 4. 全局异常处理 ```java // 抛出业务异常 throw new BusinessException(ResultCode.USER_NOT_EXIST); ``` ## API文档 启动后端服务后,可以通过以下方式查看API: - 后端接口地址:`http://localhost:8080/api` - Druid监控:`http://localhost:8080/api/druid`(用户名/密码:admin/admin) ## 主要接口 ### 认证接口 - POST `/auth/login` - 用户登录 - POST `/auth/logout` - 用户登出 - GET `/auth/info` - 获取当前用户信息 ### 用户管理 - GET `/system/user/page` - 分页查询用户 - POST `/system/user` - 新增用户 - PUT `/system/user` - 更新用户 - DELETE `/system/user/{id}` - 删除用户 ### 角色管理 - GET `/system/role/page` - 分页查询角色 - POST `/system/role` - 新增角色 - PUT `/system/role` - 更新角色 - DELETE `/system/role/{id}` - 删除角色 - POST `/system/role/{roleId}/menus` - 分配权限 ### 菜单管理 - GET `/system/menu/tree` - 获取菜单树 - POST `/system/menu` - 新增菜单 - PUT `/system/menu` - 更新菜单 - DELETE `/system/menu/{id}` - 删除菜单 ## 许可证 MIT License ## 联系方式 如有问题,请提交 Issue 或 Pull Request。