zhxiao1124 5fa8c5e0a9 feat(dramas,media): add video resolution fields and fix quote style
1. 为剧集剧集添加width和height字段,支持存储视频分辨率信息
2. 统一将media.controller.ts中的单引号改为双引号,保持代码风格一致
2026-07-01 16:04:49 +08:00

TikTok Short Drama Backend

NestJS backend API for a TikTok Minis short drama app.

API Contract

All endpoints must follow docs/api-standard.md.

Response shape:

{
  "code": 0,
  "data": {},
  "message": "success",
  "timestamp": "2026-06-30T00:00:00.000Z",
  "requestId": "0f5c2e16-1e44-4d55-93a4-ef7c66d9d1f2",
  "cost": "3ms"
}

Paginated list shape:

{
  "code": 0,
  "data": {
    "list": [],
    "pagination": {
      "page": 1,
      "pageSize": 20,
      "total": 100
    }
  },
  "message": "success",
  "timestamp": "2026-06-30T00:00:00.000Z",
  "requestId": "0f5c2e16-1e44-4d55-93a4-ef7c66d9d1f2",
  "cost": "3ms"
}

Implemented Modules

  • health: app health check.
  • logs: request log lookup by requestId and playback error reporting.
  • dramas: admin drama and episode configuration, app published content listing.
  • auth: TikTok login placeholder that returns a business JWT.
  • orders: paid episode orders, TikTok payment webhook, and playback unlock checks.
  • admin: admin login, RBAC permissions, roles, and admin user management.
  • users: app user listing, detail, and status management for admins.

Commands

pnpm install
pnpm run start:dev
pnpm run build
pnpm run test:e2e

Swagger is available at:

http://localhost:3000/api/docs

Default admin account for local development:

username: admin
password: admin123

Notes

  • The project currently uses in-memory services so the API contract can be developed and tested before MySQL credentials are available.
  • TypeORM entity classes are included for the planned MySQL persistence layer.
  • Replace the TikTok login placeholder with official TikTok Minis login exchange once app credentials are ready.
Description
cyh-tk-backend
Readme 962 KiB
Languages
TypeScript 99.5%
JavaScript 0.5%