petsHero-AI/docs/api_flow_summary.md
2026-03-09 11:41:49 +08:00

166 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# petsHeroAI 接口调用流程说明
## 一、整体流程
```
┌─────────────────────────────────────────────────────────────────┐
│ 客户端请求流程 │
└─────────────────────────────────────────────────────────────────┘
业务参数(原始字段)
┌─────────────┐
│ 字段名映射 │ body / params / headers 中的原始字段 → V2 字段
└─────────────┘
┌─────────────┐
│ V2 包装 │ 将 body 包装为 arsenal/vault/tome/codex/grimoire/sanctum 结构
└─────────────┘
┌─────────────┐
│ JSON 序列化 │
└─────────────┘
┌─────────────┐
│ AES+Base64 │ AES-128-ECB, PKCS5Padding 加密
└─────────────┘
┌─────────────┐
│ 构造代理请求 │ 填入 hero_class, pet_species, power_level 等参数
└─────────────┘
POST {baseUrl}/quester/defender/summoner
```
## 二、响应处理流程
```
POST 代理入口响应
┌─────────────┐
│ 提取密文 │ 从响应中获取加密字段
└─────────────┘
┌─────────────┐
│ Base64 解码 │
└─────────────┘
┌─────────────┐
│ AES 解密 │ AES-128-ECB 解密
└─────────────┘
┌─────────────┐
│ JSON 解析 │
└─────────────┘
┌─────────────┐
│ 字段逆映射 │ V2 字段 → 原始字段 (便于业务使用)
└─────────────┘
业务数据 (code/msg/data)
```
## 三、接口分类与调用顺序
### 3.1 登录与用户
| 顺序 | 接口 | 方法 | 说明 |
|------|------|------|------|
| 1 | `/v1/user/fast_login` | POST | 设备快速登录,获取 userToken |
| 2 | `/v1/user/common_info` | GET | 获取用户通用信息(含积分、头像等) |
| 3 | `/v1/user/account` | GET | 获取用户账户信息 |
| 4 | `/v1/user/referrer` | POST | 归因上报 |
| 5 | `/v1/user/delete` | GET | 注销账户 |
### 3.2 支付
| 顺序 | 接口 | 方法 | 说明 |
|------|------|------|------|
| 1 | `/v1/payment/getGooglePayActivities` | GET | 获取 Google 商品列表 |
| 2 | `/v1/payment/getApplePayActivities` | GET | 获取 Apple 商品列表 |
| 3 | `/v1/payment/createPayment` | POST | 创建支付订单 |
| 4 | `/v1/payment/googlepay` | POST | Google 支付结果回调 |
| 5 | `/v1/payment/applepay` | POST | Apple 支付结果回调 |
| 6 | `/v1/payment/getPaymentDetailList` | GET | 获取支付订单列表 |
### 3.3 图片生成
| 顺序 | 接口 | 方法 | 说明 |
|------|------|------|------|
| 1 | `/v1/image/prompt/recomends` | GET | 获取推荐提示词 |
| 2 | `/v1/image/txt2img_tags` | GET | 获取文生图标签 |
| 3 | `/v1/image/txt2img_prompts` | POST | 获取文生图提示词模板 |
| 4 | `/v1/image/txt2img_create` | POST | 创建文生图任务 |
| 5 | `/v1/image/progress` | GET | 查询图片生成进度 |
### 3.4 图转视频
| 顺序 | 接口 | 方法 | 说明 |
|------|------|------|------|
| 1 | `/v1/image/img2Video_pose_template` | GET | 获取图转视频姿态模板 |
| 2 | `/v1/image/img2video_pose_task` | POST | 创建图转视频姿态任务 |
| 3 | `/v1/image/progress` | GET | 查询任务进度 |
### 3.5 换衣 / 换脸
| 顺序 | 接口 | 方法 | 说明 |
|------|------|------|------|
| 1 | `/v1/image/clothes_template` | GET | 获取换衣模板 |
| 2 | `/v1/image/clothes_swap_ex` | POST | 创建换衣任务 |
| 3 | `/v1/image/faceswap_task` | POST | 创建换脸任务 |
| 4 | `/v1/image/video_facewap_task` | POST | 创建视频换脸任务 |
### 3.6 其他
| 接口 | 方法 | 说明 |
|------|------|------|
| `/v1/image/category-list` | GET | 获取分类列表 |
| `/v1/log/appevent` | POST | App 事件打点上报 |
| `/v1/image/getCreditsPageInfo` | GET | 获取积分页面信息 |
| `/v1/log/uploadUrl` | POST | 获取预签名上传 URL |
## 四、通用请求头
登录后所有请求需携带:
| 原始字段 | V2 字段 | 说明 |
|----------|---------|------|
| pkg | portal | 应用包名,必填,如 `com.petsheroai.app` |
| User_token | knight | 用户登录 token |
## 五、通用响应结构
```json
{
"code": 0, // helm0=成功
"msg": "", // rampart消息
"data": {} // sidekick业务数据
}
```
## 六、错误码
| code | 说明 |
|------|------|
| 0 | 成功 |
| -1 | 系统错误 |
| -2 | 未登录 |
| -3 | 无权限 |
| -4 | 请求过于频繁 |
| -5 | 参数错误 |
| 1001 | 积分不足 |
| 1002 | 免费次数已用完 |
| 1003 | 免费次数和积分均已用完 |