🚀 AI 近视防控系统 - 生产环境上线版本 v1.0

 已完成功能:
- 后端 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 上线部署完成
This commit is contained in:
虾司令
2026-03-29 18:16:41 +08:00
commit 881144269c
38 changed files with 4967 additions and 0 deletions

98
Makefile Normal file
View File

@@ -0,0 +1,98 @@
# 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