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