7d53c6ed3ce2833cf88f42a9608d9694784f6e99
后端: - 新增 payment_configs 单行配置表;APIv3 密钥、应用私钥/公钥以 AES-256-GCM 密文入库(enc:v1 前缀,主密钥取 PAYMENT_SECRET_KEY,缺省回退 JWT_SECRET 派生) - 证书/私钥落 PAYMENT_CERT_DIR(默认 /data/payment-certs),目录 0700 / 文件 0600,不经任何静态路由暴露 - 接口:GET/PUT /api/admin/payment/config、POST /upload(PEM 校验 + 微信证书序列号自动回填)、POST /test(真打官方接口:微信 /v3/certificates 签名校验、支付宝 alipay.trade.query 签名校验)、POST /wechat/platform-certs(APIv3 密钥解密平台证书并落盘) - 未配置凭据时测试返回 skipped 而不是 500;敏感字段在返回体里一律脱敏 前端: - /payments 改为「通用设置 + 微信支付 / 支付宝 / Waffo 海外支付」页签(原 Waffo 页整页迁到 views/payments/Waffo.vue) - 微信:mchid、AppID、APIv3 密钥(密码框 + 掩码回显 + 更换/清除)、证书序列号、支付方式多选、三项证书上传、自动获取平台证书 - 支付宝:app_id、应用私钥(粘贴/上传)、支付宝公钥、网关、RSA2、回调地址 - 菜单归入「审计与设置 → 支付配置」
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%