# Newaterobot Process 项目 这是一个基于 Go 语言和 Gin 框架的后端项目,包含完整的项目架构设计。 ## 项目结构 ``` newaterobot-process/ ├── config/ # 配置文件目录 ├── database/ # 数据库初始化 ├── entity/ # 实体层(数据模型) ├── handler/ # 控制器层(处理HTTP请求) ├── middleware/ # 中间件 ├── model/ # 模型层(数据访问) ├── routes/ # 路由配置 ├── service/ # 服务层 ├── utils/ # 工具包 ├── go.mod # Go模块文件 └── main.go # 程序入口 ``` ## 技术栈 - Web框架: Gin - 配置文件格式: YAML - 数据库: MySQL - ORM框架: GORM - JWT认证: github.com/golang-jwt/jwt/v4 - 密码加密: golang.org/x/crypto/bcrypt ## 配置说明 在 `config/config.yaml` 文件中配置以下内容: ```yaml server: port: 8080 mysql: host: 127.0.0.1 port: 3308 username: root password: Greentech20200508**1 dbname: ws_deepseek charset: utf8mb4 parseTime: True loc: Local jwt: secret: newaterobot_secret expire: 3600 ``` ## 主要功能 1. 用户注册和登录 2. JWT Token 认证 3. 用户信息获取 4. 日志记录 5. HTTP 请求工具 6. 常用工具函数 ## 快速开始 1. 确保已安装 Go 1.21+ 2. 创建 MySQL 数据库: ```sql CREATE DATABASE IF NOT EXISTS ws_deepseek CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 3. 修改 `config/config.yaml` 中的数据库配置 4. 运行以下命令启动服务: ```bash # 设置代理(如果需要) set GOPROXY=https://goproxy.cn,direct # 安装依赖 go mod tidy # 运行程序 go run main.go ``` ## API 接口 ### 用户注册 ``` POST /api/v1/register Content-Type: application/json { "username": "testuser", "password": "password123", "email": "test@example.com", "nickname": "Test User" } ``` ### 用户登录 ``` POST /api/v1/login Content-Type: application/json { "username": "testuser", "password": "password123" } ``` ### 获取用户信息(需要认证) ``` GET /api/v1/user/info Authorization: Bearer ``` ## 中间件 JWT 认证中间件会拦截需要认证的路由,验证请求头中的 token。 ## 工具包 - 日志记录: utils/logger.go - HTTP 客户端: utils/http.go - 常用函数: utils/common.go