feat: 保存并展示 PDD 店铺与价格采样信息 (#31)
This commit is contained in:
@@ -53,6 +53,25 @@
|
||||
- 从没导入过 → "还没有数据,点左上角『导入』开始"
|
||||
- 搜索无结果 → "没有匹配的记录" + 清除条件入口
|
||||
|
||||
### 3.1 搜索框宽度
|
||||
|
||||
`[必须]` 搜索框加 `class="search-narrow"` 收到 30%,让「搜索」按钮紧挨着它。
|
||||
目前 **PDD 商品页、顺运宝数据页、采集采购页**在用;
|
||||
蝦皮数据页和客户端列表页仍是撑满的(暂未统一)。
|
||||
|
||||
`[必须]` **不要去改 `.toolbar input[type="text"]` 那条通用规则**——
|
||||
五个页面共用它,改了会把没打算改的页面一起改掉。
|
||||
|
||||
`[必须]` 搜索表单上的 `grow` 类**要保留**,它负责把「删除」按钮顶到最右侧。
|
||||
去掉的话删除按钮会跑到搜索按钮旁边。
|
||||
|
||||
`[必须]` **不要额外加对齐样式**(`margin-right: auto`、`justify-content` 之类)。
|
||||
输入框不再伸展之后,多余空间自然留在按钮之后,按钮就贴着输入框了;
|
||||
额外加会和 `grow` 叠加出难预料的结果。
|
||||
|
||||
`[建议]` placeholder 要短。收到 30% 之后长文案显示不全——
|
||||
真装不下就缩短文案,**不要把宽度调回去**。
|
||||
|
||||
## 4. 蝦皮数据页
|
||||
|
||||
### 4.1 工具条
|
||||
@@ -153,10 +172,7 @@
|
||||
决定提交到哪个地址),表格里的勾选框只挂一份。
|
||||
为每个操作各复制一套勾选框的话,两套迟早会不同步。
|
||||
|
||||
`[必须]` 搜索框用 `class="search-narrow"` 收到 30%,让「搜索」按钮紧挨着它。
|
||||
**不要去改 `.toolbar input[type="text"]` 那条通用规则**——五个页面共用它,
|
||||
改了会把蝦皮 / 顺运宝 / 任务 / 客户端四页的搜索框一起改掉。
|
||||
搜索表单上的 `grow` 类要保留,它负责把「删除」按钮顶到最右侧。
|
||||
`[必须]` 搜索框用 `class="search-narrow"` 收到 30%,见 [§3.1](#31-搜索框宽度)。
|
||||
|
||||
### 5.2 表格列
|
||||
|
||||
@@ -165,6 +181,7 @@
|
||||
| 勾选 | 值是 `goods_id`,支持批量删除、批量建采集任务 |
|
||||
| 商品 ID | `goods_id` |
|
||||
| 标题 | 采集回来的;未采集时显示"(未采集,采集后自动回填)" |
|
||||
| 店铺 | 采集回来的 `shop_name`;未采到显示 `—`,截断处可查看完整文字 |
|
||||
| PDD 链接 | 截断显示,可点开(`target="_blank"` 要带 `rel="noopener noreferrer"`) |
|
||||
| 采集状态 | 中文文字,**不能只靠颜色**;失败时在下面补一行原因;`collecting` 超过 15 分钟没动静显示「**采集中(超时)**」,见下 |
|
||||
| 规格数 | 从 `skus_json` 算 |
|
||||
@@ -217,15 +234,15 @@
|
||||
│ 商品 ID 737116531267 (只读) │
|
||||
│ PDD 链接 [___________________](可编辑) │
|
||||
│ 标题 西装外套三件套 (只读) │
|
||||
│ 店铺 XX旗舰店 (只读) │
|
||||
│ 采集状态 已采集 │
|
||||
│ 失败原因 — │
|
||||
│ 采集时间 2026-08-07 15:20 │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ 规格(3 个) │
|
||||
│ 颜色分类 尺码 价格 有货 │
|
||||
│ 黑色 M ¥12.56 是 │
|
||||
│ 白色 M ¥12.56 否 │
|
||||
│ 红色 L 未采到 是 │
|
||||
│ 颜色分类 尺码 价格 价格来源 有货 │
|
||||
│ 黑色 M ¥12.56 ✓ 实测 是 │
|
||||
│ 黑色 L ¥12.56 推断 是 │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ [重新采集] [取消] [保存] │
|
||||
└─────────────────────────────────────────────┘
|
||||
@@ -241,6 +258,11 @@ Go 的 map 是无序的,不靠它定顺序的话,同一个商品每次刷新
|
||||
`price_cent` 为 `null` 时显示"未采到",**不得显示成 ¥0.00**——
|
||||
0 元和采不到价格是两回事,而这个数要参与价格保护比对(会花钱)。
|
||||
|
||||
`[必须]` `price_granularity == "color"` 时,规格表上方显示:
|
||||
“价格按颜色采样,同一颜色下各尺码显示同一价格。标 ✓ 的是实测价,其余为推断值。”
|
||||
规格表增加“价格来源”列;`options` 与 `price_observed_at` 完全相同的行显示
|
||||
“✓ 实测”,其余显示“推断”。状态不能只靠颜色表达。
|
||||
|
||||
`[必须]` 三种"没有规格"要分开显示,处理方式不一样:
|
||||
|
||||
| 情况 | 显示 |
|
||||
@@ -315,11 +337,13 @@ Go 的 map 是无序的,不靠它定顺序的话,同一个商品每次刷新
|
||||
### 6.1 工具条
|
||||
|
||||
```text
|
||||
[同步] [创建采购任务] 订单号 [________] [搜索] [删除]
|
||||
[同步] [创建采购任务] 订单号 [___] [搜索] [删除]
|
||||
```
|
||||
|
||||
`[待定]` MVP 阶段**同步按钮只做占位**:点击提示"同步功能待接入",不发请求。
|
||||
|
||||
`[必须]` 搜索框宽度见 [§3.1](#31-搜索框宽度)。
|
||||
|
||||
### 6.2 表格列
|
||||
|
||||
☐ / 货运单ID / 订单号 / 商品标题 / 蝦皮商品ID / 规格SKU / 数量 /
|
||||
@@ -384,13 +408,17 @@ Go 的 map 是无序的,不靠它定顺序的话,同一个商品每次刷新
|
||||
### 7.1 工具条
|
||||
|
||||
```text
|
||||
[类型▾ 全部] [状态▾ 全部] 关键词[____________] [搜索] [删除]
|
||||
[类型▾ 全部] [状态▾ 全部] 关键词[___] [搜索] [删除]
|
||||
```
|
||||
|
||||
- **类型**:全部 / 采集 / 采购。
|
||||
- **状态**:全部 + 7 个状态,见 [01 需求](01-requirements.md) §6.2。
|
||||
- **关键词**:同时匹配任务编号、订单号、PDD 商品 ID。
|
||||
|
||||
`[必须]` 搜索框宽度见 [§3.1](#31-搜索框宽度)。
|
||||
placeholder 写「任务编号 / 订单号 / 商品 ID」,**不要写全「PDD 商品 ID」**——
|
||||
收到 30% 之后装不下,会被截断成看不出意思的半截文字。
|
||||
|
||||
### 7.2 表格列
|
||||
|
||||
☐ / 任务编号 / 类型 / **目标** / 状态 / 客户端 / 更新时间
|
||||
|
||||
Reference in New Issue
Block a user