# Server-Go **Repository Path**: Panpan96/server-go ## Basic Information - **Project Name**: Server-Go - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-02-25 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

Server-Go v1.0.0

基于gin Go快速开发框架

## 项目介绍 * 后端采用go、gin & Jwt & gorm & mysql & copier & redis & gin-cache 。 * 权限认证使用Jwt,支持多终端认证系统。 ## 项目结构 ``` Server/ ├── app/ # 业务逻辑层 │ ├── api/ # API 接口层(控制器) │ ├── model/ # 数据模型层 │ ├── service/ # 业务服务层 │ ├── router/ # 路由注册 │ ├── cache/ # 缓存管理 │ ├── helper/ # 辅助函数 │ └── constants/ # 常量定义 ├── config/ # 配置相关 │ ├── sql/ # SQL 脚本 │ └── dev.config.yaml.example # 开发配置示例 ├── pkg/ # 公共包 │ ├── mysql/ # MySQL 封装 │ ├── redis/ # Redis 封装 │ ├── cache/ # 缓存抽象(redis/ristretto/file) │ ├── logs/ # 日志封装 │ ├── middleware/ # 中间件 │ └── ristretto/ # 高速缓存 ├── routers/ # 路由注册 ├── utils/ # 工具函数 ├── static/ # 静态资源 │ ├── webgl/ # WebGL 游戏资源 │ └── minigame/ # 小程序资源 ├── tpls/ # HTML 模板 ├── main.go # 入口文件 └── config.yaml # 配置文件 ``` ## 项目架构 本项目采用 **MVC 三层架构** 模式: ``` ┌─────────────────────────────────────┐ │ Router (路由层) │ │ routers/routers.go │ └──────────────┬──────────────────────┘ │ ┌──────────────▼──────────────────────┐ │ API (接口层) │ │ app/api/ │ │ 处理请求参数、调用 Service │ └──────────────┬──────────────────────┘ │ ┌──────────────▼──────────────────────┐ │ Service (业务层) │ │ app/service/ │ │ 核心业务逻辑、数据处理 │ └──────────────┬──────────────────────┘ │ ┌──────────────▼──────────────────────┐ │ Model (数据层) │ │ app/model/ │ │ 数据库操作、数据模型 │ └──────────────┬──────────────────────┘ │ ┌──────────┴──────────┐ │ │ ┌───▼────┐ ┌─────▼────┐ │ MySQL │ │ Redis │ └────────┘ └──────────┘ ``` ### 核心组件 - **Gin**: HTTP Web 框架 - **GORM**: ORM 数据库操作 - **JWT**: 用户身份认证 - **Redis**: 缓存、会话存储 - **Ristretto**: 高性能内存缓存 - **Zap**: 结构化日志 ### 请求处理流程 1. 客户端请求 → Router 路由匹配 2. → Middleware 中间件处理(认证、限流等) 3. → API Controller 接收请求 4. → Service 处理业务逻辑 5. → Model 操作数据库 6. → 返回响应 ## 安装 1.导入sql到mysql 数据库文件: - sql/card_wars.sql 2.拉取依赖 > go mod tidy 错误信息timeout。 自动下载 ```shell go env -w GO111MODULE=on ``` 设置环境为国内代理 ```shell go env -w GOPROXY=https://goproxy.cn,direct ``` 3.创建.env文件以及配置 ```shell cat config/dev.config.yaml.example > config.yaml ``` 配置用户名和密码以及端口号等信息 ## 启动 ```shell go run main.go ``` ## 安装redis ```shell apt -y install redis-server ``` ## Git 在 Linux 下忽略文件权限(chmod)变化 ```shell git config --global core.fileMode false ``` ## Git 丢掉本地所有修改 ```shell git reset --hard ```