53 lines
920 B
Go
53 lines
920 B
Go
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", "2", "3"}
|
|
for _, s := range admins {
|
|
if s == userID {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|