API 参考文档

完整的 Optimus CMS API 接口文档,包括认证方式、请求格式、响应示例等。

Base URL

http://localhost:8084

所有 API 请求都基于此 Base URL。生产环境请使用实际的域名地址。

认证方式

1. ClientUserGuard 认证 (C端用户)

用于 C 端用户认证,需要在请求头中包含以下字段:

client-uid: user_id
client-sign: signature_hash
client-timestamp: unix_timestamp

签名算法

const crypto = require('crypto');
const timestamp = Date.now();
const uid = 'user123';
const secret = 'your_client_secret_key';
const sign = crypto
  .createHash('md5')
  .update(uid + timestamp + secret)
  .digest('hex');

适用场景: 客户端前台所有需要登录的接口 (合伙人、积分、任务等)

2. JWT 认证 (管理后台)

用于管理后台认证,基于 JSON Web Token:

Authorization: Bearer <jwt_token>

获取 Token:

POST /api/login
Content-Type: application/json

{
  "username": "admin",
  "password": "password"
}

// 响应
{
  "code": 200,
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
  }
}

适用场景: 管理后台所有接口、文件上传、系统配置等

3. 公开访问 (无需认证)

部分公开接口无需任何认证即可访问:

  • • 用户注册 POST /api/client-user/register
  • • 用户登录 POST /api/client-user/login
  • • 公开文章列表 GET /public/articles
  • • 文章详情 GET /public/articles/:id
  • • 产品列表 GET /api/biz/order/products

统一响应格式

成功响应

{
  "code": 200,
  "message": "success",
  "data": {
    // 响应数据
  },
  "timestamp": 1703126400000
}

错误响应

{
  "code": 400,
  "message": "参数错误: username is required",
  "timestamp": 1703126400000
}

分页响应

{
  "code": 200,
  "message": "success",
  "data": {
    "items": [...],  // 数据列表
    "total": 100,    // 总数
    "page": 1,       // 当前页
    "pageSize": 10   // 每页数量
  },
  "timestamp": 1703126400000
}

常见错误码

错误码说明常见原因
200请求成功-
400请求参数错误参数缺失、格式错误
401未登录或 Token 无效Token 过期、签名错误
403无权限访问角色权限不足
404资源不存在ID 不存在、接口路径错误
409资源冲突用户名已存在、重复操作
500服务器内部错误数据库错误、程序异常

API 接口概览

🔐 用户认证

  • POST/api/client-user/register- 用户注册
  • POST/api/client-user/login- 用户登录
  • GET/api/client-user/profile- 获取用户资料

🤝 合伙人系统

  • POST/api/biz/partner/join- 加入合伙人
  • GET/api/biz/partner/profile- 合伙人资料
  • GET/api/biz/partner/team- 获取团队列表

⭐ 积分系统

  • GET/api/biz/points/me- 我的积分
  • GET/api/biz/points/monthly-summary- 月度汇总

📝 文章管理

  • GET/public/articles- 文章列表
  • GET/public/articles/:id- 文章详情

💡 提示: 完整的 API 文档请访问 API 示例页面, 您可以在浏览器中直接测试所有接口。