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"`
|
2026-09-10 16:59:15 +08:00
|
|
|
|
// 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 token(X-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
|
|
|
|
}
|
|
|
|
|
|
|
2026-09-04 14:18:53 +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"` // 任务状态轮询间隔(秒)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-09-07 15:55:30 +08:00
|
|
|
|
// 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
|
2026-09-04 14:18:53 +08:00
|
|
|
|
Agv AgvConfig
|
2026-09-07 15:55:30 +08:00
|
|
|
|
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
|
|
|
|
|
|
}
|