API

默认模板已注册的 API 路径、请求方法和访问要求。

默认模板在 src/api/routes.ts 中集中注册 API。普通业务接口使用 /api 前缀,内置 OAuth 2.0 服务使用 /oauth 前缀。

通用响应

src/types.ts 提供了 APIResponse<T>,下表描述该类型的约定。当前业务接口并未全部采用这个完整结构,部分成功响应只返回 success 和 data,全局异常处理也可能不返回 error。调用时应以具体接口的响应为准,不能假定所有响应都有下表标记为必填的字段。OAuth 2.0 Token 等协议接口按 OAuth 2.0 规范返回自己的响应结构,不使用这一封装。

成功响应

Prop

Type

失败响应

Prop

Type

/api/auth

认证路由由 src/core/services/auth/const.ts 和 src/core/services/auth/routes.tsx 注册。

方法路径用途
POST/api/auth/logout退出当前账号
GET/api/auth/step-up/status查询敏感操作的二次验证状态
POST/api/auth/step-up/challenge发起二次验证
POST/api/auth/step-up/verify完成二次验证
POST/api/auth/login登录
POST/api/auth/login-modal在弹窗流程中登录
POST/api/auth/google-one-tap处理 Google One Tap 登录
POST/api/auth/signup注册账号
POST/api/auth/verify-email提交邮箱验证码
POST/api/auth/resend-email重新发送邮箱验证码
POST/api/auth/setup-2fa完成双重验证设置
POST/api/auth/verify-2fa校验双重验证码
POST/api/auth/verify-recovery-code校验恢复码
POST/api/auth/forgot-password发起密码重置
POST/api/auth/reset-password设置新密码
POST/api/auth/reset-password/verify-email在密码重置流程中校验邮箱验证码
POST/api/auth/reset-password/verify-2fa在密码重置流程中校验双重验证码
POST/api/auth/reset-password/verify-recovery-code在密码重置流程中校验恢复码
GET/api/auth/oauth2/github处理 GitHub OAuth 回调
GET/api/auth/oauth2/google处理 Google OAuth 回调
GET/api/auth/current-user返回当前登录用户

生产环境会根据 src/core/services/auth/const.ts 中的 middlewares 配置,为登录、注册、验证码和密码重置等接口加载拦截或限流中间件。每项认证操作使用哪些中间件,以各自的配置为准。

/api/account

这些接口供登录用户管理个人资料、安全设置、产品、支付、联盟推广和站内通知。

资料和安全

方法路径用途
POST/api/account/profile更新姓名等个人资料
GET/api/account/profile/email-verification查询修改邮箱流程的验证状态
POST/api/account/profile/send-update-email发送修改邮箱所需的验证码
POST/api/account/security/initiate-2fa开始设置双重验证
POST/api/account/security/enable-2fa启用双重验证
POST/api/account/security/disable-2fa停用双重验证
POST/api/account/security/regenerate-recovery-codes重新生成恢复码
GET/api/account/security/delete-account查询注销账号所需信息
POST/api/account/security/delete-account注销当前账号

产品、支付和菜单

方法路径用途
GET/api/account/products返回当前用户可见的产品信息
GET/api/account/payments返回当前用户的购买和订阅信息
GET/api/account/menu-indicators返回账号菜单的提示数量

联盟推广

方法路径用途
GET/api/account/affiliate返回当前用户的联盟推广概况
GET/api/account/affiliate/commission-summary返回佣金汇总
GET/api/account/affiliate/invalid-commissions返回未计入结算的佣金
POST/api/account/affiliate/email-verification为启用联盟推广校验邮箱
POST/api/account/affiliate/enable启用联盟推广
GET/api/account/affiliate/payout-profile读取收款资料
POST/api/account/affiliate/payout-profile保存收款资料

站内通知

