Hono API 接口文档
POST /users/register
用户注册接口,需提供邮箱、密码、用户名和 Turnstile 验证令牌。
请求体:
{
"email": "user@example.com",
"password": "yourPassword",
"userName": "可选用户名",
"turnstileToken": "turnstile响应令牌"
}
响应:
{
"ok": true,
"email_id": "verificationId",
"userName": "可选用户名",
"email": "user@example.com",
"user_id": "generatedUserId"
}
POST /users/verify
验证邮箱验证码,激活用户账户。
请求体:
{
"id": "verificationId",
"code": "123456"
}
响应:
{
"ok": true
}
POST /users/resend-code
重新发送邮箱验证码,需验证 Turnstile。
请求体:
{
"user_id": "existingUserId",
"turnstileToken": "turnstile响应令牌"
}
响应:
{
"ok": true
}
GET /users/verify/:id/:code
点击式邮箱验证,通过链接激活账户。
响应: HTML 页面,显示“验证成功”或“验证失败”
POST /users/login
用户登录接口,验证邮箱、密码和 Turnstile。
请求体:
{
"email": "user@example.com",
"password": "yourPassword",
"turnstileToken": "turnstile响应令牌"
}
响应:
{
"token": "authTokenString",
"expires_at": 1680000000
}
POST /users/me/avatar
上传当前用户头像,必须使用 multipart/form-data,字段名为 avatar。
请求示例:
Content-Type: multipart/form-data
字段 avatar: (image 文件)
响应:
{
"ok": true,
"avatar_key": "avatars/userId/randomHex-filename.png"
}
POST /users/delete
请求删除账户,系统会发送删除确认邮件。
响应:
{
"ok": true
}
POST /users/delete/confirm
通过验证码确认并删除账户。
请求体:
{
"id": "deleteVerificationId",
"code": "123456"
}
响应:
{
"ok": true
}
GET /users/delete/confirm/:id/:code
点击式删除确认,通过链接删除账户。
响应: HTML 页面,显示“账户已删除”或“删除失败”
GET /users/me/profile
获取当前用户的个人简介(profile 字段)。
响应:
{
"profile": "用户的个性签名或简介文本"
}
POST /users/me/profile
更新当前用户的个人简介。
请求体:
{
"profile": "新的简介文本"
}
响应:
{
"ok": true
}
管理员接口
GET /admin/users
获取所有用户的信息列表(需要管理员权限)。
响应:
[
{
"id": "...",
"email": "...",
"user_name": "...",
"is_active": 1,
"is_admin": 0,
"avatar_key": "...",
"created_at": 1680000000
},
...
]
POST /admin/users
创建新用户,可同时设置管理员权限。
请求体:
{
"email": "new@example.com",
"password": "可选密码",
"userName": "可选用户名",
"is_admin": true
}
响应:
{
"ok": true,
"id": "newUserId"
}
GET /admin/users/:id
获取指定用户的详情(需管理员权限)。
响应:
{
"id": "...",
"email": "...",
"user_name": "...",
"avatar_key": "...",
"is_admin": true,
"is_active": true,
"created_at": 1680000000
}
DELETE /admin/users/:id
删除指定用户(需管理员权限)。
响应:
{
"ok": true
}
GET /admin/users/:id/profile
获取指定用户的个人简介(需管理员权限)。
响应:
{
"profile": "用户的简介文本"
}
POST /admin/users/:id/profile
更新指定用户的个人简介(需管理员权限)。
请求体:
{
"profile": "新的简介文本"
}
响应:
{
"ok": true
}
POST /system/turnstile_site_key
获取 Cloudflare Turnstile 的站点密钥,不会返回私钥。
响应:
{
"turnstile_site_key": "yourSiteKey"
}
ALL *
处理所有未匹配到的请求,返回 404。
响应: 'not found'