Тайлбар байхгүй

iks ac532298d6 补充逻辑 7 цаг өмнө
.idea 46454becc3 增加文档 1 сар өмнө
.lingma 498e1581a8 初始化 1 сар өмнө
config 03adec571b 添加jwt token校验 2 өдөр өмнө
database 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 2 өдөр өмнө
doc 46454becc3 增加文档 1 сар өмнө
entity 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 2 өдөр өмнө
handler 498e1581a8 初始化 1 сар өмнө
middleware 03adec571b 添加jwt token校验 2 өдөр өмнө
model 498e1581a8 初始化 1 сар өмнө
routes 03adec571b 添加jwt token校验 2 өдөр өмнө
service ac532298d6 补充逻辑 7 цаг өмнө
utils 03adec571b 添加jwt token校验 2 өдөр өмнө
README.md 498e1581a8 初始化 1 сар өмнө
app.log 03adec571b 添加jwt token校验 2 өдөр өмнө
go.mod 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 2 өдөр өмнө
go.sum 66c91488b9 1.添加redis配置 2. 补足请求参数结构体 2 өдөр өмнө
main.go 03adec571b 添加jwt token校验 2 өдөр өмнө

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