# 01-后端项目结构初始化 ## 目标 创建 Go + Gin 后端项目的基础目录结构和配置文件。 --- ## 前置要求 - Go 1.21+ 已安装 - 环境变量已配置 --- ## 实施步骤 ### 步骤 1:创建项目目录 ```bash cd I:\apps\demo\healthApps mkdir -p server cd server ``` ### 步骤 2:初始化 Go 模块 ```bash go mod init health-ai ``` ### 步骤 3:创建目录结构 ```bash mkdir -p cmd/server mkdir -p internal/api/handler mkdir -p internal/api/middleware mkdir -p internal/model mkdir -p internal/service mkdir -p internal/repository/impl mkdir -p internal/config mkdir -p internal/database mkdir -p pkg/jwt mkdir -p pkg/response mkdir -p pkg/utils mkdir -p data ``` ### 步骤 4:安装核心依赖 ```bash # Web 框架 go get -u github.com/gin-gonic/gin # ORM go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite # 配置管理 go get -u github.com/spf13/viper # 日志 go get -u go.uber.org/zap # JWT go get -u github.com/golang-jwt/jwt/v5 # 密码加密 go get -u golang.org/x/crypto/bcrypt # 参数验证 go get -u github.com/go-playground/validator/v10 # 跨域 go get -u github.com/gin-contrib/cors ``` ### 步骤 5:创建配置文件 创建 `server/config.yaml`: ```yaml server: port: 8080 mode: debug # debug, release, test database: driver: sqlite # sqlite, postgres, mysql sqlite: path: ./data/health.db postgres: host: localhost port: 5432 user: postgres password: "" dbname: health_app mysql: host: localhost port: 3306 user: root password: "" dbname: health_app jwt: secret: your-secret-key-change-in-production expire_hours: 24 ai: provider: openai # openai, qwen api_key: "" base_url: "" ``` ### 步骤 6:创建入口文件 创建 `server/cmd/server/main.go`: ```go package main import ( "log" ) func main() { log.Println("Health AI Server Starting...") // TODO: 初始化配置、数据库、路由 } ``` ### 步骤 7:验证项目 ```bash cd server go mod tidy go run cmd/server/main.go # 输出: Health AI Server Starting... ``` --- ## 最终目录结构 ``` server/ ├── cmd/ │ └── server/ │ └── main.go ├── internal/ │ ├── api/ │ │ ├── handler/ │ │ └── middleware/ │ ├── model/ │ ├── service/ │ ├── repository/ │ │ └── impl/ │ ├── config/ │ └── database/ ├── pkg/ │ ├── jwt/ │ ├── response/ │ └── utils/ ├── data/ ├── config.yaml ├── go.mod └── go.sum ``` --- ## 验收标准 - [ ] 目录结构创建完成 - [ ] `go mod tidy` 无报错 - [ ] `go run cmd/server/main.go` 正常输出 --- ## 预计耗时 10-15 分钟 --- ## 下一步 完成后进入 `04-后端开发/02-数据库和模型设计.md`