✅ 已完成功能: - 后端 Go 服务 (认证/授权/检测) - JWT 认证 + RBAC 权限控制 - 登录速率限制 (5 次失败锁定 15 分钟) - 密码强度校验 - 敏感数据脱敏 - Vue3 管理后台 - 路由守卫 - 删除二次确认 📦 部署配置: - Docker Compose 生产环境配置 - MySQL/Redis/MongoDB 数据库 - Nginx 前端服务 - 强密码安全配置 ⚠️ P2 待办 (下次迭代): - 学生/检测/预警等业务模块实现 - 错误处理统一化 - 缓存策略优化 - 日志分级 📍 生产环境: - 服务器:192.168.15.222 - 管理后台:http://192.168.15.222:8081 - API 服务:http://192.168.15.222:8080 2026-03-29 上线部署完成
98 lines
2.1 KiB
Makefile
98 lines
2.1 KiB
Makefile
# AI近视防控系统 - Makefile
|
||
|
||
.PHONY: help build test run docker-build docker-run clean db-migrate
|
||
|
||
# 默认目标
|
||
help:
|
||
@echo "AI近视防控系统 Makefile"
|
||
@echo ""
|
||
@echo "可用命令:"
|
||
@echo " help - 显示此帮助信息"
|
||
@echo " build - 构建项目"
|
||
@echo " test - 运行测试"
|
||
@echo " run - 运行项目"
|
||
@echo " docker-build - 构建Docker镜像"
|
||
@echo " docker-run - 运行Docker容器"
|
||
@echo " clean - 清理构建产物"
|
||
@echo " db-migrate - 数据库迁移"
|
||
|
||
# 构建项目
|
||
build:
|
||
@echo "构建AI近视防控系统..."
|
||
go build -o bin/server cmd/main.go
|
||
@echo "构建完成: bin/server"
|
||
|
||
# 运行测试
|
||
test:
|
||
@echo "运行单元测试..."
|
||
go test -v ./tests/unit/...
|
||
@echo "运行集成测试..."
|
||
go test -v ./tests/integration/...
|
||
@echo "运行API测试..."
|
||
go test -v ./tests/api/...
|
||
|
||
# 运行项目(开发模式)
|
||
run:
|
||
@echo "启动AI近视防控系统..."
|
||
go run cmd/main.go
|
||
|
||
# 构建Docker镜像
|
||
docker-build:
|
||
@echo "构建Docker镜像..."
|
||
docker build -t ai-myopia-prevention:latest .
|
||
|
||
# 运行Docker容器
|
||
docker-run:
|
||
@echo "运行Docker容器..."
|
||
docker run -d -p 8080:8080 --env-file .env ai-myopia-prevention:latest
|
||
|
||
# 清理构建产物
|
||
clean:
|
||
@echo "清理构建产物..."
|
||
rm -rf bin/
|
||
rm -rf dist/
|
||
|
||
# 数据库迁移
|
||
db-migrate:
|
||
@echo "执行数据库迁移..."
|
||
go run scripts/migrate.go
|
||
|
||
# 安装依赖
|
||
deps:
|
||
@echo "安装Go依赖..."
|
||
go mod tidy
|
||
go mod vendor
|
||
|
||
# 生成代码(如gRPC代码)
|
||
gen:
|
||
@echo "生成代码..."
|
||
# 这里可以添加protoc命令生成gRPC代码
|
||
# protoc --go_out=. --go-grpc_out=. api/proto/*.proto
|
||
|
||
# 代码格式化
|
||
fmt:
|
||
@echo "格式化代码..."
|
||
go fmt ./...
|
||
|
||
# 代码检查
|
||
lint:
|
||
@echo "检查代码..."
|
||
golangci-lint run
|
||
|
||
# 安全扫描
|
||
security:
|
||
@echo "执行安全扫描..."
|
||
gosec ./...
|
||
|
||
# 覆盖率
|
||
coverage:
|
||
@echo "生成测试覆盖率报告..."
|
||
go test -coverprofile=coverage.out ./...
|
||
go tool cover -html=coverage.out -o coverage.html
|
||
@echo "覆盖率报告已生成: coverage.html"
|
||
|
||
# 开发环境启动
|
||
dev: deps run
|
||
|
||
# 完整构建流程
|
||
all: deps build test |