import {type PolicySection} from "./types" import {CodeBlock} from "@/components/ui/code-block" import { DocsTable, DocsTableBody, DocsTableCell, DocsTableHead, DocsTableHeader, DocsTableRow, } from "@/components/ui/docs-table" export const DOCS_LAST_UPDATED = "2026-06-07" /** * ------------------------------------------------------------------ * API 文档 * ------------------------------------------------------------------ */ export const apiSections: PolicySection[] = [ { value: "api-specs", title: "1. 接口规范与鉴权说明", content: (

平台统一接口调用格式规范以及开发者访问令牌鉴权方式说明

1.1 统一响应格式

系统所有 API 接口均遵循标准 JSON 响应结构:

字段 类型 说明 error_msg string 错误信息。请求成功时为空字符串 `""`,失败时包含错误详情描述。 data any 接口返回的具体数据内容。请求失败或无数据返回时为 `null`。

成功响应示例:

失败响应示例:

1.2 鉴权方式

除了公共公开接口(如登录、注册、配置)外,受保护的接口需要携带凭证才能正常访问:

  • Session 凭证:浏览器环境下支持利用常规 Session Cookie 会话保持登录。
  • AccessToken 令牌:供后台调用或第三方应用集成使用。客户端生成 API 访问令牌后,需要在请求头(Request Header)中携带以进行身份校验。

支持携带令牌的请求头格式(二选一):

  • Authorization: Bearer at_xxx
  • X-Access-Token: at_xxx
), children: [ { value: "1-1-response-format", title: "1.1 统一响应格式" }, { value: "1-2-authentication", title: "1.2 鉴权方式" }, ] }, { value: "auth-apis", title: "2. 用户与认证接口", content: (

2.1 用户注册

接口:POST /api/v1/user/register

说明:注册本地账户(在后台注册开关开启状态下)。

参数 必填 类型 说明 username 是 string 用户名,必须唯一且无空格。 password 是 string 密码,长度必须大于等于 8 位。 nickname 否 string 昵称。未传时默认与用户名一致。

2.2 密码登录

接口:POST /api/v1/user/login

说明:通过常规用户名密码进行登录校验,成功后建立 Session Cookie 会话。

参数 必填 类型 说明 username 是 string 用户名 password 是 string 密码

2.3 退出登录

接口:GET /api/v1/user/logout

说明:销毁当前会话 Cookie 并退出登录状态。

2.4 获取个人资料

接口:GET /api/v1/user/self

说明:获取当前登录账户的基本数据模型(包含 ID、角色、昵称等)。

), children: [ { value: "2-1-register", title: "2.1 用户注册" }, { value: "2-2-login", title: "2.2 密码登录" }, { value: "2-3-logout", title: "2.3 退出登录" }, { value: "2-4-profile", title: "2.4 获取个人资料" }, ] }, { value: "token-apis", title: "3. 个人访问令牌 (AccessToken) 接口", content: (

AccessToken 管理相关接口均要求通过 Session 登录后调用,支持普通用户权限。

3.1 获取令牌列表

接口:GET /api/v1/user/access-tokens

说明:查询当前用户已创建的所有令牌详情(令牌明文已被脱敏)。

3.2 新建访问令牌

接口:POST /api/v1/user/access-tokens

参数:JSON Body {`{"name": "token名称"}`}

说明:生成一个全新访问令牌。返回体中包含一次性明文 Token,切勿遗失。

成功返回样例:

3.3 撤销/删除令牌

接口:DELETE /api/v1/user/access-tokens/:id

说明:通过 ID 物理删除对应访问令牌,该令牌将立即失效。

3.4 轮换令牌密钥

接口:POST /api/v1/user/access-tokens/:id/rotate

说明:轮换指定令牌的物理密钥值。系统将废弃原有密钥,返回新生成的明文 Token,并将 `last_used_at` 置空,令牌名称与 ID 保持一致。

), children: [ { value: "3-1-list-token", title: "3.1 获取令牌列表" }, { value: "3-2-create-token", title: "3.2 新建访问令牌" }, { value: "3-3-delete-token", title: "3.3 撤销/删除令牌" }, { value: "3-4-rotate-token", title: "3.4 轮换令牌密钥" }, ] }, { value: "config-apis", title: "4. 公共配置与管理接口", content: (

4.1 公共系统配置

接口:GET /api/v1/config/public

说明:无感获取当前系统配置表中公共可见的键值集合。供前端页面动态渲染使用。

返回数据结构样例:

4.2 系统配置项 CRUD (管理员)

说明:用于在后台对 `system_configs` 配置进行动态变更,要求管理员权限会话调用。

), children: [ { value: "4-1-public-config", title: "4.1 公共系统配置" }, { value: "4-2-admin-configs", title: "4.2 系统配置项 CRUD (管理员)" }, ] } ]