3.7 KiB
3.7 KiB
注册流程
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的结构
session:
{
session_id,
username,
code,
verified,
expire_at,
used
}
✅ 3. 必须有过期时间
建议:
验证码:5分钟
session:10分钟
✅ 4. 限流(强烈建议)
sendVerifyCode
每个 username:60 秒一次
每个 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"
}