Nenhuma descrição

zhangqian 498e1581a8 初始化 1 mês atrás
.idea 498e1581a8 初始化 1 mês atrás
.lingma 498e1581a8 初始化 1 mês atrás
config 498e1581a8 初始化 1 mês atrás
database 498e1581a8 初始化 1 mês atrás
entity 498e1581a8 初始化 1 mês atrás
handler 498e1581a8 初始化 1 mês atrás
middleware 498e1581a8 初始化 1 mês atrás
model 498e1581a8 初始化 1 mês atrás
routes 498e1581a8 初始化 1 mês atrás
service 498e1581a8 初始化 1 mês atrás
utils 498e1581a8 初始化 1 mês atrás
README.md 498e1581a8 初始化 1 mês atrás
app.log 498e1581a8 初始化 1 mês atrás
go.mod 498e1581a8 初始化 1 mês atrás
go.sum 498e1581a8 初始化 1 mês atrás
main.go 498e1581a8 初始化 1 mês atrás

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