Files
opsx-licence/Makefile
T
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

89 lines
2.2 KiB
Makefile

# opsx-licence - Makefile
# 提供常用开发命令的快捷方式
.PHONY: help install dev build build-ui build-api build-binary clean status stop restart lint test
# 默认显示帮助
help:
@echo "opsx-licence - 可用命令:"
@echo ""
@echo " make install - 安装前后端依赖"
@echo " make dev - 启动开发环境(前后端)"
@echo " make build - 构建前后端(分开)"
@echo " make build-ui - 仅构建前端"
@echo " make build-api - 仅构建后端"
@echo " make build-binary - 构建前端嵌入式单二进制 opsx-licence"
@echo " make test - 运行后端测试"
@echo " make lint - 运行代码检查"
@echo " make clean - 清理构建产物和日志"
@echo " make status - 查看服务状态"
@echo " make stop - 停止所有服务"
@echo " make restart - 重启所有服务"
@echo " make logs - 查看实时日志"
@echo ""
# 安装依赖
install:
@echo "📦 安装后端依赖..."
cd backend && go mod download
@echo "📦 安装前端依赖..."
cd frontend && npm install
# 开发环境启动
dev:
./run.sh start
# 构建前端
build-ui:
@echo "🔨 构建前端..."
cd frontend && npm run build
# 构建后端
build-api:
@echo "🔨 构建后端..."
cd backend && go build -o server -ldflags="-s -w" .
# 构建所有(分开)
build: build-ui build-api
# 构建前后端合一的部署二进制 // Logan.Li
build-binary:
./run.sh build
# 后端测试
test:
@echo "🧪 运行后端测试..."
cd backend && go test -v -race -coverprofile=coverage.out ./...
@echo "📊 后端覆盖率:"
@cd backend && go tool cover -func=coverage.out | grep total
# 代码检查
lint:
@echo "🔍 检查后端代码..."
cd backend && go vet ./...
# 清理
clean:
@echo "🧹 清理构建产物..."
rm -f backend/server backend/backend
rm -rf frontend/dist
rm -f backend/logs/*.log frontend/logs/*.log logs/*.log
rm -f opsx-licence
@echo "🧹 清理完成"
# 查看状态
status:
./run.sh status
# 停止服务
stop:
./run.sh stop
# 重启服务
restart:
./run.sh restart
# 查看日志
logs:
@tail -f backend/logs/server.log frontend/logs/dev.log 2>/dev/null || echo "日志文件不存在"