83 lines
1.9 KiB
Markdown
83 lines
1.9 KiB
Markdown
# 举报 / 反馈流程
|
||
|
||
本文档说明举报弹窗的提交流程及接口调用顺序。字段映射详见 **petsHeroAI_client_guide.md**。
|
||
|
||
---
|
||
|
||
## 一、前置校验
|
||
|
||
点击 Submit 时需校验:
|
||
|
||
| 校验项 | 要求 | 不满足时 |
|
||
|--------|------|----------|
|
||
| 文字输入 | 必填 | 提示用户填写描述 |
|
||
| 图片选择 | 必选 | 提示用户上传图片 |
|
||
|
||
---
|
||
|
||
## 二、接口调用顺序
|
||
|
||
### 2.1 获取上传 URL
|
||
|
||
| 接口 | 方法 | 说明 |
|
||
|------|------|------|
|
||
| `/v1/feedback/upload-presigned-url` | POST | 获取图片上传地址 |
|
||
|
||
**请求体(映射后)**:
|
||
- `layer` (fileName):文件名
|
||
|
||
**响应 data(映射后)**:
|
||
- `shed` (uploadUrl):上传 URL,用于 PUT 请求
|
||
- `hunt` (filePath):文件路径,用于 submit 的 fileUrls
|
||
|
||
---
|
||
|
||
### 2.2 上传图片
|
||
|
||
使用 **PUT** 方式将所选图片上传到上一步返回的 `uploadUrl`。
|
||
|
||
- 不经过代理,直接请求返回的 URL
|
||
- 请求体为图片二进制数据
|
||
- Content-Type 按 HTTP 规范填写(如 `image/jpeg`)
|
||
|
||
---
|
||
|
||
### 2.3 提交反馈
|
||
|
||
| 接口 | 方法 | 说明 |
|
||
|------|------|------|
|
||
| `/v1/feedback/submit` | POST | 提交举报内容 |
|
||
|
||
**请求体(映射后)**:
|
||
- `inventory` (fileUrls):文件路径列表,填入 2.1 返回的 `filePath`
|
||
- `cloak` (content):用户输入的文字描述
|
||
- `pauldron` (contentType):内容类型,按 HTTP 格式填写(如 `text/plain`)
|
||
|
||
---
|
||
|
||
## 三、流程概览
|
||
|
||
```
|
||
用户填写描述 + 选择图片
|
||
│
|
||
▼
|
||
校验:文字 + 图片均必填
|
||
│
|
||
▼
|
||
POST /v1/feedback/upload-presigned-url
|
||
body: { layer: fileName }
|
||
│
|
||
▼
|
||
获取 uploadUrl、filePath
|
||
│
|
||
▼
|
||
PUT 图片到 uploadUrl
|
||
│
|
||
▼
|
||
POST /v1/feedback/submit
|
||
body: { inventory: [filePath], cloak: content, pauldron: contentType }
|
||
│
|
||
▼
|
||
提交成功,关闭弹窗
|
||
```
|