# 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
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
```