1.3:引入项目依赖
在终端命令Terminal中安装依赖
先安装项目依赖包go.mod: go mod init admin-api
安装gin命令:go get github.com/gin-gonic/gin@v1.8.1
安装gorm命令:go get gorm.io/gorm
安装mysql命令:go get gorm.io/driver/mysql
安装log命令:go get github.com/sirupsen/logrus
go get github.com/lestrrat-go/file-rotatelogs
go get github.com/rifflock/lfshook
安装go-redis命令:go get github.com/go-redis/redis/v8@v8.11.5
安装base64Captcha命令: go get github.com/mojocn/base64Captcha@v1.3.1
安装jwt-go命令:go get github.com/dgrijalva/jwt-go
安装yaml命令:go get gopkg.in/yaml.v3
安装获取客户端OS和browser命令:go get -u github.com/wenlng/go-user-agent
安装ip地址命令:go get github.com/gogf/gf
安装swagger命令:
go get github.com/swaggo/files
go get github.com/swaggo/gin-swagger
如果下载依赖报红,在file中选择settings->Go->Go Modules中配置 GOPROXY=https://goproxy.io
1.4:端口及初始化配置
在config.yaml中配置代码:
在common中新建config包,在config中新建config.go文件:
# 项目启动端口
server:
address: :2000
# debug模式
model: debug
# release模式
#model:release
// 文件配置
// author xiaoRui
package config
import (
"gopkg.in/yaml.v2"
"io/ioutil"
)
// 总配文件
type config struct {
Server server `yaml:"server"`
}
// 项目端口配置
type server struct {
Address string `yaml:"address"`
Model string `yaml:"model"`
}
var Config *config
// 配置初始化
func init() {
yamlFile, err := ioutil.ReadFile("./config.yaml")
// 有错就down机
if err != nil {
panic(err)
}
// 绑定值
err = yaml.Unmarshal(yamlFile, &Config)
if err != nil {
panic(err)
}
}
1.5:数据库db配置
在config.yaml中配置mysql数据源如下:
config.go配置mysql如下:
# 项目启动端口
server:
address: :2000
# debug模式
model: debug
# release模式
#model:release
# 数据库配置
db:
dialects: mysql
host: 127.0.0.1
port: 3306
db: admin-api
username: root
password: root
charset: utf8
#最大空闲数
maxIdle: 50
#最大连接数
maxOpen: 150
// 文件配置
// author xiaoRui
package config
import (
"gopkg.in/yaml.v2"
"io/ioutil"
)
// 总配文件
type config struct {
Server server `yaml:"server"`
Db db `yaml:"db"`
}
// 项目端口配置
type server struct {
Address string `yaml:"address"`
Model string `yaml:"model"`
}
// 数据库配置
type db struct {
Dialects string `yaml:"dialects"`
Host string `yaml:"host"`
Port int `yaml:"port"`
Db string `yaml:"db"`
1.6:缓存redis配置
在config.yaml中配置redis信息如下:
在config.go配置redis信息如下:
Username string `yaml:"username"`
Password string `yaml:"password"`
Charset string `yaml:"charset"`
MaxIdle int `yaml:"maxIdle"`
MaxOpen int `yaml:"maxOpen"`
}
var Config *config
// 配置初始化
func init() {
yamlFile, err := ioutil.ReadFile("./config.yaml")
// 有错就down机
if err != nil {
panic(err)
}
// 绑定值
err = yaml.Unmarshal(yamlFile, &Config)
if err != nil {
panic(err)
}
}
# 项目启动端口
server:
address: :2000
# debug模式
model: debug
# release模式
#model:release
# 数据库配置
db:
dialects: mysql
host: 127.0.0.1
port: 3306
db: admin-api
username: root
password: root
charset: utf8
#最大空闲数
maxIdle: 50
#最大连接数
maxOpen: 150
# redis配置
redis:
address: 127.0.0.1:6379
password: 123456