feat: v2.0.0 完整代码优化升级
🔴 高优先级 (6项全部完成): - 数据库事务支持 (InsertMessageWithLog) - SQL注入修复 (参数化查询) - 配置验证 (Validate方法) - 会话密钥强化 (长度验证) - 签名验证增强 (SignVerificationResult) - 密码哈希支持 (bcrypt) 🟡 中优先级 (15项全部完成): - 连接池配置 (MaxOpenConns, MaxIdleConns) - 查询优化 (范围查询, 索引) - 健康检查增强 (/health 端点) - API版本控制 (/api/v1/*) - 认证中间件 (RequireAuth, RequireAPIAuth) - 定时任务优化 (robfig/cron) - 配置文件示例 (config.example.yaml) - 常量定义 (config/constants.go) - 开发文档 (DEVELOPMENT.md) 🟢 低优先级 (9项全部完成): - Docker支持 (Dockerfile, docker-compose.yml) - Makefile构建脚本 - 优化报告 (OPTIMIZATION_REPORT.md) - 密码哈希工具 (tools/password_hash.go) - 14个新文件 - 30项优化100%完成 版本: v2.0.0
This commit is contained in:
112
Makefile
Normal file
112
Makefile
Normal file
@@ -0,0 +1,112 @@
|
||||
.PHONY: all build clean run test docker-build docker-run install-dev help
|
||||
|
||||
# 应用名称
|
||||
APP_NAME := sms-receiver-v2
|
||||
MAIN_FILE := main.go
|
||||
|
||||
# Go 配置
|
||||
GO := go
|
||||
GOFMT := gofmt
|
||||
GOVET := go vet
|
||||
GOTEST := go test
|
||||
|
||||
# 构建配置
|
||||
BUILD_DIR := ./build
|
||||
LDFLAGS := -ldflags="-w -s"
|
||||
|
||||
# Docker 配置
|
||||
DOCKER_IMAGE := sms-receiver-go
|
||||
DOCKER_TAG := latest
|
||||
|
||||
# 默认目标
|
||||
all: build
|
||||
|
||||
## build: 编译应用
|
||||
build:
|
||||
@echo "编译应用..."
|
||||
$(GO) build $(LDFLAGS) -o $(APP_NAME) $(MAIN_FILE)
|
||||
@echo "编译完成: $(APP_NAME)"
|
||||
|
||||
## clean: 清理构建文件
|
||||
clean:
|
||||
@echo "清理构建文件..."
|
||||
rm -f $(APP_NAME)
|
||||
rm -rf $(BUILD_DIR)
|
||||
@echo "清理完成"
|
||||
|
||||
## run: 运行应用
|
||||
run:
|
||||
@echo "运行应用..."
|
||||
$(GO) run $(MAIN_FILE)
|
||||
|
||||
## test: 运行测试
|
||||
test:
|
||||
@echo "运行测试..."
|
||||
$(GOTEST) -v ./...
|
||||
|
||||
## fmt: 格式化代码
|
||||
fmt:
|
||||
@echo "格式化代码..."
|
||||
$(GOFMT) -s -w .
|
||||
|
||||
## vet: 代码质量检查
|
||||
vet:
|
||||
@echo "代码质量检查..."
|
||||
$(GOVET) ./...
|
||||
|
||||
## install-dev: 安装开发依赖
|
||||
install-dev:
|
||||
@echo "安装开发依赖..."
|
||||
$(GO) install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||
|
||||
## lint: 代码检查
|
||||
lint:
|
||||
@echo "代码检查..."
|
||||
golangci-lint run
|
||||
|
||||
## docker-build: 构建 Docker 镜像
|
||||
docker-build:
|
||||
@echo "构建 Docker 镜像..."
|
||||
docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) .
|
||||
|
||||
## docker-run: 运行 Docker 容器
|
||||
docker-run:
|
||||
@echo "运行 Docker 容器..."
|
||||
docker run -d \
|
||||
--name $(DOCKER_IMAGE) \
|
||||
-p 28001:28001 \
|
||||
-v $(PWD)/config.yaml:/app/config.yaml:ro \
|
||||
-v $(PWD)/data:/app/data \
|
||||
--restart unless-stopped \
|
||||
$(DOCKER_IMAGE):$(DOCKER_TAG)
|
||||
|
||||
## docker-stop: 停止 Docker 容器
|
||||
docker-stop:
|
||||
@echo "停止 Docker 容器..."
|
||||
docker stop $(DOCKER_IMAGE) || true
|
||||
docker rm $(DOCKER_IMAGE) || true
|
||||
|
||||
## docker-logs: 查看 Docker 日志
|
||||
docker-logs:
|
||||
docker logs -f $(DOCKER_IMAGE)
|
||||
|
||||
## password: 生成密码哈希
|
||||
password:
|
||||
@echo "生成密码哈希..."
|
||||
@read -p "请输入密码: " password; \
|
||||
$(GO) run tools/password_hash.go $$password
|
||||
|
||||
## help: 显示帮助信息
|
||||
help:
|
||||
@echo "可用命令:"
|
||||
@grep -E '^## ' $(MAKEFILE_LIST) | sed 's/## / /'
|
||||
|
||||
## 初始化项目
|
||||
init:
|
||||
@echo "初始化项目..."
|
||||
@if [ ! -f config.yaml ]; then \
|
||||
cp config.example.yaml config.yaml; \
|
||||
echo "已创建 config.yaml,请根据需要修改配置"; \
|
||||
else \
|
||||
echo "config.yaml 已存在"; \
|
||||
fi
|
||||
Reference in New Issue
Block a user