Files
bj_power/bj_power_wms/internal/config/config.go
T

78 lines
2.7 KiB
Go
Raw Normal View History

2026-08-28 15:06:01 +08:00
package config
import (
"strconv"
"github.com/zeromicro/go-zero/rest"
)
2026-08-29 15:30:25 +08:00
// PostgresConfig PostgreSQL 连接配置(go-zero 按 json tag + 字段名小写匹配 yaml
2026-08-28 15:06:01 +08:00
type PostgresConfig struct {
2026-08-29 15:30:25 +08:00
Host string `json:",default=127.0.0.1"`
Port int `json:",default=5432"`
User string `json:",default=postgres"`
Password string `json:",default=postgres"`
DBName string `json:",default=bj_power_wms"`
SSLMode string `json:",default=disable"`
2026-08-28 15:06:01 +08:00
}
type AuthConfig struct {
2026-08-29 15:30:25 +08:00
AccessSecret string `json:",default=Hardman_2026"`
// AccessExpire 会话闲置窗口(秒):滑动续签下 = 距最后一次请求多久后需要重新登录
AccessExpire int64 `json:",default=3600"`
2026-08-28 15:06:01 +08:00
}
// InternalConfig 项目间内部 API 配置
type InternalConfig struct {
2026-08-29 15:30:25 +08:00
Token string `json:",default=Hardman_2026"` // 写死的项目间 API tokenX-API-TOKEN
}
// MesConfig 下游 MES 服务对接(备料/台账需取工单与 BOM)
type MesConfig struct {
BaseURL string `json:",default=http://127.0.0.1:8888"` // MES 服务地址
Token string `json:",default=Hardman_2026"` // 调 MES 内部接口的 X-API-TOKEN
2026-08-28 15:06:01 +08:00
}
// AgvConfig 海康 AGV(RCS-2000) 调度系统对接
// 未配置 appKey/appSecret/RCS 地址 或 EnableMock=true 时,使用 mock 客户端(模拟下发成功/到位),便于离线联调。
type AgvConfig struct {
EnableMock bool `json:",default=true"` // 是否模拟(未接真实 RCS 前保持 true)
BaseURL string `json:",default=http://127.0.0.1:1010/rcs/rtas"` // RCS 服务前缀,如 http://10.10.10.10:1010/rcs/rtas
AppKey string `json:",default=unset"` // RCS 颁发给业务系统的应用标识
AppSecret string `json:",default=unset"` // RCS 应用私钥
CarrierCode string `json:",default=DEFAULT"` // 默认载具/托盘编号(选填)
PollInterval int `json:",default=10"` // 任务状态轮询间隔(秒)
}
// WebConfig 前端静态资源托管配置(原库房客户端 8891 已合并进主服务)
type WebConfig struct {
OpenBrowser bool `json:",default=true"` // 本机开发时启动后自动打开浏览器;服务器部署设为 false
}
2026-08-28 15:06:01 +08:00
type Config struct {
rest.RestConf
2026-08-29 15:30:25 +08:00
Postgres PostgresConfig
Auth AuthConfig
Internal InternalConfig
Redis RedisConf
Mes MesConfig
Agv AgvConfig
Web WebConfig
2026-08-29 15:30:25 +08:00
}
// RedisConf Redis 连接配置
type RedisConf struct {
Host string `json:",default=127.0.0.1:6379"`
Type string `json:",default=node"`
2026-08-28 15:06:01 +08:00
}
// 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
}