Files
2026-07-09 14:24:46 +08:00

85 lines
2.1 KiB
Markdown
Raw Permalink 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.
# 新手引导状态(onboarding 族)
> 所属:User 组(前缀 `/api/v1/user` | 鉴权:全部 Bearer | [← 返回 API 索引](../README.md)
按(账号, 设备)维度跟踪新手引导完成状态,跨卸载重装持久。运营可在 admin 删记录触发重走。
---
## GET /onboarding/status — 查新手引导是否已完成
已登录用户启动时查:该(账号, 设备)走过引导没。`false` → 客户端应重走。
### 入参(query
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `device_id` | string | ❌(≤64 位) | 硬件级 ANDROID_ID;空 = 按未完成处理(不误跳过) |
Mock 请求:
```
GET /api/v1/user/onboarding/status?device_id=android_abc123def456
```
### 出参
响应 `200`:`OnboardingStatusResponse`
| 字段 | 类型 | 说明 |
|---|---|---|
| `completed` | bool | 该(设备+账号)是否已走过新手引导 |
Mock 出参:
```json
{"completed": true}
```
---
## POST /onboarding/complete — 标记新手引导完成
走完新手引导时调一次。按(当前账号, device_id)落一条完成标记,幂等(重复调用不报错)。
### 入参
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `device_id` | string | ✅ | 硬件级 ANDROID_ID(与登录请求一致) |
Mock 入参:
```json
{
"device_id": "android_abc123def456"
}
```
### 出参
```json
{"ok": true}
```
---
## POST /api/v1/user/onboarding/reset — 重置新手引导(#114)
删除(当前账号, `device_id`)的完成标记 → 该设备下次登录/进 App 重走引导。给客户端「设置 → 重看新手引导」入口用(此前只能运营在 admin 删记录)。
### 入参
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `device_id` | string | ✅ | 硬件级 ANDROID_ID(与 complete 一致) |
### 出参
```json
{"ok": true}
```
幂等:无标记时也返回 ok。
---
## 说明
- 替代原 `force_onboarding`(按用户)→ 改设备维度后,运营删记录(或用户自己 reset)即触发重走
- 幂等:重复标记 / 重复重置都不报错
- `device_id` 为空时 `status` 一律返回未完成