Files
stock/internal/config/config.go
2026-01-13 01:08:10 +08:00

37 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package config
import (
"git.apinb.com/bsm-sdk/core/conf"
"git.apinb.com/bsm-sdk/core/env"
)
var (
Spec SrvConfig
)
type SrvConfig struct {
conf.Base `yaml:",inline"`
Databases *conf.DBConf `yaml:"Databases"`
}
func New(srvKey string) {
// 初始化通用配置 创建一个新的配置实例,用于服务配置
conf.New(srvKey, &Spec)
// 配置校验 服务端口如果不合规,则随机分配端口
Spec.Port = conf.CheckPort(Spec.Port)
// 初始化自定义环境变量
Spec.SecretKey = env.Runtime.JwtSecretKey
// InitRootUser 配置说明:
// 由于bool类型零值是false如果配置文件中未设置该字段默认值为false
// 为了保持向后兼容和默认启用初始化,我们采用以下策略:
// - 如果配置文件中显式设置为false则禁用初始化
// - 如果配置文件中未设置或设置为true则启用初始化
// 注意InitRootUserData函数内部已有幂等性检查重复执行是安全的
// 配置校验 服务名称地址及监听地址不能为空
conf.NotNil(Spec.Service, Spec.Cache)
}