Skip to main content

server

server文件夹为Golang后端项目,需要有Golang基础,Gin框架基础

server项目结构#

├── api│   └── v1├── config├── core├── docs├── global├── initialize│   └── internal├── middleware├── model│   ├── request│   └── response├── packfile├── resource│   ├── excel│   ├── page│   └── template├── router├── service├── source└── utils    ├── timer    └── upload
文件夹说明描述
apiapi层api层
--v1v1版本接口v1版本接口
config配置包config.yaml对应的配置结构体
core核心文件核心组件(zap, viper, server)的初始化
docsswagger文档目录swagger文档目录
global全局对象全局对象
initialize初始化router,redis,gorm,validator, timer的初始化
--internal初始化内部函数gorm 的 longger 自定义,在此文件夹的函数只能由 initialize 层进行调用
middleware中间件层用于存放 gin 中间件代码
model模型层模型对应数据表
--request入参结构体接收前端发送到后端的数据。
--response出参结构体返回给前端的数据结构体
packfile静态文件打包静态文件打包
resource静态资源文件夹负责存放静态文件
--excelexcel导入导出默认路径excel导入导出默认路径
--page表单生成器表单生成器 打包后的dist
--template模板模板文件夹,存放的是代码生成器的模板
router路由层路由层
serviceservice层存放业务逻辑问题
sourcesource层存放初始化数据的函数
utils工具包工具函数封装
--timertimer定时器接口封装
--uploadossoss接口封装

本文使用的环境#

  • 数据库选择mysql

  • Goland(2020.2)

1. 初始化server项目#

  • Goland打开server文件夹
  • 设置GOPROXY
    • windows:打开File → settings → Go → Go Modules,将 Environment 项的值设置为GOPROXY=https://goproxy.cn,direct
    • Mac: 打开Goland→Preferences...→Go → Go Modules,将Environment项的值设置为GOPROXY=https://goproxy.cn,direct
  • 打开go.mod文件,在文件空白处鼠标右键点击Go Mod Tidy

2. config.yaml#

3. 数据库初始化#

4. 启动server项目#

  • 完成后打开main.go, 在文件空白处鼠标右键点击运行'go build main.go',或者使用图中红色框的右边的快捷键组合进行启动项目或者打开goland的终端,输入命令go run main.go

5. 生成swagger自动化API文档#

5.1 安装 swagger#

  • 可以翻墙
go get -u github.com/swaggo/swag/cmd/swag
  • 无法翻墙 由于国内没法安装 go.org/x 包下面的东西,推荐使用 goproxy.cn 或者 goproxy.cn/
# 如果您使用的 Go 版本是 1.13 - 1.15 需要手动设置GO111MODULE=on, 开启方式如下命令, 如果你的 Go 版本 是 1.16 ~ 最新版 可以忽略以下步骤一# 步骤一、启用 Go Modules 功能go env -w GO111MODULE=on # 步骤二、配置 GOPROXY 环境变量go env -w GOPROXY=https://goproxy.cn,https://goproxy.cn,direct
# 如果嫌弃麻烦,可以使用go generate 编译前自动执行代码, 不过这个不能使用 `Goland` 或者 Vscode 的 命令行终端cd servergo generate -run "go env -w .*?"
# 使用如下命令下载swaggo get -u github.com/swaggo/swag/cmd/swag

5.2 生成API文档#

cd serverswag init

执行上面的命令后,server目录下会出现docs文件夹,打开浏览器输入 http://localhost:8888/swagger/index.html,即可查看swagger文档

您可能遇到的问题
  1. 启动时报数据库启动失败,请检查是否创建qmsql数据库,或者是否是您自行配置的数据库
  2. 登录时用户名密码错误,请检查数据库文件是否导入