shop/pkg/setting/setting.go

56 lines
1.1 KiB
Go

package setting
import (
"github.com/go-ini/ini"
"log"
"time"
)
var Cfg *ini.File
var (
RunMode string
HTTPPort int
ReadTimeout time.Duration
WriteTimeout time.Duration
PageSize int
JwtSecret string
)
func init() {
var err error
Cfg, err = ini.Load("conf/app.ini")
if err != nil {
log.Fatalf("Fail to parse 'conf/app.ini': %v", err)
}
LoadBase()
LoadServer()
LoadApp()
}
func LoadBase() {
//RunMode = Cfg.Section("server").Key("RUN_MODE").MustString("debug")
}
func LoadServer() {
sec, err := Cfg.GetSection("server")
if err != nil {
log.Fatalf("Fail to get section 'sever' : %v", err)
}
RunMode = sec.Key("RunMode").MustString("debug")
HTTPPort = sec.Key("HttpPort").MustInt(8000)
ReadTimeout = time.Duration(sec.Key("ReadTimeout").MustUint(60)) * time.Second
WriteTimeout = time.Duration(sec.Key("WriteTimeout").MustInt(60)) * time.Second
}
func LoadApp() {
sec, err := Cfg.GetSection("app")
if err != nil {
log.Fatalf("Fail to get section 'app':%v", err)
}
JwtSecret = sec.Key("JwtSecret").MustString("!@#!@#!@#!@@#!@#")
PageSize = sec.Key("WriteTimeout").MustInt(10)
}