docs: 新增顺运宝接口契约;config.yaml 加入 gitignore
从 4 份 HAR 抓包和示例脚本还原 docs/admin/08-顺运宝接口.md。 全部结论标了出处,只有单一样本支撑的都标了 [待定]。 抓包验出三件和现有假设不符的事: 1. 登录响应的 JWT 从不参与请求,认证全靠 Cookie。示例脚本里 self.token 只用于算缓存有效期,没进过任何请求头。Go 侧存 Cookie 即可,token 都不用存。 2. _capture_refreshed_token 是死代码——它从响应头 X-Requested-With 读刷新后的 JWT,而 4 份 HAR 共 18 个响应里带该头的是 0 个。 会话就是 24 小时硬上限,没有滚动续期,不要移植这段逻辑。 3. 金额单位在同一个响应里不统一:amtOrder 在列表接口是分(61200 对应 612.0),escrowAmount 却不是(505 对应 505.0)。不能假设 "列表接口的金额都是分",逐字段确认。这条只有一个样本,已标 [待定]。 还推翻了「货运单规格能直接对上蝦皮商品規格ID」这个前提:顺运宝给的 productId 是 11 位商品ID,蝦皮規格ID 是 12 位。但 productSpec 的格式 与蝦皮报表完全一致,可直接复用 #38 的 ParseSpec,匹配走 "productId 定位商品 → 解析规格 → 在该商品的 SKU 里比对"。 admin/config.yaml 含明文密码且此前没有任何 gitignore 规则挡它, 一次目录级 git add 就会进历史。已加规则,并补 config.example.yaml 作为模板(不含真实凭据,进 git)。 已确认历史提交中从未出现过该凭据。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Admin 本机配置模板
|
||||
#
|
||||
# 用法:把本文件复制成 admin/config.yaml,填入真实账号密码。
|
||||
#
|
||||
# Windows: copy admin\config.example.yaml admin\config.yaml
|
||||
# Linux: cp admin/config.example.yaml admin/config.yaml
|
||||
#
|
||||
# `[必须]` config.yaml 已在 .gitignore 里,绝不能提交进 Git——
|
||||
# 密码一旦进了 git 历史就很难清干净。
|
||||
# `[必须]` 打包发给别人时也不要带上 config.yaml。
|
||||
#
|
||||
# 接口细节见 docs/admin/08-顺运宝接口.md。
|
||||
|
||||
syb:
|
||||
# 顺运宝 ERP 地址。一般不用改,域名变了才改。
|
||||
base_url: https://www.shunyunbaoerp.com
|
||||
|
||||
username: 你的顺运宝账号
|
||||
|
||||
# `[必须]` 密码要加引号。纯数字密码不加引号会被 YAML 解析成整数,
|
||||
# 反序列化到 string 字段会直接报错,前导 0 也会丢。
|
||||
password: "你的密码"
|
||||
|
||||
# 列表接口每页条数。抓包里网页用的就是 20。
|
||||
page_size: 20
|
||||
|
||||
# 单次同步的条数上限,超过就报错而不是硬拉。
|
||||
# 防止日期范围手滑填成一整年,把整库拉下来。
|
||||
max_matches: 500
|
||||
|
||||
# 首次同步的起始日期。之后按「上次同步时间」增量拉,不再用这个值。
|
||||
sync_from: "2026-07-01"
|
||||
Reference in New Issue
Block a user