Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

83 lines
1.5 KiB
Go

package sysconfmod
import (
"91porn-server/common/log"
"encoding/json"
"strconv"
)
type ConfMap map[string]string
func (c ConfMap) getValue(code VCode) string {
obj, ok := c[string(code)]
if !ok {
log.Error("配置项 " + string(code) + " 未找到配置值!")
return ""
}
return obj
}
// GetStrSlice 获取字符串数组
func (c ConfMap) GetStrSlice(code VCode) []string {
var res []string
v := c.getValue(code)
err := json.Unmarshal([]byte(v), &res)
if err != nil {
log.Error("配置项 " + string(code) + " 不是有效的数组值!")
}
return res
}
// GetObject 对象类型配置
func (c ConfMap) GetObject(code VCode) map[string]string {
res := make(map[string]string)
v := c.getValue(code)
err := json.Unmarshal([]byte(v), &res)
if err != nil {
log.Error("配置项 " + string(code) + " 不是有效的对象值!")
}
return res
}
// GetString 字符串配置项
func (c ConfMap) GetString(code VCode) string {
return c.getValue(code)
}
// GetBool 布尔配置项
func (c ConfMap) GetBool(code VCode) bool {
v := c.getValue(code)
res, err := strconv.ParseBool(v)
if err != nil {
res = false
}
return res
}
// GetInt 数字型配置项
func (c ConfMap) GetInt(code VCode) int64 {
v := c.getValue(code)
res, err := strconv.ParseInt(v, 10, 64)
if err != nil {
res = 0
}
return res
}
// GetFloat 浮点型配置项
func (c ConfMap) GetFloat(code VCode) float64 {
v := c.getValue(code)
res, err := strconv.ParseFloat(v, 64)
if err != nil {
res = 0.00
}
return res
}