Commit Graph
21 Commits
Author SHA1 Message Date
Logan.Li 37d9e8ca56 fix: 测试包年商品改用 USD,避免 CNY 不被支持
Waffo 测试侧 Yearly Product 仅支持 USD;按 Product ID 自动选币种。
2026-08-13 00:13:07 +08:00
Logan.Li 2b44e8dcb3 fix: 仅保留 Waffo,并修复调试包年误用永久 Product
调试不再把兼容字段 product_id 覆盖到包年;包年禁止回落永久商品;下单强制走 Waffo。
2026-08-13 00:04:22 +08:00
Logan.Li d94da2129c fix: 支付页去掉货币列,包年/永久货币由后端自动带
Product 映射只保留计划与 PROD_xxx;包年默认 CNY、永久默认 USD,避免误填干扰。
2026-08-12 23:47:31 +08:00
Logan.Li 7c146cb639 fix: 修复支付页测试/生产 Product 映射串用与无法保存
切换环境时先暂存再切换;后端 Profile 不再串用另一侧商品;支持一键填充 OpsXshell 与跨环境复制,调试使用当前页映射。
2026-08-12 23:35:27 +08:00
Logan.LiandCursor 9b79eabd34 fix: 修复收入统计 404,并隔离支付测试/生产配置
Dashboard 收入接口路径对齐;登录页去掉「授权管理平台」;Waffo 测试/生产密钥与 Product 映射分环境保存。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 22:37:22 +08:00
Logan.LiandCursor 76bba729f1 chore: 清理设置页多余文案并移除未使用的 License 模板
支付已迁至独立菜单;模板未接入发证流程,前后端入口一并下线。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 22:01:02 +08:00
Logan.LiandCursor 4c46088f4f feat: 客户关联产品并支持按产品圈选通知群体
新增客户-产品多对多关联,列表可按产品筛选并复制邮箱;发证/下单自动回填历史关联。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 21:58:35 +08:00
Logan.LiandCursor d0e1ca3729 feat: License 支持筛选多选批量删除
仅已吊销或已过期可删,有效授权自动跳过;单条删除同步限制。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 21:53:34 +08:00
Logan.LiandCursor f26e787cfc fix: 离线证到期重签空邮箱撞唯一索引
复用 customer_id/同名客户,禁止重复插入空 email;重签前端带回原客户。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 21:49:55 +08:00
Logan.LiandCursor bac72e6945 fix: 按评审报告止血支付漏洞并加固授权链路
废除浏览器回跳自助结算,通用 webhook 强制密钥鉴权,Waffo 支持验签与未知事件忽略;重构订单状态机/激活占座/SQLite WAL,并补备份、readyz、限流与前端导出/登录页安全修复。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 21:26:58 +08:00
Logan.LiandCursor 8cc2c83f9d feat: 通用授权后台、离线证、Waffo 支付页与仪表盘加强
支持多产品计划展示、LICOFF 离线签发、支付独立配置与调试,以及分析看板;同步更新 README 与集成文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 20:25:46 +08:00
Logan.LiandCursor 0966375076 feat: 支付成功页与友好 webhook 落地页
浏览器回跳展示许可证并深链回 App;补齐包年订单因未收到 Waffo POST 未发码的体验。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 16:39:13 +08:00
Logan.LiandCursor 554998f4b7 fix: 永久授权结账币种改为 CNY
与 pancake 永久商品 onetime+CNY 链接对齐,包年/永久均为 CNY。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 16:19:33 +08:00
Logan.LiandCursor e8d98c993f fix: 包年 CNY / 永久 USD 分币种结账
按档位分别拼 Waffo currency,避免永久商品用 CNY 报不可用。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 16:18:05 +08:00
Logan.LiandCursor d4c5637168 fix: 包年改为 Waffo 一次性商品并切 CNY
包年 SKU 换为 PROD_1BIezCi932IbgCzRIV8hcJ,checkout type 统一 onetime。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 16:04:36 +08:00
Logan.LiandCursor a47af22e91 chore: Waffo 网关默认币种改为 USD
与 pancake 商品链接 currency=USD 对齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 15:58:00 +08:00
Logan.LiandCursor f00ea7e873 fix: Waffo webhook 支持 GET 探测,避免浏览器打开 404
仪表盘/浏览器用 GET 校验 URL 时返回 ready;支付事件仍走 POST。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 15:57:37 +08:00
Logan.LiandCursor ac31cc059a fix: 过滤非法 CORS Origin,避免 Docker 启动 panic
gin-contrib/cors 不接受 tauri://,启动时过滤仅保留 http/https。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 12:09:06 +08:00
Logan.LiandCursor cb1a9be2c4 chore: 增加 Docker 单容器部署
生产用 Dockerfile + compose 嵌入前端二进制,run.sh docker 一键构建启动。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 12:02:29 +08:00
Logan.LiandCursor 95405de119 feat: 对齐 Waffo 包年/永久结账与客户端席位 API
同步 OpsXShell 档位定价与 Waffo 商品映射,补齐 checkout/webhook/设备列表契约,便于桌面端购买与满席释放。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 11:42:56 +08:00
Logan.Li 4ae318335c feat: 完成 opsx-licence 许可证管理平台全栈实现
基于 opsx-web-lite 框架(Go+Gin+Vue3+Element Plus)构建许可证管理服务器,
业务域参考 Licence 服务器 Web 版。

【后端 - 4层架构】
- 认证:单 Admin 表 + JWT(HS256)
- 核心授权域:Product / Customer / License / Activation
  · License 生成/验证/激活/机器绑定/心跳/续期/吊销
  · 客户端契约接口:/api/v1/license/{verify,activate,deactivate,heartbeat}
- 定价订单:Plan / Order / 支付网关配置
- 防重复购买:CustomerEntitlement + 幂等支付 webhook + 手动发放
- 分析审计:Dashboard 统计 / Analytics / AuditLog / Setting 管理

【前端】
- Dashboard(ECharts 图表)、产品、客户、License、计划、订单、权益、日志、设置
- 9 个完整 CRUD 业务页面 + 登录/布局

【部署】
- SQLite + 单二进制(//go:embed 嵌入前端)
- 开发:./run.sh start(前端5181/后端9001)
- 生产:./run.sh build && ./run.sh binary start
- 默认账号:admin/admin

Author: Logan.Li
2026-08-07 15:02:00 +08:00