Files
platforms/backend/api/internal/config/config.go

39 lines
1.1 KiB
Go
Raw Normal View History

// Package config 沿用 sample/server 的 BSM 配置加载与校验方式。
package config
import (
"net"
"git.apinb.com/bsm-sdk/core/conf"
)
// Spec 是 Platform API 的运行配置。
var Spec SrvConfig
2026-07-28 09:25:49 +08:00
// WalletConfig 保存钱包后台资金操作限制。
type WalletConfig struct {
ManualRechargeMaxAmount int64 `yaml:"ManualRechargeMaxAmount"`
}
// SrvConfig 与 sample/server 配置结构保持一致。
type SrvConfig struct {
conf.Base `yaml:",inline"`
Databases *conf.DBConf `yaml:"Databases"`
Rpc map[string]conf.RpcConf `yaml:"Rpc"`
Apm *conf.ApmConf `yaml:"APM"`
2026-07-28 09:25:49 +08:00
Wallet WalletConfig `yaml:"Wallet"`
}
// New 初始化 BSM 配置并校验服务监听地址。
func New(srvKey string) {
conf.New(srvKey, &Spec)
Spec.Port = conf.CheckPort(Spec.Port)
Spec.BindIP = conf.CheckIP(Spec.BindIP)
Spec.Addr = net.JoinHostPort(Spec.BindIP, Spec.Port)
conf.NotNil(Spec.Service, Spec.Cache)
2026-07-28 09:25:49 +08:00
if Spec.Wallet.ManualRechargeMaxAmount <= 0 {
panic("Wallet.ManualRechargeMaxAmount must be greater than zero")
}
conf.PrintInfo(Spec.Addr)
}