ai update.

This commit is contained in:
2025-10-03 19:55:20 +08:00
parent 0401a39a94
commit 464617626b
15 changed files with 374 additions and 378 deletions

View File

@@ -1,3 +1,5 @@
// Package conf 提供配置管理功能
// 支持YAML配置文件加载、环境变量替换、配置验证等
package conf
import (
@@ -17,6 +19,9 @@ import (
yaml "gopkg.in/yaml.v3"
)
// New 加载配置文件
// srvKey: 服务键名
// cfg: 配置结构体指针
func New(srvKey string, cfg any) {
env.NewEnv()
@@ -26,7 +31,7 @@ func New(srvKey string, cfg any) {
// 获取主机名
vars.HostName, _ = os.Hostname()
// 构造配置文件路径,输出配置文件信息
// 构造配置文件路径输出配置文件信息
cfp := fmt.Sprintf("%s_%s.yaml", strings.ToLower(srvKey), env.Runtime.Mode)
cfp = filepath.Join(env.Runtime.Prefix, "etc", cfp)
@@ -48,18 +53,20 @@ func New(srvKey string, cfg any) {
// 替换环境变量
yamlString := os.ExpandEnv(string(yamlFile))
// 检查配置文件中是否存在Service和Port字段
// 检查配置文件中是否存在Service字段
if !strings.Contains(yamlString, "Service:") {
log.Fatalln("ERROR: Service Not Nil", cfp)
}
// 解析YAML
// 解析YAML到配置结构体
err = yaml.Unmarshal([]byte(yamlString), cfg)
if err != nil {
log.Fatalf("ERROR: %v", err)
}
}
// NotNil 验证必需配置项不为空
// values: 需要验证的配置值列表
func NotNil(values ...string) {
for _, value := range values {
if strings.TrimSpace(value) == "" {
@@ -68,12 +75,17 @@ func NotNil(values ...string) {
}
}
// PrintInfo 打印配置信息
// addr: 服务地址
func PrintInfo(addr string) {
printer.Success("[BSM - %s] Config Check Success.", vars.ServiceKey)
printer.Info("[BSM - %s] Service Name: %s", vars.ServiceKey, vars.ServiceKey)
printer.Info("[BSM - %s] Runtime Mode: %s", vars.ServiceKey, env.Runtime.Mode)
}
// CheckPort 检查端口配置,如果为空则生成随机端口
// port: 端口字符串
// 返回: 有效的端口字符串
func CheckPort(port string) string {
if port == "" {
r := rand.New(rand.NewPCG(1000, uint64(time.Now().UnixNano())))
@@ -83,6 +95,9 @@ func CheckPort(port string) string {
return port
}
// CheckIP 检查IP配置如果为空则获取本机IP
// ip: IP地址字符串
// 返回: 有效的IP地址字符串
func CheckIP(ip string) string {
if ip == "" {
return utils.GetLocationIP()