parent
f3904d8eb5
commit
e6a0963e1a
@ -0,0 +1,7 @@
|
||||
app:
|
||||
mode: "debug" # release, debug, test
|
||||
addr: ":8084"
|
||||
log:
|
||||
path: "./logs"
|
||||
db:
|
||||
dsn: root:secret@tcp(localhost:3304)/gincms?charset=utf8mb4&parseTime=True&loc=Local
|
@ -0,0 +1,14 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8
|
||||
command: mysqld --character-set-server=utf8mb4
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: secret
|
||||
MYSQL_DATABASE: gincms
|
||||
ports:
|
||||
- "3304:3306"
|
||||
volumes:
|
||||
- ./volumes/mysql/data:/var/lib/mysql
|
@ -0,0 +1,17 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"ginCms/handlers/system"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// 初始化路由引擎
|
||||
func InitEngine() *gin.Engine {
|
||||
// 1. 初始化路由引擎
|
||||
r := gin.Default()
|
||||
|
||||
// 2. 注册不同模块的路由
|
||||
system.Router(r)
|
||||
|
||||
return r
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package system
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
func Router(r *gin.Engine) {
|
||||
r.GET("/ping", Ping)
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
{"time":"2024-07-22T16:13:40.3400034+08:00","level":"INFO","msg":"service is listening","addr":":8084"}
|
||||
{"time":"2024-07-22T16:18:14.1219434+08:00","level":"INFO","msg":"service is listening","addr":":8084"}
|
@ -0,0 +1 @@
|
||||
{"time":"2024-07-22T15:35:58.9737951+08:00","level":"INFO","msg":"service is listening","addr":":8084"}
|
@ -0,0 +1,30 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/spf13/viper"
|
||||
"log"
|
||||
)
|
||||
|
||||
// 默认配置
|
||||
func defaultConfig() {
|
||||
viper.SetDefault("app.mode", "debug")
|
||||
viper.SetDefault("app.addr", ":8080")
|
||||
viper.SetDefault("app.log.path", "./logs")
|
||||
viper.SetDefault("db.dsn", "user:password@tcp(host:port)/dbname?charset=utf8mb4&parseTime=True&loc=Local")
|
||||
}
|
||||
|
||||
// ParseConfig 解析配置
|
||||
func ParseConfig() {
|
||||
// 1. 默认配置
|
||||
defaultConfig()
|
||||
|
||||
// 2. 配置解析参数
|
||||
viper.AddConfigPath(".") // 从哪些目录搜索配置文件
|
||||
viper.SetConfigName("configs") // 配置文件名字
|
||||
viper.SetConfigType("yaml") // 配置类型(格式)
|
||||
|
||||
// 3. 执行解析
|
||||
if err := viper.ReadInConfig(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/spf13/viper"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// SetMode 设置应用模式
|
||||
func SetMode() {
|
||||
switch strings.ToLower(viper.GetString("app.mode")) {
|
||||
case "release":
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
case "test":
|
||||
gin.SetMode(gin.TestMode)
|
||||
case "debug":
|
||||
fallthrough
|
||||
default:
|
||||
gin.SetMode(gin.DebugMode)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue