Files
accounts-manager/README.md
Your Name 891ae27689 feat: initial commit with accounts manager project structure
- TypeScript项目基础架构
- API路由和账户管理服务
- 数据库模式和迁移
- 基础配置文件和文档

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-23 01:42:50 +08:00

2.4 KiB

Accounts Manager

轻量化账号管理平台

技术栈

  • 运行时: Node.js (v18+)
  • 语言: TypeScript
  • Web框架: Fastify
  • 数据库: PostgreSQL (v14+)
  • ORM: Drizzle ORM
  • 数据校验: Zod

快速开始

1. 安装依赖

npm install

2. 配置环境变量

复制环境变量模板并配置:

cp .env.example .env

编辑 .env 文件配置数据库连接:

DATABASE_URL=postgresql://username:password@localhost:5432/accounts_db
PORT=3000
NODE_ENV=development
LOCK_TIMEOUT_MINUTES=5

3. 数据库设置

运行数据库迁移:

npm run db:generate
npm run db:migrate

4. 启动服务

开发模式:

npm run dev

生产模式:

npm run build
npm start

API 文档

脚本专用 API

Base URL: /s/v1/{ownerId}

1. 获取账号

  • GET /s/v1/{ownerId}/acquire?platform={platform}&count={count}
  • 获取可用账号并锁定

2. 更新账号状态

  • GET /s/v1/{ownerId}/update/{accountId}/{newStatus}?notes={notes}
  • 更新指定账号状态

3. 上传账号

  • POST /s/v1/{ownerId}/upload
  • 批量创建或更新账号

前端管理 API

Base URL: /web/v1

1. 获取账号列表

  • POST /web/v1/accounts/list
  • 支持复杂查询、分页、排序

2. 批量删除账号

  • POST /web/v1/accounts/delete-batch

3. 批量更新账号

  • POST /web/v1/accounts/update-batch

4. 统计概览

  • GET /web/v1/stats/overview

健康检查

  • GET /health

数据库命令

# 生成迁移文件
npm run db:generate

# 运行迁移
npm run db:migrate

# 打开数据库管理界面
npm run db:studio

项目结构

src/
├── api/v1/
│   ├── script/     # 脚本API
│   └── web/        # 前端API
├── core/           # 业务逻辑
├── db/             # 数据库配置
├── jobs/           # 后台任务
├── lib/            # 工具函数
├── types/          # 类型定义
├── config.ts       # 配置
└── index.ts        # 入口文件

特性

  • 单表设计: 简化数据模型
  • OwnerID认证: 基于URL的身份验证
  • 自动锁定管理: 防止并发冲突
  • 后台清理任务: 自动释放超时锁定
  • 统一响应格式: 标准化API响应
  • 类型安全: 完整的TypeScript支持