所有需求实现完成
This commit is contained in:
+181
-10
@@ -53,12 +53,177 @@
|
||||
|
||||
---
|
||||
|
||||
## 3. 项目列表
|
||||
## 2.2 用户管理(仅管理员)
|
||||
|
||||
以下接口仅**管理员**角色可调用,用于查看、创建、修改、删除其他用户。非管理员返回 HTTP 403。
|
||||
|
||||
### 2.2.0 用户列表
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| **接口** | `POST /api/users/list` |
|
||||
| **说明** | 分页获取用户列表(不含密码) |
|
||||
| **权限** | 已登录,且角色为管理员 |
|
||||
|
||||
#### 请求参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| page | number | 否 | 页码,从 1 开始,默认 1 |
|
||||
| pageSize | number | 否 | 每页条数,默认 100 |
|
||||
|
||||
#### 响应参数(成功,HTTP 200)
|
||||
|
||||
| 参数名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| list | array | 用户列表 |
|
||||
| list[].id | string | 用户 ID |
|
||||
| list[].username | string | 账号 |
|
||||
| list[].role | string | 角色 |
|
||||
| list[].displayName | string | 显示名称 |
|
||||
| list[].createdAt | string | 创建时间,ISO8601 |
|
||||
| list[].updatedAt | string | 更新时间,ISO8601 |
|
||||
| total | number | 总条数 |
|
||||
| page | number | 当前页码 |
|
||||
| pageSize | number | 每页条数 |
|
||||
|
||||
---
|
||||
|
||||
### 2.2.1 创建用户
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| **接口** | `POST /api/users/create` |
|
||||
| **说明** | 创建新用户 |
|
||||
| **权限** | 已登录,且角色为管理员 |
|
||||
|
||||
#### 请求参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| username | string | 是 | 账号(唯一) |
|
||||
| password | string | 是 | 密码 |
|
||||
| role | string | 是 | 角色:管理员、市场部、工程部、技经部、财务部、物贸部 |
|
||||
| displayName | string | 否 | 显示名称,默认同 username |
|
||||
|
||||
#### 响应参数(成功,HTTP 201)
|
||||
|
||||
| 参数名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| id | string | 新用户 ID |
|
||||
| message | string | 固定为「创建成功」 |
|
||||
|
||||
#### 响应参数(失败)
|
||||
|
||||
| HTTP 状态 | 说明 |
|
||||
|-----------|------|
|
||||
| 400 | 账号/密码为空、角色无效、账号已存在 |
|
||||
| 403 | 非管理员 |
|
||||
|
||||
---
|
||||
|
||||
### 2.2.2 更新用户
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| **接口** | `POST /api/users/update` |
|
||||
| **说明** | 修改指定用户(仅更新传入的字段) |
|
||||
| **权限** | 已登录,且角色为管理员 |
|
||||
|
||||
#### 请求参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | string | 是 | 用户 ID |
|
||||
| password | string | 否 | 新密码,不传则不修改 |
|
||||
| role | string | 否 | 新角色 |
|
||||
| displayName | string | 否 | 新显示名称 |
|
||||
|
||||
#### 响应参数(成功,HTTP 200)
|
||||
|
||||
| 参数名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| id | string | 用户 ID |
|
||||
| message | string | 固定为「保存成功」 |
|
||||
|
||||
#### 响应参数(失败)
|
||||
|
||||
| HTTP 状态 | 说明 |
|
||||
|-----------|------|
|
||||
| 400 | 角色无效等 |
|
||||
| 403 | 非管理员 |
|
||||
| 404 | 用户不存在 |
|
||||
|
||||
---
|
||||
|
||||
### 2.2.3 删除用户
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| **接口** | `POST /api/users/delete` |
|
||||
| **说明** | 删除指定用户。不能删除当前登录用户。 |
|
||||
| **权限** | 已登录,且角色为管理员 |
|
||||
|
||||
#### 请求参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | string | 是 | 用户 ID |
|
||||
|
||||
#### 响应参数(成功,HTTP 200)
|
||||
|
||||
| 参数名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| message | string | 固定为「删除成功」 |
|
||||
|
||||
#### 响应参数(失败)
|
||||
|
||||
| HTTP 状态 | 说明 |
|
||||
|-----------|------|
|
||||
| 400 | 不能删除当前登录用户 |
|
||||
| 403 | 非管理员 |
|
||||
| 404 | 用户不存在 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 项目统计
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| **接口** | `POST /api/projects/statistics` |
|
||||
| **说明** | 获取项目统计信息。传入 statisticsType=全部 返回各类型数量(byType);传入具体类型返回该类型项目列表 |
|
||||
| **权限** | 已登录,所有角色可访问 |
|
||||
|
||||
#### 请求参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| statisticsType | string | 否 | 全部(默认)返回各类型数量;基建工程、业扩项目、户表、客户工程、营销项目、检修-技改-抢修、其他 返回该类型项目列表 |
|
||||
|
||||
#### 响应参数(statisticsType=全部)
|
||||
|
||||
| 参数名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| total | number | 项目总数 |
|
||||
| statisticsType | string | 固定为「全部」 |
|
||||
| byType | object | 各统计类型数量,如 { "基建工程": 10, "业扩项目": 5, "其他": 3 } |
|
||||
|
||||
#### 响应参数(statisticsType 为具体类型)
|
||||
|
||||
| 参数名 | 类型 | 说明 |
|
||||
|--------|------|------|
|
||||
| total | number | 该类型项目数 |
|
||||
| statisticsType | string | 请求的统计类型 |
|
||||
| list | array | 该类型项目列表,结构同项目列表 list[].* |
|
||||
|
||||
---
|
||||
|
||||
## 4. 项目列表
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
| **接口** | `POST /api/projects/list` |
|
||||
| **说明** | 分页获取项目列表,支持按名称/合同编号搜索、按进度/费用/合同金额筛选、时间筛选、日期异常筛选 |
|
||||
| **说明** | 分页获取项目列表,支持按名称/合同编号搜索、按进度/费用/合同金额/统计类型筛选、时间筛选、日期异常筛选 |
|
||||
| **权限** | 已登录,所有角色可访问 |
|
||||
|
||||
#### 请求参数
|
||||
@@ -77,6 +242,7 @@
|
||||
| dateAbnormal | boolean | 否 | 为 true 时只返回「日期异常」项目(四个日期中任意一个非「日期正常」) |
|
||||
| amountMin | number | 否 | 合同金额(万元)下限,按中标合同金额筛选 |
|
||||
| amountMax | number | 否 | 合同金额(万元)上限,按中标合同金额筛选 |
|
||||
| statisticsType | string | 否 | 统计类型筛选:全部、基建工程、业扩项目、户表、客户工程、营销项目、检修-技改-抢修、其他 |
|
||||
|
||||
#### 响应参数(成功,HTTP 200)
|
||||
|
||||
@@ -84,6 +250,7 @@
|
||||
|--------|------|------|
|
||||
| list | array | 项目列表,无数据时为空数组 |
|
||||
| list[].id | string | 项目 ID |
|
||||
| list[].statisticsType | string | 统计类型 |
|
||||
| list[].projectName | string | 项目名称 |
|
||||
| list[].contractCode | string | 合同编号 |
|
||||
| list[].progress | string | 项目进度 |
|
||||
@@ -101,7 +268,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 4. 项目详情
|
||||
## 5. 项目详情
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
@@ -137,7 +304,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 5. 新建项目
|
||||
## 6. 新建项目
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
@@ -183,7 +350,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 6. 更新项目
|
||||
## 7. 更新项目
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
@@ -218,7 +385,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 7. 操作日志
|
||||
## 8. 操作日志
|
||||
|
||||
| 项目 | 说明 |
|
||||
|------|------|
|
||||
@@ -258,7 +425,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 8. 项目信息字段(5 个分类)
|
||||
## 9. 项目信息字段(5 个分类)
|
||||
|
||||
以下为各分类在 **请求/响应** 中使用的字段定义;单位、是否必填、校验规则由后端统一规定,前端与后端对齐。
|
||||
|
||||
@@ -349,7 +516,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 9. 项目列表/筛选枚举
|
||||
## 10. 项目列表/筛选枚举
|
||||
|
||||
以下由后端定义并提供给前端(如通过配置接口或文档约定):
|
||||
|
||||
@@ -360,7 +527,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 10. 统一错误响应
|
||||
## 11. 统一错误响应
|
||||
|
||||
| HTTP 状态 | 说明 |
|
||||
|-----------|------|
|
||||
@@ -394,11 +561,15 @@
|
||||
|
||||
---
|
||||
|
||||
## 11. 接口一览
|
||||
## 12. 接口一览
|
||||
|
||||
| 接口 | 方法 | 说明 | 权限 |
|
||||
|------|------|------|------|
|
||||
| /api/auth/login | POST | 登录 | 公开 |
|
||||
| /api/users/list | POST | 用户列表(分页) | 已登录且管理员 |
|
||||
| /api/users/create | POST | 创建用户 | 已登录且管理员 |
|
||||
| /api/users/update | POST | 更新用户 | 已登录且管理员 |
|
||||
| /api/users/delete | POST | 删除用户 | 已登录且管理员 |
|
||||
| /api/projects/list | POST | 项目列表(搜索、筛选、分页) | 已登录 |
|
||||
| /api/projects/detail | POST | 项目详情 | 已登录 |
|
||||
| /api/projects/create | POST | 新建项目 | 已登录且市场部 |
|
||||
|
||||
Reference in New Issue
Block a user