activation-core 是一个面向单管理员场景的激活码管理系统,提供激活码生成、设备绑定、状态验证和基础后台管理能力。
Important
项目正在从手写 SQL 迁移到 Drizzle ORM 新架构。 新部署请直接使用 Drizzle migration 初始化数据库。 已部署系统升级前,请先备份数据库、导出关键表数据,再在新数据库中执行 baseline migration 后导入数据。
当前关键迁移表:
admin_usersactivation_codes
当前已提供基础导出/导入脚本:
pnpm run db:export -- exports/activation-core-export.json
pnpm run db:import -- exports/activation-core-export.json迁移到新架构时,推荐顺序:
- 备份旧数据库
- 导出关键表数据
- 在新数据库中执行 Drizzle migration
- 再执行数据导入
- 首次初始化创建唯一管理员账号
- 管理后台登录与基础统计
- 激活码生成、筛选、分页、重置
- 设备激活状态查询与管理
- 客户端激活与验证接口
- Next.js 16
- React 19
- TypeScript
- PostgreSQL
- Tailwind CSS
pnpm install复制 .env.example 为 .env.local,并至少配置:
DATABASE_URL=postgresql://username:password@hostname:port/database_name?sslmode=require
JWT_SECRET=your-super-secret-jwt-key-at-least-32-characters-long
CLIENT_API_KEY=your-client-api-key-at-least-32-characters-long
RESPONSE_SIGN_PRIVATE_KEY_PEM=-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----
RESPONSE_SIGN_KEY_ID=key-v1
RESPONSE_SIGN_TOKEN_TTL_SEC=120
NODE_ENV=development执行 Drizzle migration:
pnpm run db:migrate如需查看当前 baseline SQL,可参考 scripts/init-db.sql,但新部署不再推荐手动执行旧式初始化脚本。
pnpm run dev默认入口:
- 首页:
http://localhost:3000 - 后台:
http://localhost:3000/admin
系统不再提供默认管理员账号。
新部署系统首次访问 /admin 或 /admin/login 时,会自动跳转到 /admin/setup,用于创建唯一管理员账号。系统完成初始化后,该入口会自动关闭。
pnpm run dev
pnpm run build
pnpm run start
pnpm run generate-keys
pnpm run hash-password -- <password>src/
db/ Drizzle 客户端、Schema 与 Repository
server/ 服务端业务入口与领域服务
app/ 路由与页面
components/ 界面与后台组件
contexts/ 前端状态管理
lib/ 鉴权、签名与通用工具函数
scripts/ 数据库与辅助脚本
example/ 客户端示例
当前仓库正在进行认证、安全和文档结构重构。
- README 是当前唯一优先维护的公开入口文档
- 数据库层正在迁移到 Drizzle ORM 新架构
- 详细产品文档后续迁移到专门的文档系统
- 涉及初始化、认证和接口安全的行为,以当前代码实现为准
MIT