API 文档
Nexus 的服务端基于 Nuxt Nitro,所有业务接口挂在 /api/* 下(由 server/api/ 目录约定式生成)。接口定义通过 OpenAPI 维护,并提供交互式文档。
在线文档(Scalar)
- API 文档页:
http://<host>:3000/api_docs(由@scalar/nuxt渲染,交互式)。 - OpenAPI JSON:
http://<host>:3000/api/docs/openapi.json。
注意:路由规则已将
/docs重定向到/api_docs,请使用下划线路径访问文档页。
OpenAPI 来源
server/utils/api-docs/维护 OpenAPI 定义(openapi.ts+paths/+schemas.ts)。/api/docs/openapi.json.get.ts输出 JSON;Scalar 组件消费该定义渲染文档。
认证方式
Nexus 的接口主要通过以下方式鉴权:
| 方式 | 适用 |
|---|---|
| JWT(HttpOnly Cookie) | 浏览器登录态。登录后 Cookie 随请求自动携带,服务端中间件校验 JWT 并注入用户上下文 |
| OAuth 2.0 / OIDC | 第三方应用通过 /oauth/authorize、/oauth/token、/oauth/userinfo 获取访问令牌后调用受保护资源 |
| API Key / 公开 Token | 特定对外能力(如 授权售卖 的 /api/licenses/verify)可设计独立的鉴权方式 |
资产类接口(签到、充值等)额外校验请求
Origin的 host 是否与NUXT_APP_URL一致,防 CSRF 跨站调用,不一致返回 403。
主要接口分组
| 分组 | 前缀 | 说明 |
|---|---|---|
| 认证 | /api/auth/* | 注册/登录/登出/找回密码/社交登录 |
| OAuth 提供方 | /api/oauth/* | authorize / token / userinfo / 客户端管理 |
| 用户 | /api/user/* | 资料、积分、授权、工单、密码 |
| AI | /api/ai/* | 对话、生图、生视频、任务 |
| 支付 | /api/pay/* | 支付回调、通知 |
| 授权 | /api/licenses/*、/api/license-products/* | 授权验证、商品 |
| 后台 | /api/admin/* | 用户/订单/积分/AI 模型/授权/工单/配置 |
| 站点 | /api/site/*、/api/upload/*、/api/contact-messages | 站点配置、上传、联系 |
各分组的字段与示例以 /api_docs 在线文档为准(随代码更新)。
调用示例(对话)
bash
curl -X POST http://localhost:3000/api/ai/chat \
-H "Content-Type: application/json" \
-b "token=<你的 JWT Cookie>" \
-d '{ "message": "你好", "model": "gpt-4o" }'具体请求/响应字段随 Provider 与版本演进,请以在线 OpenAPI 文档为权威来源。

