You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

43 lines
2.2 KiB

tag: "${CLUSTER_TAG:-voitrans-a11}" #服务集群标签:同标签且 ETCD 一致才能互相发现,按 .env 的 CLUSTER_TAG 隔离不同部署
type: "gateway" #服务类型
version: 1.0
exte: #RPCX 相关配置(同一容器内 5 服务用 127.0.0.1 互通;ETCD 为独立容器,经 .env 注入容器名)
Port: 7001
Addr: 127.0.0.1:7001
ETCDServers: ["${ETCD_SERVERS:-etcd:2379}"]
UpdateInterval: 5
sys:
log:
FileName: "./log/gateway.log"
Loglevel: 5
MaxAgeTime: 7
IsDebug: ${LOG_DEBUG:-false}
# gateway 不接存储
modules:
gateway:
ListenPort: 7100
TokenKey: "${GATEWAY_TOKEN_KEY:-}"
EncryptKey: "${GATEWAY_ENCRYPT_KEY:-}" #v2 加密接口响应 AES key(16/24/32 字节),须与 Flutter ApiCrypto._key 一致;空=不加密
WhiteList:
- user_sgin
- api_getuser
- user_getappconfig
- user_getappconfig_v2 #加密版应用配置(apiV2Comp.GetAppConfig,路由=user_<方法名小写>_v2);改方法名要同步这里,否则未登录取配置会被拒
- user_getappconfig_v3 # 加密版 v3:结构化 thirdsvcs + env,客户端 2026-09-14 起走它;splash 未登录就要取配置,必须放行
- user_getchannelapp
# ⚠️ 复数那个也必须放行:客户端读的是它(Api.getChannelApps → /api/home/user_getchannelapps),
# 而游客登录入口的显隐结论就在这个响应里 —— 入口恰恰只在**未登录**时才需要显示,
# 少了这一行会 code:18 NoLogin,客户端静默按「隐藏」处理,表现为「后台开了但 App 里没有」。
- user_getchannelapps
- user_verification
- pay_wechatnotify
- pay_alipaynotify
# ⚠️ 会议纪要分享落地页(share.ymaikj.com)调它,**打开链接的人本来就没登录**——
# 少这一行返回 code:18 NoLogin,表现是「分享链接打开一片空白」。
# 免登录是安全的:它只认服务端签发的分享票据(HMAC 签名、绑定单条记录、有有效期),
# 实现见 modules/echomeet/api_sharelink.go。签发那一端(echomeet_createsharelink)需要登录,
# **不要**把它也加进白名单。
- echomeet_getsharedrecord
Debug: ${LOG_DEBUG:-false}