支持多产品计划展示、LICOFF 离线签发、支付独立配置与调试,以及分析看板;同步更新 README 与集成文档。 Co-authored-by: Cursor <cursoragent@cursor.com>
92 lines
2.8 KiB
Markdown
92 lines
2.8 KiB
Markdown
# opsx-licence
|
||
|
||
通用许可证(License)管理服务器 —— Go (Gin) + Vue 3 单体全栈,面向 Web / PC / 移动等多端产品。
|
||
|
||
线上示例:https://l123.91ai.io/
|
||
|
||
## 能力概览
|
||
|
||
| 模块 | 说明 |
|
||
|------|------|
|
||
| 产品 / 计划 / 客户 | 多产品 SKU;计划显示「体验 / 包年 / 永久」并带所属产品 |
|
||
| 在线 License | `LIC-…`,座位激活、心跳、吊销 |
|
||
| 离线 License | `LICOFF-…`,绑 device_id,最长 365 天,**不可续期(到期重签)** |
|
||
| 订单 / Waffo | create-session + webhook 对账;管理端「支付」页配置与调试 |
|
||
| 仪表盘 | 总数 / 过期 / 在线设备 / 增长 / 收入 / 产品与地理·平台分布 |
|
||
|
||
详细模型见 [docs/licensing-model.md](docs/licensing-model.md);Waffo 闭环见 [docs/waffo-integration.md](docs/waffo-integration.md)。
|
||
|
||
## 技术栈
|
||
|
||
- **后端**:Go 1.24 + Gin + GORM(默认 SQLite,可 MySQL / PostgreSQL)
|
||
- **前端**:Vue 3.4 + Vite + Element Plus + ECharts(`//go:embed` 打进单二进制)
|
||
- **认证**:JWT + bcrypt
|
||
|
||
## 快速开始
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
./run.sh start # 开发:前端 :5181,后端 :9001
|
||
# 默认账号 admin / admin(生产请改密码)
|
||
```
|
||
|
||
### Docker(生产推荐)
|
||
|
||
```bash
|
||
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`
|
||
|
||
### 单二进制
|
||
|
||
```bash
|
||
./run.sh build && ./run.sh binary start
|
||
```
|
||
|
||
## 管理端菜单
|
||
|
||
- **授权管理**:产品、客户、在线 License、离线 License
|
||
- **定价与订单**:定价计划、订单
|
||
- **支付**:Waffo 集成(商户 / Store / 可扩展 Product ID 映射 / 测试连接)
|
||
- **审计与设置**:操作日志、系统设置
|
||
|
||
## 客户端契约(公开 API)
|
||
|
||
前缀 `/api/v1`(无需管理 JWT):
|
||
|
||
- `POST /license/activate|verify|deactivate|heartbeat`
|
||
- `POST /checkout`、`POST /orders`、`POST /purchase/claim`
|
||
- `POST /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
|