方法路径用途
GET/api/account/notifications返回当前用户的通知列表
POST/api/account/notifications/read把通知标记为已读
POST/api/account/notifications/:notificationId/open记录通知已打开

支付、工单和邮件订阅

方法路径用途
POST/api/payments/checkout/:productId/:planId创建支付结账会话
POST/api/payments/:provider/billing创建支付服务商的账单管理入口
POST/api/webhooks/:provider接收支付服务商 Webhook
POST/api/ticket创建工单
GET/api/ticket/:key按访问 Key 读取工单
POST/api/ticket/:key/reply回复工单
POST/api/ticket/:key/close关闭工单
POST/api/newsletter/subscriptions订阅邮件列表

Webhook 不依赖浏览器登录态,但必须通过对应支付服务商的签名校验。:provider 的实际可用值由 config/payment.ts 中启用的支付服务商决定。

/api/analytics/collect

方法路径用途
POST/api/analytics/collect接收第一方访问统计数据

只有 config/deploy.ts 中的 analytics.enabled 为 true 时才会注册该路由;关闭后访问此路径会直接返回 404。

/oauth

方法路径用途
POST/oauth/token交换授权码或刷新 Token
POST/oauth/token/revoke撤销 Token
POST/oauth/authorize/consent确认授权请求
POST/oauth/authorize/dismiss拒绝授权请求
GET/oauth/current-user返回当前 OAuth 授权页使用的用户信息

这些接口属于默认模板内置的 OAuth 2.0 服务。OAuth 客户端、授权码和 Token 分别保存在 oauth_client、oauth_auth_code 和 oauth_token。

/api/dashboard

整个后台路由组都会先经过 requireDashboardAdmin 检查,未通过管理员校验的用户不能访问以下接口。

用户、角色和权益

路径前缀支持的操作
/api/dashboard/users用户列表、搜索、详情、停用、启用、软删除和撤销会话
/api/dashboard/roles角色列表、创建、启用、停用和撤销
/api/dashboard/entitlements权益列表、创建、调整、启用、停用和刷新订阅周期
/api/dashboard/entitlement-events查询权益额度事件

支付和 OAuth 客户端

路径前缀支持的操作
/api/dashboard/payments/subscriptions订阅列表和订阅详情
/api/dashboard/payments/purchases一次性购买列表和购买详情
/api/dashboard/oauth-clientsOAuth 客户端列表、创建、修改、启用、停用、删除和重新生成 Secret

Reaction、工单和日志

路径前缀支持的操作
/api/dashboard/reaction/eventsEvent 执行列表和详情
/api/dashboard/reaction/commandsCommand 执行列表、详情和手动重试
/api/dashboard/tickets工单列表、详情、回复、修改消息、隐藏、取消隐藏和更新状态
/api/dashboard/logger/system查询系统日志
/api/dashboard/logger/audit查询审计日志
/api/dashboard/logger/alert查询告警日志

统计和联盟推广

路径前缀支持的操作
/api/dashboard/stats用户、订阅、工单、Reaction 执行和日志的后台统计
/api/dashboard/analytics访问概况、事件、会话、性能、漏斗、筛选项和客户端 IP
/api/dashboard/affiliates/users联盟用户列表、详情、佣金、停用和恢复
/api/dashboard/affiliates/payouts月度结算列表、概况、佣金、付款记录和重新汇总

后台统计查询和前端数据采集共用 analytics.enabled 开关。关闭访问统计后,/api/dashboard/analytics 下不会注册查询接口。

通知

路径前缀支持的操作
/api/dashboard/notifications通知列表、创建、详情和状态更新

源码位置

内容位置
API 总入口src/api/routes.ts
认证动作和路径src/core/services/auth/const.ts、src/core/services/auth/routes.tsx
账号接口src/api/account/
后台接口src/api/dashboard/
支付接口src/api/payments/
OAuth 2.0 服务src/api/oauth2-server/
请求参数校验各接口目录中的 schema.ts 或路由文件