package config import ( "strconv" "github.com/zeromicro/go-zero/rest" ) type PostgresConfig struct { Host string `yaml:"Host"` Port int `yaml:"Port"` User string `yaml:"User"` Password string `yaml:"Password"` DBName string `yaml:"DBName"` SSLMode string `yaml:"SSLMode"` } type AuthConfig struct { AccessSecret string `yaml:"AccessSecret"` AccessExpire int64 `yaml:"AccessExpire"` } // InternalConfig 项目间内部 API 配置 type InternalConfig struct { Token string `yaml:"Token"` // 写死的项目间 API token(X-API-TOKEN) } type Config struct { rest.RestConf Postgres PostgresConfig `yaml:"Postgres"` Auth AuthConfig `yaml:"Auth"` Internal InternalConfig `yaml:"Internal"` Redis struct { Host string `yaml:"Host"` Type string `yaml:"Type"` } `yaml:"Redis"` } // DSN 返回 PostgreSQL 连接串 func (p PostgresConfig) DSN() string { return "host=" + p.Host + " port=" + strconv.Itoa(p.Port) + " user=" + p.User + " password=" + p.Password + " dbname=" + p.DBName + " sslmode=" + p.SSLMode }