bypos-collector: 移除硬编码 sdogid、添加重试、补全 CSV 导出、增加测试
CI / Go (api) (pull_request) Failing after 1s
CI / Python (ingestion) (pull_request) Failing after 0s
CI / Migrations (postgres) (pull_request) Failing after 2s

改进内容:
- sdogid 不再硬编码,优先从 $BYPOS_SDOGID 环境变量读取,其次 -sdogid 参数,
  也可在 Web 控制台输入框填写;三者都未设时启动警告、采集报错
- 网络错误自动重试(最多 3 次,指数退避 500ms/1s/2s)
- Web 控制台采集参数区增加 sdogid 输入框
- CSV 导出补全 retmsg 和 source 两列
- 新增 Go 单元测试(ean13Check、md5hex、sanitizeBarcodes、resolveSdogID 等)
- README 更新配置说明

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
ceyhandagdas51272
2026-06-24 03:10:09 +00:00
parent 8f9a03a929
commit 21c895a008
5 changed files with 171 additions and 17 deletions
+5
View File
@@ -79,6 +79,10 @@
<div class="card">
<h3>② 采集参数</h3>
<div class="row">
<div>
<label>中心库账号 sdogid</label>
<input type="text" id="sdogid" placeholder="留空则使用环境变量或启动参数"/>
</div>
<div>
<label>并发数</label>
<input type="number" id="concurrency" value="3" min="1" max="20"/>
@@ -165,6 +169,7 @@ async function start(){
start_body: document.getElementById('start').value.trim(),
end_body: document.getElementById('end').value.trim(),
list: document.getElementById('list').value,
sdog_id: document.getElementById('sdogid').value.trim(),
concurrency: parseInt(document.getElementById('concurrency').value)||3,
delay_ms: parseInt(document.getElementById('delay').value)||0,
log_miss: document.getElementById('logmiss').checked,