API 文档
欢迎使用进北资源共享平台 API v1.0。本篇文档详细介绍了所有可用的 API 接口、请求参数和响应格式。
基础 URL
所有 API 请求的基础 URL 为:
https://jcbx.nstu.top
认证方式
大部分需要用户权限的接口,都需要在 HTTP Header 中携带 Bearer Token。
Authorization: Bearer <YOUR_TOKEN>
外部 API 接口需要携带 API Key。
X-API-KEY: <YOUR_API_KEY>
1. 认证 (Authentication)
1.1 用户注册
POST
/api/auth/register
使用邀请码创建一个新用户账号。
请求 Body:
{
"username": "testuser",
"password": "a_strong_password",
"inviteCode": "JCBX-NSTR-2025"
}
成功响应 (201 Created):
{
"message": "Registration successful",
"userId": "..."
}
1.2 用户登录
POST
/api/auth/login
使用用户名和密码登录,获取会话 Token。
请求 Body:
{
"username": "testuser",
"password": "a_strong_password"
}
成功响应 (200 OK):
{
"message": "Login successful",
"token": "a_long_session_token..."
}
2. 用户 (Users)
2.1 获取当前用户信息
GET
/api/users/me
获取当前登录用户的详细信息。 需要用户 Token
成功响应 (200 OK):
{
"id": "...",
"username": "testuser",
"roles": ["USER"],
"badges": [],
"createdAt": "2023-10-27T10:00:00.000Z",
"invitationCodes": ["CODE1", "CODE2", "CODE3"]
}
3. 管理后台 (Admin)
3.1 管理员登录
POST
/api/admin/login
使用全局后台密码登录,获取管理员 Token。
请求 Body:
{
"password": "jcBxsHarE-2025@adMin.nsTu.tOp"
}
成功响应 (200 OK):
{
"message": "Admin login successful",
"token": "admin-a_long_session_token..."
}
3.2 封禁用户
POST
/api/admin/users/ban
封禁指定用户。 需要 Staff Token
请求 Body:
{
"targetUserId": "user_id_to_ban",
"reason": "发布不当内容",
"duration": 86400
}
成功响应 (200 OK):
{
"message": "User user_id_to_ban has been banned by testuser. Reason: 发布不当内容"
}
3.3 生成 API Key
POST
/api/admin/apikeys/generate
为指定用户生成一个 API Key。 需要 Admin Token
请求 Body:
{
"targetUserId": "user_id_for_api_key",
"permissions": ["read_only", "read_posts"]
}
成功响应 (200 OK):
{
"message": "API Key generated successfully",
"apiKey": "jcbx_key_..."
}
4. 外部 API (API Key)
4.1 获取最新文章
GET
/api/external/latest-posts
使用 API Key 获取最新的文章列表。 需要 API Key
成功响应 (200 OK):
{
"message": "API Key is valid for user ...",
"latestPosts": [
{ "id": 1, "title": "欢迎来到进北资源共享平台" }
]
}