用户系统
Anniv
的用户系统分为注册、登录、注销三个部分。
错误代码一览
错误代码 | 详情 |
---|---|
102000 | 昵称不可用 |
102001 | 注册邮箱不可用 |
102010 | 邮箱或密码错误 |
102020 | 用户不存在 |
对用户密码的预处理
客户端在向服务端发送密码之前,须对用户的明文密码进行一次 sha256
处理。该步骤仅在一定程度上减少用户原文密码的泄露,但仍可以通过诸如彩虹表的方式破解。
用户信息
Endpoint
GET /api/user/info
返回
返回当前用户信息(UserInfo
)。
返回参数
参数名 | 类型 | 详情 |
---|---|---|
user_id | string | 用户 ID |
email | string | 邮箱 |
nickname | string | 昵称 |
avatar | string | 头像链接 |
参数表示
interface UserInfo {
user_id: string;
email: string;
nickname: string;
avatar: string;
}
修改密码
Endpoint
PATCH /api/user/password
请求参数
参数名 | 类型 | 详情 |
---|---|---|
old_password | string | 原密码 |
new_password | string | 新密码 |
返回
原密码正确时,将用户密码修改为新密码。
错误列表
错误代码 | 详情 |
---|---|
102010 | 原密码错误 |
用户简介
Endpoint
GET /api/user/intro
请求
请求参数
参数名 | 类型 | 详情 |
---|---|---|
user_id | string | 用户 ID |
返回
返回指定用户的用户简介(UserIntro
)。
返回参数
参数名 | 类型 | 详情 |
---|---|---|
user_id | string | 用户 ID |
nickname | string | 昵称 |
avatar | string | 头像链接 |
参数表示
interface UserIntro {
user_id: string;
nickname: string;
avatar: string;
}
错误列表
错误代码 | 详情 |
---|---|
102020 | 用户不存在 |
修改简介
Endpoint
PATCH /api/user/intro
请求参数
参数名 | 类型 | 详情 |
---|---|---|
nickname | string | 昵称 |
avatar | string | 头像 |
返回
当用户已登录时,修改用户昵称与头像。
错误列表
错误代码 | 详情 |
---|---|
102000 | 昵称不可用 |
用户注册
该接口无需用户登录。
Endpoint
POST /api/user/register
请求
请求参数
参数名 | 类型 | 详情 |
---|---|---|
password | string | 密码 |
email | string | 邮箱 |
nickname | string | 昵称 |
avatar | string | 头像链接 |
返回
注册成功时,返回用户信息(UserInfo
)。
参数表示
interface UserRegisterBody {
email: string;
password: string;
nickname: string;
avatar: string;
}
错误列表
错误代码 | 详情 |
---|---|
102000 | 注册昵称不可用 |
102001 | 注册邮箱不可用 |
102002 | 注册密码格式错误 |
用户登录
该接口无需用户登录。
Endpoint
POST /api/user/login
请求
请求参数
参数 | 类型 | 详情 |
---|---|---|
email | string | 邮箱 |
password | string | 密码 |
返回
登录成功时,返回用户信息(UserInfo
)。
参数表示
interface UserLoginBody {
email: string;
password: string;
}
错误列表
错误代码 | 详情 |
---|---|
102010 | 邮箱或密码错误 |
用户退出
Endpoint
POST /api/user/logout
客户端设计指引
当用户退出成功时,建议清理对应客户端的 Cookie
。
用户注销
注销当前用户帐号。
Endpoint
POST /api/user/revoke
参数表示
interface UserRevokeBody {
// 暂空
}
客户端设计指引
用户注销接口一旦请求,用户立即注销。客户端在设计时应考虑增加多道确认步骤。
错误列表
错误代码 | 详情 |
---|---|
102020 | 用户不存在,该错误可能出现于客户端保留了注销前的凭据 |
使用情况
该接口无需用户登录。
Endpoint
POST /api/user/register/check
请求
请求参数
参数 | 类型 | 详情 |
---|---|---|
email | string | 邮箱 |
错误列表
错误代码 | 详情 |
---|---|
102001 | 注册邮箱不可用 |