feat: 保存并展示 PDD 店铺与价格采样信息 (#31)

This commit is contained in:
chengma
2026-08-07 17:13:25 +08:00
parent a2fc1501c4
commit 93beef8b36
17 changed files with 492 additions and 73 deletions
+9
View File
@@ -31,6 +31,7 @@
autocomplete="off" class="wide"></dd>
<dt>标题</dt><dd>{{.Title}}<small>(只读,采集后自动回填)</small></dd>
<dt>店铺</dt><dd>{{.ShopName}}<small>(只读,采集后自动回填)</small></dd>
<dt>采集状态</dt><dd>{{.StatusText}}</dd>
<dt>失败原因</dt><dd>{{.CollectMsg}}</dd>
<dt>采集时间</dt><dd>{{.CollectedAt}}</dd>
@@ -55,6 +56,12 @@
建议重新采集一次。
</p>
{{else}}
{{if .ShowPriceSource}}
<p class="hint">
价格按颜色采样,同一颜色下各尺码显示同一价格。<br>
标 ✓ 的是实测价,其余为推断值。
</p>
{{end}}
<div class="table-wrap">
<table>
<thead>
@@ -62,6 +69,7 @@
{{/* 列顺序按采集结果里的 dimensions 定,不是 Go map 的随机顺序 */}}
{{range .DimensionNames}}<th>{{.}}</th>{{end}}
<th>价格</th>
{{if $.D.ShowPriceSource}}<th>价格来源</th>{{end}}
<th>有货</th>
</tr>
</thead>
@@ -72,6 +80,7 @@
{{/* 价格底层存的是整数分。采不到价格显示「未采到」,
绝不显示 ¥0.00——那会让人以为是白菜价 */}}
<td>{{.PriceText}}</td>
{{if $.D.ShowPriceSource}}<td>{{.PriceSource}}</td>{{end}}
<td>{{.Available}}</td>
</tr>
{{end}}
+3 -1
View File
@@ -51,6 +51,7 @@
<th class="col-check"><input type="checkbox" data-check-all></th>
<th>商品 ID</th>
<th>标题</th>
<th>店铺</th>
<th>PDD 链接</th>
<th>采集状态</th>
{{/* 采到 1 个和采到 20 个差别很大:只采到 1 个通常是没点开规格面板,
@@ -71,6 +72,7 @@
</td>
<td>{{.GoodsID}}</td>
<td class="truncate" title="{{.Title}}">{{.Title}}</td>
<td class="truncate" title="{{.ShopName}}">{{.ShopName}}</td>
<td class="truncate">
<a href="{{.URL}}" target="_blank" rel="noopener noreferrer" title="{{.URL}}">{{.URL}}</a>
</td>
@@ -83,7 +85,7 @@
{{else}}
{{/* 空状态要分情况:从没建过 和 筛选没结果,下一步动作完全不同 */}}
<tr class="empty">
<td colspan="8">
<td colspan="9">
{{if .IsFiltered}}
当前筛选条件下没有商品。<br>
<small>换个采集状态或清空搜索词再试。<a href="/pdd">查看全部</a></small>