支持多产品计划展示、LICOFF 离线签发、支付独立配置与调试,以及分析看板;同步更新 README 与集成文档。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.8 KiB
2.8 KiB
opsx-licence
通用许可证(License)管理服务器 —— Go (Gin) + Vue 3 单体全栈,面向 Web / PC / 移动等多端产品。
能力概览
| 模块 | 说明 |
|---|---|
| 产品 / 计划 / 客户 | 多产品 SKU;计划显示「体验 / 包年 / 永久」并带所属产品 |
| 在线 License | LIC-…,座位激活、心跳、吊销 |
| 离线 License | LICOFF-…,绑 device_id,最长 365 天,不可续期(到期重签) |
| 订单 / Waffo | create-session + webhook 对账;管理端「支付」页配置与调试 |
| 仪表盘 | 总数 / 过期 / 在线设备 / 增长 / 收入 / 产品与地理·平台分布 |
详细模型见 docs/licensing-model.md;Waffo 闭环见 docs/waffo-integration.md。
技术栈
- 后端:Go 1.24 + Gin + GORM(默认 SQLite,可 MySQL / PostgreSQL)
- 前端:Vue 3.4 + Vite + Element Plus + ECharts(
//go:embed打进单二进制) - 认证:JWT + bcrypt
快速开始
cp .env.example .env
./run.sh start # 开发:前端 :5181,后端 :9001
# 默认账号 admin / admin(生产请改密码)
Docker(生产推荐)
cp .env.example .env
# 配置 JWT_SECRET、Waffo、OFFLINE_LICENSE_SEED 等
./run.sh docker up # 或 ./run.sh docker rebuild
./run.sh docker logs
- 访问:http://localhost:9001(管理后台 +
/api) - 数据卷:
licence_data→/data/db.sqlite3
单二进制
./run.sh build && ./run.sh binary start
管理端菜单
- 授权管理:产品、客户、在线 License、离线 License
- 定价与订单:定价计划、订单
- 支付:Waffo 集成(商户 / Store / 可扩展 Product ID 映射 / 测试连接)
- 审计与设置:操作日志、系统设置
客户端契约(公开 API)
前缀 /api/v1(无需管理 JWT):
POST /license/activate|verify|deactivate|heartbeatPOST /checkout、POST /orders、POST /purchase/claimPOST /webhooks/waffo、GET /purchase/success
桌面端默认 API Base:https://l123.91ai.io/api(可用 OPSX_LICENSE_API_BASE 覆盖)。
常用命令
| 命令 | 说明 |
|---|---|
./run.sh start / make dev |
开发模式 |
./run.sh build / make build |
构建嵌入前端的二进制 |
./run.sh docker rebuild |
重建并滚动升级容器 |
./run.sh stop / status |
停止 / 查看状态 |
项目结构
opsx-licence/
├── backend/ # Go API + embed 前端
├── frontend/ # Vue 管理后台
├── docs/ # 授权模型 / Waffo 集成说明
├── docker-compose.yml
├── run.sh
└── .env.example
作者
Logan.Li