跳转至

API 文档

RushChat 的 RESTful API 接口文档。

API 概览

基础信息

  • Base URL: http://localhost:5001/api
  • Content-Type: application/json
  • 认证方式: Session(通过 WebSocket 或 Cookie)

认证相关

用户注册

POST /api/auth/register

请求体

{
  "username": "string",
  "password": "string",
  "email": "string (optional)",
  "invite_code": "string (optional)"
}

响应

{
  "success": true,
  "message": "注册成功",
  "user": {
    "username": "string",
    "points": 0
  }
}

用户登录

POST /api/auth/login

请求体

{
  "username": "string",
  "password": "string"
}

响应

{
  "success": true,
  "message": "登录成功",
  "user": {
    "username": "string",
    "admin_level": null
  }
}

用户相关

获取用户信息

GET /api/user/:username

响应

{
  "username": "string",
  "email": "string",
  "avatar": "string (base64)",
  "points": 0,
  "admin_level": null,
  "honor_level": 0
}

更新用户资料

PUT /api/user/:username

请求体

{
  "email": "string (optional)",
  "avatar": "string (base64, optional)",
  "evm_address": "string (optional)",
  "sol_address": "string (optional)",
  "password": "string (optional)"
}

获取用户荣誉信息

GET /api/user/:username/honor

响应

{
  "honor_level": 0,
  "total_points": 0,
  "online_hours": 0,
  "invite_count": 0,
  "message_count": 0
}

频道相关

获取频道列表

GET /api/channels

响应

{
  "channels": [
    {
      "id": 1,
      "name": "string",
      "is_private": false,
      "owner_username": "string"
    }
  ]
}

创建频道

POST /api/channels

请求体

{
  "name": "string",
  "is_private": true,
  "password": "string (optional)"
}

更新频道

PUT /api/channels/:channel_id

删除频道

DELETE /api/channels/:channel_id

消息相关

获取历史消息

GET /api/messages?channel_id=1&limit=50

查询参数: - channel_id: 频道 ID - limit: 返回数量(默认 50) - before: 在此消息 ID 之前(分页)

置顶消息

POST /api/messages/:messageId/pin

取消置顶

POST /api/messages/:messageId/unpin

表情包相关

上传表情包

POST /api/stickers/upload

请求multipart/form-data - file: GIF 图片文件 - sticker_name: 表情包名称(可选)

获取表情包列表

GET /api/stickers?username=xxx

删除表情包

DELETE /api/stickers/:sticker_id

红包相关

创建红包

POST /api/red-packets

领取红包

POST /api/red-packets/:packet_id/claim

错误响应

所有错误响应格式:

{
  "success": false,
  "error": "错误消息"
}

相关文档