使用viper读取配置

This commit is contained in:
TsMask
2023-08-29 16:10:57 +08:00
parent d5f4483fe9
commit 40d3d05126
4 changed files with 105 additions and 5 deletions

52
lib/core/conf/conf.go Normal file
View File

@@ -0,0 +1,52 @@
package conf
import (
"fmt"
"time"
"github.com/spf13/viper"
)
// 配置文件读取
func InitConfig(configFile string) {
// 设置配置文件路径
viper.SetConfigFile(configFile)
// 读取配置文件
err := viper.ReadInConfig()
if err != nil {
fmt.Printf("读取配置文件失败: %v \n", err)
return
}
// 记录程序开始运行的时间点
viper.Set("runTime", time.Now())
}
// RunTime 程序开始运行的时间
func RunTime() time.Time {
return viper.GetTime("runTime")
}
// Get 获取配置信息
//
// Get("framework.name")
func Get(key string) any {
return viper.Get(key)
}
// IsAdmin 用户是否为管理员
func IsAdmin(userID string) bool {
if userID == "" {
return false
}
// 从本地配置获取user信息
// admins := Get("user.adminList").([]any)
admins := []string{"1"}
for _, s := range admins {
if s == userID {
return true
}
}
return false
}