master
CI / backend (push) Waiting to run
- 新增 app_configs 表与 appconfig 注册表:读取优先级 页面 → .env → 默认,删除即回退 - 页面可配 7 项:支付回调基址、成功回跳、Webhook 密钥(加密入库)、未验签放行开关、CORS、可信代理、GeoIP 路径 - 引导密钥(JWT_SECRET / OPSLIC_MASTER_KEY / OFFLINE_LICENSE_SEED)与部署参数只读展示掩码+指纹,永不入库 - 校验:URL 格式、密钥长度≥16、CIDR、release 下禁止开启未验签回调;变更写审计日志 - 消费点改造:支付回调地址、Waffo 回跳、webhook 验签、可信代理、CORS、GeoIP 统一走配置中心 - 前端新增「审计与设置 → 运行配置」页(分组表格 + 来源标记 + 编辑弹窗 + 恢复默认) - .env.example 补注释:哪些必须留在 .env、哪些已收敛到页面
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
Languages
Go
63.4%
Vue
25.5%
JavaScript
8.2%
Shell
2.1%
Makefile
0.4%
Other
0.3%