接口清单
所有接口基础路径为 /api/v1,完整交互式文档请访问 Swagger UI:http://localhost:5000/swagger。
响应格式
所有接口返回统一的 ApiResponse 结构,详见 统一响应格式。
1. 认证模块(Auth)
| 方法 | 路径 | 说明 | 认证 |
|---|---|---|---|
| POST | /auth/register | 注册新用户 | 否 |
| GET | /auth/captcha | 获取图形验证码(SVG) | 否 |
| POST | /auth/login | 登录获取令牌 | 否 |
| POST | /auth/refresh-token | 刷新令牌 | 否 |
| POST | /auth/logout | 退出登录 | 是 |
| GET | /auth/user-info | 获取当前用户信息 + 权限 | 是 |
| GET | /auth/profile | 获取个人资料 | 是 |
| PUT | /auth/profile | 更新个人资料 | 是 |
| PUT | /auth/change-password | 修改密码 | 是 |
| PUT | /auth/force-change-password | 强制修改密码(密码过期) | 是 |
2. 用户模块(Users)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /users | 获取所有用户 |
| GET | /users/paged | 分页获取用户(支持数据权限过滤) |
| GET | /users/{id} | 获取用户详情 |
| POST | /users | 创建用户 |
| PUT | /users/{id} | 更新用户 |
| DELETE | /users/{id} | 删除用户 |
分页查询参数: pageNumber、pageSize、keyword
3. 角色模块(Roles)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /roles | 获取所有角色 |
| GET | /roles/paged | 分页获取角色 |
| GET | /roles/{id} | 获取角色详情 |
| POST | /roles | 创建角色 |
| PUT | /roles/{id} | 更新角色 |
| DELETE | /roles/{id} | 删除角色 |
| GET | /roles/{id}/menus | 获取角色菜单 |
| PUT | /roles/{id}/menus | 分配角色菜单 |
| PUT | /roles/{id}/data-scope | 设置数据权限范围 |
数据权限范围(DataScope)枚举:
| 值 | 说明 |
|---|---|
All | 全部数据 |
Dept | 本部门数据 |
DeptAndChild | 本部门及下级部门 |
Self | 仅本人数据 |
Custom | 自定义部门 |
4. 菜单模块(Menus)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /menus | 获取菜单树 |
| GET | /menus/{id} | 获取菜单详情 |
| POST | /menus | 创建菜单 |
| PUT | /menus/{id} | 更新菜单 |
| DELETE | /menus/{id} | 删除菜单 |
菜单类型:目录(1) / 菜单(2) / 按钮(3)
5. 部门模块(Departments)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /departments | 获取部门树 |
| GET | /departments/{id} | 获取部门详情 |
| POST | /departments | 创建部门 |
| PUT | /departments/{id} | 更新部门 |
| DELETE | /departments/{id} | 删除部门 |
6. 字典模块(Dictionaries)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /dictionaries | 获取字典列表 |
| GET | /dictionaries/code/{code} | 根据编码获取字典项(前端 useDict 调用) |
| GET | /dictionaries/{id} | 获取字典详情 |
| POST | /dictionaries | 创建字典 |
| PUT | /dictionaries/{id} | 更新字典 |
| DELETE | /dictionaries/{id} | 删除字典 |
预置字典:user_status(用户状态)、menu_type(菜单类型)、gender(性别)、yes_no(是否)
7. 仪表盘模块(Dashboard)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /dashboard/stats | 获取统计数据(用户数、角色数、菜单数等) |
| GET | /dashboard/trend?days=7 | 获取近 N 天注册 / 登录趋势 |
| GET | /dashboard/recent-logs?count=10 | 获取最近操作日志 |
8. 操作日志模块(AuditLogs)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /audit-logs/paged | 分页查询日志(支持时间、用户、模块筛选) |
| DELETE | /audit-logs/clear | 清理指定日期之前的日志 |
查询参数: pageNumber、pageSize、keyword、userId、module、action、startTime、endTime
9. 通知公告模块(Notifications)
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /notifications | 发送通知 / 公告 |
| GET | /notifications/paged | 分页查询通知列表 |
| GET | /notifications/my | 获取我的通知 |
| GET | /notifications/unread-count | 获取未读数量 |
| PUT | /notifications/{id}/read | 标记单条已读 |
| PUT | /notifications/read-all | 全部标记已读 |
| DELETE | /notifications/{id} | 删除通知 |
通知类型:Announcement(公告)/ Notification(通知)/ Todo(待办) 优先级:Low / Normal / High / Urgent
10. 文件模块(Files)
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /files/upload | 上传文件(multipart/form-data) |
| GET | /files/{id} | 获取文件信息 |
| GET | /files/{id}/download | 下载文件 |
| DELETE | /files/{id} | 删除文件 |
上传限制: 单文件最大 10MB,支持 .jpg .jpeg .png .gif .pdf .doc .docx .xls .xlsx 等 15 种格式。静态文件通过 /uploads/{filename} 访问。
11. 在线用户模块(OnlineUsers)
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /online-users | 获取在线用户列表 |
| DELETE | /online-users/{userId} | 强制下线 |
12. 健康检查模块(Health)
| 方法 | 路径 | 说明 | 认证 |
|---|---|---|---|
| GET | /health | 健康检查(Docker 健康探测) | 否 |