应用授权与版本管理中心
一站式管理您的软件应用、激活码授权、安装包版本发布与更新策略。安全、高效、可追溯。
项目简介
本项目是一个现代化的 Web 管理系统,专为独立开发者或小型软件团队设计,用于集中管理软件产品的全生命周期,包括:
- 应用管理:创建和维护多个软件产品,设置公开状态、价格及授权策略。
- 版本发布:上传并管理不同版本的安装包,支持正式版与预发布版本。
- 许可证系统:为用户生成唯一授权码,控制使用期限、激活设备数量等。
- 激活追踪:记录每个许可证在设备上的激活详情,包括设备标识、IP 地址等,防止滥用。
- 用户与权限:支持多用户角色(如管理员、普通用户),并提供 API 密钥用于自动化集成。
- 系统配置:动态管理站点全局设置,无需修改代码即可调整平台行为。
技术栈
- 前端框架:Next.js(App Router)
- UI 组件库:shadcn/ui + Tailwind CSS
- 数据库:MySQL
- ORM:Drizzle ORM
- 身份认证:基于数据库会话的 Token 认证机制
快速开始
环境要求
- Node.js >= 18
- pnpm >= 8
- MySQL >= 8.0
安装步骤
获取项目程序:
bash# 请联系我们获取程序或购买源码
安装依赖:
bashpnpm install
配置环境变量:
bash# 编辑 .env 文件,配置数据库连接信息
数据库配置说明:
MYSQL_HOST
: MySQL 服务器地址MYSQL_USER
: 数据库用户名MYSQL_PASSWORD
: 数据库密码MYSQL_DATABASE
: 数据库名称MYSQL_PORT
: MySQL 端口号(默认 3306)
可选的其他环境变量:
VERCEL_URL
: Vercel 部署时的 URL(通常由 Vercel 自动设置)PORT
: 本地开发服务器端口(默认 3000)
注意:虽然代码中会检查
NEXT_PUBLIC_BASE_URL
环境变量,但根据项目规范,不建议设置此变量。系统会自动根据部署环境推断基础 URL。初始化数据库:
bashpnpm db:push
创建管理员账户:
bashpnpm seed:admin
默认管理员账号:
admin
/123456
重置用户密码: 如果您忘记了管理员或其他用户的密码,可以使用以下命令将其重置为
123456
:bashpnpm reset:password <用户名>
例如,重置 admin 用户的密码:
bashpnpm reset:password admin
启动:
bashpnpm start
访问 http://localhost:3000 登录系统
适用场景
- 软件开发者需要分发付费桌面/移动应用
- 团队希望统一管理多个产品的授权与更新
- 需要对软件使用进行精细化控制和审计
本平台兼顾安全性与易用性,帮助开发者专注于产品本身,而无需重复构建授权与分发基础设施。