This commit is contained in:
anlicheng 2026-03-20 10:58:23 +08:00
parent 7b834f46d8
commit a2795d3db8

191
Register.md Normal file
View File

@ -0,0 +1,191 @@
# 注册流程
## 1. 发送验证码
url: /register/sendVerfiyCode
method: POST
params: {
username: $username,
account_type: "email|phone_num"
}
result:
success: {code: 0, data: {"session_id": int}}
error: {code: -1, message: "操作失败"}
## 2. 提及验证码
url: /register/verfiyCode
method: POST
params: {
session_id: $session_id,
code: int
}
result:
success: {code: 0, data: "ok"}
error: {code: -1, message: "验证码错误"}
## 3. 注册
url: /register/submit
method: POST
params: {
session_id: $session_id,
password: $password
}
result:
success: {code: 0, data: "ok"}
error: {code: -1, message: "注册失败"}
# 找回密码流程
## 1. 发送验证码
url: /password/sendVerfiyCode
method: POST
params: {
username: $username,
account_type: "email|phone_num"
}
result:
success: {code: 0, data: {"session_id": int}}
error: {code: -1, message: "操作失败"}
## 2. 提及验证码
url: /password/verfiyCode
method: POST
params: {
session_id: $session_id,
code: int
}
result:
success: {code: 0, data: "ok"}
error: {code: -1, message: "验证码错误"}
## 3. 注册
url: /password/reset
method: POST
params: {
session_id: $session_id,
new_password: $new_password
}
result:
success: {code: 0, data: "ok"}
error: {code: -1, message: "注册失败"}
# 注册和找回密码公用的session的结构
```text
session:
{
session_id,
username,
code,
verified,
expire_at,
used
}
✅ 3. 必须有过期时间
建议:
验证码5分钟
session10分钟
✅ 4. 限流(强烈建议)
sendVerifyCode
每个 username60 秒一次
每个 IP限制
✅ 5. 防枚举(重要)
错误返回统一:
"操作失败"
不要区分:
用户存在
用户不存在
```
# app相关的接口
## 1. 检查版本
url: /app/checkUpdate
method: POST
params: {
app_id: "your_app", // 应用标识
platform: "macos", // 平台
version: "1.2.3", // 当前版本
build: 123, // 构建号(非常重要)
channel: "appstore|direct", // 渠道(可选)
}
result:
success: {
code: 0,
data: {
has_update: true,
latest_version: "1.3.0",
latest_build: 150,
force_update: false,
download_url: "https://xxx.com/app.pkg",
release_notes: "修复了一些问题",
min_supported_version: "1.0.0",
publish_time: 1710000000
}
}
error: {
code: -1,
message: "检查失败"
}
## 2. app当前隐私政策和服务条款
url: /app/policies
method: POST
params: {
platform: "macos"
}
result:
{
code: 0,
data: {
privacy_policy_url: "https://xxx.com/privacy",
terms_of_service_url: "https://xxx.com/terms",
privacy_policy_version: "2026-01-01",
terms_version: "2026-01-01"
}
}
## 3. 用户反馈
url: /app/issue
method: POST
params: {
username: $username,
// 联系方式
contact: $contact,
platform: "macos",
content: $content
}
result:
{
code: 0,
data: "ok"
}