Sen descrición

zhangqian 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
.idea 46454becc3 增加文档 hai 10 meses
.lingma 498e1581a8 初始化 hai 10 meses
config 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
database 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
doc 46454becc3 增加文档 hai 10 meses
entity 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
handler 498e1581a8 初始化 hai 10 meses
middleware 498e1581a8 初始化 hai 10 meses
model 498e1581a8 初始化 hai 10 meses
routes 498e1581a8 初始化 hai 10 meses
service 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
utils 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
README.md 498e1581a8 初始化 hai 10 meses
app.log 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
go.mod 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
go.sum 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses
main.go 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 hai 8 meses

README.md

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 文件中配置以下内容:

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 数据库:

    CREATE DATABASE IF NOT EXISTS ws_deepseek CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  3. 修改 config/config.yaml 中的数据库配置

  4. 运行以下命令启动服务:

    # 设置代理(如果需要)
    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 <token>

中间件

JWT 认证中间件会拦截需要认证的路由,验证请求头中的 token。

工具包

  • 日志记录: utils/logger.go
  • HTTP 客户端: utils/http.go
  • 常用函数: utils/common.go