📡 API 接口文档

UserHub 用户管理系统 · 开发者对接指南

📌 基础地址 https://api.zd8.icu/api.php
8
📋 接口总数
5
🔒 需要登录
3
🌐 公开接口
v1.0
📦 当前版本
🌐 公开接口 3
POST /api.php ?action=register 🔓 无需登录

用户注册,支持用户名+邮箱+密码注册

📥 请求参数
参数名类型必填说明
actionstring✅ 必填固定值:register
usernamestring✅ 必填用户名,3-20位
emailstring✅ 必填邮箱地址
passwordstring✅ 必填密码,至少6位
nicknamestring⭕ 选填昵称,不填默认用用户名
📤 请求示例
{ "action": "register", "username": "zhangsan", "email": "zhangsan@qq.com", "password": "123456", "nickname": "张三" }
📥 返回示例(成功)
{ "code": 200, "msg": "注册成功", "data": { "uid": 1, "username": "zhangsan", "email": "zhangsan@qq.com", "nickname": "张三", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } }
📥 AndLua 调用示例
-- AndLua 注册示例 local postData = cjson.encode({ action = "register", username = "zhangsan", email = "zhangsan@qq.com", password = "123456", nickname = "张三" }) local result = http.post("https://api.zd8.icu/api.php", postData, {["Content-Type"] = "application/json"}) local data = cjson.decode(result) -- data.code == 200 表示成功
// 原始 JSON 请求 POST /api.php Content-Type: application/json { "action": "register", "username": "zhangsan", "email": "zhangsan@qq.com", "password": "123456" }
POST /api.php ?action=login 🔓 无需登录

用户登录,支持用户名或邮箱登录

📥 请求参数
参数名类型必填说明
actionstring✅ 必填固定值:login
accountstring✅ 必填用户名或邮箱
passwordstring✅ 必填密码
📤 请求示例
{ "action": "login", "account": "zhangsan", "password": "123456" }
📥 返回示例(成功)
{ "code": 200, "msg": "登录成功", "data": { "uid": 1, "username": "zhangsan", "nickname": "张三", "avatar": "https://api.dicebear.com/7.x/avataaars/svg?seed=zhangsan", "role": 0, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } }
📥 AndLua 调用示例
-- AndLua 登录示例 local postData = cjson.encode({ action = "login", account = "zhangsan", password = "123456" }) local result = http.post("https://api.zd8.icu/api.php", postData) local data = cjson.decode(result) -- 保存 Token: settings.putString("token", data.data.token)
GET /api.php ?action=announcement 🔓 无需登录

获取远程公告(扩展功能,后续可加)

📥 请求参数
参数名类型必填说明
actionstring✅ 必填固定值:announcement
📥 返回示例
{ "code": 200, "msg": "success", "data": { "announcement": "欢迎使用 UserHub!" } }
🔒 需要登录(需携带 Token) 5
GET /api.php ?action=userinfo 🔐 需要登录

获取当前登录用户的详细信息

📤 请求头
Authorization: Bearer {你的Token}
📥 返回示例(成功)
{ "code": 200, "data": { "id": 1, "username": "zhangsan", "email": "zhangsan@qq.com", "nickname": "张三", "avatar": "https://api.dicebear.com/7.x/avataaars/svg?seed=zhangsan", "gender": 1, "birthday": "2000-01-01", "signature": "好好学习,天天向上", "role": 0, "create_time": "2026-01-01 12:00:00", "last_login_time": "2026-06-25 19:00:00" } }
📥 AndLua 调用示例
-- AndLua 获取用户信息 local token = settings.getString("token", "") local headers = {["Authorization"] = "Bearer " .. token} local result = http.get("https://api.zd8.icu/api.php?action=userinfo", headers) local data = cjson.decode(result) -- data.data 里就是用户信息
POST /api.php ?action=update_profile 🔐 需要登录

更新当前登录用户的个人信息

📥 请求参数
参数名类型必填说明
actionstring✅ 必填固定值:update_profile
nicknamestring⭕ 选填昵称
genderint⭕ 选填0未知 1男 2女
birthdaystring⭕ 选填YYYY-MM-DD
signaturestring⭕ 选填个性签名
📤 请求示例
{ "action": "update_profile", "nickname": "小张三", "gender": 1, "birthday": "2000-01-01", "signature": "好好生活" }
POST /api.php ?action=change_password 🔐 需要登录

修改当前登录用户的密码

📥 请求参数
参数名类型必填说明
actionstring✅ 必填固定值:change_password
old_passwordstring✅ 必填原密码
new_passwordstring✅ 必填新密码,至少6位
📤 请求示例
{ "action": "change_password", "old_password": "123456", "new_password": "654321" }
POST /api.php ?action=logout 🔐 需要登录

退出登录(客户端清除 Token 即可)

📤 请求示例
{ "action": "logout" }
GET /api.php ?action=verify 🔐 需要登录

验证当前 Token 是否有效

📤 请求头
Authorization: Bearer {你的Token}
📥 返回示例
{ "code": 200, "msg": "Token有效" } // 或 {"code":401,"msg":"Token无效"}
📋 返回码说明 6
200 ✅ 请求成功
400 ❌ 参数错误
401 🔒 未登录/Token过期
403 🚫 无权限
404 🔍 资源不存在
409 ⚠️ 冲突(用户名已存在等)
500 💥 服务器错误