提交所有代码到 qiaoxinjiu 分支
This commit is contained in:
@@ -30,11 +30,11 @@
|
||||
|
||||
### 1.2 错误码使用习惯
|
||||
|
||||
| code | 说明 |
|
||||
|---|---|
|
||||
| 20000 | 成功 |
|
||||
| code | 说明 |
|
||||
| ----- | -------------- |
|
||||
| 20000 | 成功 |
|
||||
| 40009 | 创建类失败 / 参数校验失败 |
|
||||
| 40011 | 详情查询失败 |
|
||||
| 40011 | 详情查询失败 |
|
||||
| 40012 | 更新 / 删除 / 分配失败 |
|
||||
|
||||
### 1.3 当前实现注意事项
|
||||
@@ -43,22 +43,23 @@
|
||||
- 分配类接口均为覆盖式保存
|
||||
- 当前密码字段是占位实现,后续建议替换为真实 hash
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 2. 角色管理
|
||||
|
||||
### 2.1 角色列表
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/role/list`
|
||||
|
||||
请求参数:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| keyword | string | 否 | 角色名称模糊搜索 |
|
||||
| status | int | 否 | 1启用 0禁用 |
|
||||
| pageNo | int | 否 | 页码,默认1 |
|
||||
| pageSize | int | 否 | 每页条数,默认20 |
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
| -------- | ------ | -- | --------- |
|
||||
| keyword | string | 否 | 角色名称模糊搜索 |
|
||||
| status | int | 否 | 1启用 0禁用 |
|
||||
| pageNo | int | 否 | 页码,默认1 |
|
||||
| pageSize | int | 否 | 每页条数,默认20 |
|
||||
|
||||
返回 `data`:
|
||||
|
||||
@@ -82,18 +83,20 @@
|
||||
```
|
||||
|
||||
### 2.2 角色详情
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/role/detail`
|
||||
|
||||
请求参数:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| roleId | int | 是 | 角色ID |
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
| ------ | --- | -- | ---- |
|
||||
| roleId | int | 是 | 角色ID |
|
||||
|
||||
返回:单个角色对象。
|
||||
|
||||
### 2.3 创建角色
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/role/create`
|
||||
|
||||
@@ -119,6 +122,7 @@
|
||||
```
|
||||
|
||||
### 2.4 更新角色
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/role/update`
|
||||
|
||||
@@ -141,6 +145,7 @@
|
||||
```
|
||||
|
||||
### 2.5 删除角色
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/role/delete`
|
||||
|
||||
@@ -160,23 +165,24 @@
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 3. 权限管理
|
||||
|
||||
### 3.1 权限列表
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/permission/list`
|
||||
|
||||
请求参数:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| keyword | string | 否 | 权限名称模糊搜索 |
|
||||
| module | string | 否 | 模块名 |
|
||||
| status | int | 否 | 状态 |
|
||||
| pageNo | int | 否 | 页码 |
|
||||
| pageSize | int | 否 | 每页条数 |
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
| -------- | ------ | -- | -------- |
|
||||
| keyword | string | 否 | 权限名称模糊搜索 |
|
||||
| module | string | 否 | 模块名 |
|
||||
| status | int | 否 | 状态 |
|
||||
| pageNo | int | 否 | 页码 |
|
||||
| pageSize | int | 否 | 每页条数 |
|
||||
|
||||
返回 `data`:
|
||||
|
||||
@@ -200,11 +206,13 @@
|
||||
```
|
||||
|
||||
### 3.2 权限详情
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/permission/detail`
|
||||
- 参数:`permissionId`
|
||||
|
||||
### 3.3 创建权限
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/permission/create`
|
||||
|
||||
@@ -222,26 +230,29 @@
|
||||
```
|
||||
|
||||
### 3.4 更新权限
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/permission/update`
|
||||
|
||||
### 3.5 删除权限
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/permission/delete`
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 4. 菜单管理
|
||||
|
||||
### 4.1 菜单树
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/menu/tree`
|
||||
|
||||
请求参数:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| status | int | 否 | 状态过滤 |
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
| ------ | --- | -- | ---- |
|
||||
| status | int | 否 | 状态过滤 |
|
||||
|
||||
返回 `data`:
|
||||
|
||||
@@ -284,11 +295,13 @@
|
||||
```
|
||||
|
||||
### 4.2 菜单详情
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/menu/detail`
|
||||
- 参数:`menuId`
|
||||
|
||||
### 4.3 创建菜单
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/menu/create`
|
||||
|
||||
@@ -311,18 +324,21 @@
|
||||
```
|
||||
|
||||
### 4.4 更新菜单
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/menu/update`
|
||||
|
||||
### 4.5 删除菜单
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/menu/delete`
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 5. 角色权限分配
|
||||
|
||||
### 5.1 查询角色权限
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/role/permission/list`
|
||||
- 参数:`roleId`
|
||||
@@ -336,6 +352,7 @@
|
||||
```
|
||||
|
||||
### 5.2 分配角色权限
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/role/permission/assign`
|
||||
|
||||
@@ -356,11 +373,12 @@
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 6. 角色菜单分配
|
||||
|
||||
### 6.1 查询角色菜单
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/role/menu/list`
|
||||
- 参数:`roleId`
|
||||
@@ -374,6 +392,7 @@
|
||||
```
|
||||
|
||||
### 6.2 分配角色菜单
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/role/menu/assign`
|
||||
|
||||
@@ -394,22 +413,23 @@
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 7. 用户管理
|
||||
|
||||
### 7.1 用户列表
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/user/list`
|
||||
|
||||
请求参数:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| keyword | string | 否 | 用户名模糊搜索 |
|
||||
| status | int | 否 | 状态 |
|
||||
| pageNo | int | 否 | 页码 |
|
||||
| pageSize | int | 否 | 每页条数 |
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
| -------- | ------ | -- | ------- |
|
||||
| keyword | string | 否 | 用户名模糊搜索 |
|
||||
| status | int | 否 | 状态 |
|
||||
| pageNo | int | 否 | 页码 |
|
||||
| pageSize | int | 否 | 每页条数 |
|
||||
|
||||
返回 `data`:
|
||||
|
||||
@@ -437,6 +457,7 @@
|
||||
```
|
||||
|
||||
### 7.2 用户详情
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/user/detail`
|
||||
- 参数:`userId`
|
||||
@@ -450,6 +471,7 @@
|
||||
```
|
||||
|
||||
### 7.3 创建用户
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/user/create`
|
||||
|
||||
@@ -477,18 +499,21 @@
|
||||
```
|
||||
|
||||
### 7.4 更新用户
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/user/update`
|
||||
|
||||
### 7.5 删除用户
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/user/delete`
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 8. 用户角色分配
|
||||
|
||||
### 8.1 查询用户角色
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/user/role/list`
|
||||
- 参数:`userId`
|
||||
@@ -502,6 +527,7 @@
|
||||
```
|
||||
|
||||
### 8.2 分配用户角色
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/user/role/assign`
|
||||
|
||||
@@ -522,11 +548,12 @@
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 9. 认证接口
|
||||
|
||||
### 9.1 注册
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/auth/register`
|
||||
|
||||
@@ -546,15 +573,15 @@
|
||||
|
||||
请求参数说明:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| username | string | 是 | 登录用户名 |
|
||||
| password | string | 是 | 登录密码,当前直接写入 `password_hash` |
|
||||
| realName | string | 否 | 真实姓名 |
|
||||
| mobile | string | 否 | 手机号 |
|
||||
| email | string | 否 | 邮箱 |
|
||||
| avatar | string | 否 | 头像 |
|
||||
| createdBy | int | 否 | 创建人 |
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
| --------- | ------ | -- | --------------------------- |
|
||||
| username | string | 是 | 登录用户名 |
|
||||
| password | string | 是 | 登录密码,当前直接写入 `password_hash` |
|
||||
| realName | string | 否 | 真实姓名 |
|
||||
| mobile | string | 否 | 手机号 |
|
||||
| email | string | 否 | 邮箱 |
|
||||
| avatar | string | 否 | 头像 |
|
||||
| createdBy | int | 否 | 创建人 |
|
||||
|
||||
成功返回:
|
||||
|
||||
@@ -565,10 +592,12 @@
|
||||
```
|
||||
|
||||
失败场景:
|
||||
|
||||
- `username、password 为必传参数`
|
||||
- `用户名已存在!`
|
||||
|
||||
### 9.2 登录
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/auth/login`
|
||||
|
||||
@@ -583,10 +612,10 @@
|
||||
|
||||
请求参数说明:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---|---|---|---|
|
||||
| username | string | 是 | 登录用户名 |
|
||||
| password | string | 是 | 登录密码 |
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
| -------- | ------ | -- | ----- |
|
||||
| username | string | 是 | 登录用户名 |
|
||||
| password | string | 是 | 登录密码 |
|
||||
|
||||
成功返回 `data`:
|
||||
|
||||
@@ -608,21 +637,23 @@
|
||||
```
|
||||
|
||||
失败场景:
|
||||
|
||||
- `username、password 为必传参数`
|
||||
- `用户名或密码错误!`
|
||||
- `用户已禁用!`
|
||||
|
||||
登录成功额外返回:
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|---|---|---|
|
||||
| token | string | 登录令牌,存入 Redis |
|
||||
| token_type | string | 固定为 `Bearer` |
|
||||
| expires_in | int | token 过期时间,单位秒,当前为 7200 |
|
||||
| refresh_threshold_seconds | int | 自动续期阈值,单位秒,当前为 1800 |
|
||||
| refresh_mechanism | string | 刷新机制说明 |
|
||||
| 字段 | 类型 | 说明 |
|
||||
| --------------------------- | ------ | ----------------------- |
|
||||
| token | string | 登录令牌,存入 Redis |
|
||||
| token\_type | string | 固定为 `Bearer` |
|
||||
| expires\_in | int | token 过期时间,单位秒,当前为 7200 |
|
||||
| refresh\_threshold\_seconds | int | 自动续期阈值,单位秒,当前为 1800 |
|
||||
| refresh\_mechanism | string | 刷新机制说明 |
|
||||
|
||||
当前 token 机制:
|
||||
|
||||
- token 存储位置:Redis
|
||||
- Redis key 前缀:`effekt:token:`
|
||||
- token 过期时间:`7200` 秒(2小时)
|
||||
@@ -634,7 +665,7 @@
|
||||
|
||||
> 当前登录接口已返回 token、过期时间和刷新机制说明。
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 10. 一组联调示例
|
||||
|
||||
@@ -768,19 +799,21 @@ Authorization: Bearer <token>
|
||||
```
|
||||
|
||||
当前机制:
|
||||
|
||||
- token 存 Redis
|
||||
- 默认有效期:2 小时
|
||||
- 剩余有效期小于 30 分钟时,访问受保护接口会自动续期
|
||||
- 注册、登录接口不需要 token
|
||||
- 其他接口已逐步接入登录鉴权与权限限制
|
||||
|
||||
---
|
||||
***
|
||||
|
||||
## 11. 当前初始化 SQL 已包含的业务菜单
|
||||
|
||||
已补入以下可直接录入的菜单数据:
|
||||
|
||||
### 系统管理
|
||||
|
||||
- `system` 系统管理
|
||||
- `role_manage` 角色管理
|
||||
- `user_manage` 用户管理
|
||||
@@ -788,6 +821,7 @@ Authorization: Bearer <token>
|
||||
- `menu_manage` 菜单管理
|
||||
|
||||
### 测试平台
|
||||
|
||||
- `test_platform` 测试平台
|
||||
- `product_manage` 产品管理
|
||||
- `project_manage` 项目管理
|
||||
@@ -796,6 +830,7 @@ Authorization: Bearer <token>
|
||||
- `report_manage` 测试报告
|
||||
|
||||
### 造数工具
|
||||
|
||||
- `data_tools` 造数工具
|
||||
- `data_builder_manage` 数据库造数
|
||||
- `data_factory_manage` 造数工厂
|
||||
@@ -805,3 +840,4 @@ Authorization: Bearer <token>
|
||||
1. Swagger/OpenAPI 版本
|
||||
2. Apifox / Postman 导入版
|
||||
3. 初始化权限菜单角色的更完整种子数据
|
||||
|
||||
|
||||
Reference in New Issue
Block a user