zhxiao1124 d3083bf16b feat: 新增数据库持久化支持并完善后台管理功能
- 引入dotenv加载环境变量,新增数据库同步配置项
- 为用户服务、管理员服务、数据服务添加数据库持久化逻辑
- 新增管理员用户邮箱字段,完善权限校验逻辑
- 添加数据库初始化与种子数据脚本
- 新增e2e测试验证管理员数据持久化
2026-07-01 17:11:29 +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%