From e32041e794725eaf22ea4c8620760e10eb57543e Mon Sep 17 00:00:00 2001 From: chengma Date: Wed, 12 Aug 2026 15:10:03 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BD=92=E6=A1=A3=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#182?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/task/182-蝦皮列表店铺名称搜索.md | 52 +++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 docs/task/182-蝦皮列表店铺名称搜索.md diff --git a/docs/task/182-蝦皮列表店铺名称搜索.md b/docs/task/182-蝦皮列表店铺名称搜索.md new file mode 100644 index 0000000..4ef412b --- /dev/null +++ b/docs/task/182-蝦皮列表店铺名称搜索.md @@ -0,0 +1,52 @@ +# 182 Admin:蝦皮列表增加店铺名称搜索并收紧搜索框宽度 + +- 类型:需求 +- 父级大工单:#14 +- 所属 MVP / 版本:#15 Admin 四模块可用闭环 +- 状态:已完成 +- 日期:2026-08-12 +- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/182 + +## 背景与目标 + +蝦皮列表原来只能筛选“有店铺 / 无店铺”,不能按具体店铺名称搜索;商品搜索框还会占用过多工具栏空间。本任务增加店铺名称模糊搜索,并把商品、店铺两个搜索框统一为 20% 弹性基础宽度。 + +## 最终方案 + +- 保留现有店铺三态筛选,新增独立 `shop_name` 模糊搜索条件。 +- 商品搜索继续兼容 ID 或名称,页面标签改为“商品 ID / 名称”。 +- 两个输入框使用蝦皮页面专用 CSS,各占 20% 弹性基础宽度并继承 160px 最小宽度;不修改其他模块的共用搜索框。 +- 列表与统计复用同一参数化 SQL 条件,并对 `%`、`_`、`!` 做 LIKE 转义。 +- 分页、详情弹窗、写操作返回及模块切换状态均保留 `shop_name`。 + +## 改了哪些 + +- `admin/repository/shopee.go`:增加店铺名称筛选字段和参数化模糊查询。 +- `admin/service/shopee_list.go`:把店铺名称纳入筛选状态判断。 +- `admin/handler/web/shopee.go`:传递并保留 `shop_name`。 +- `admin/templates/shopee/`:增加店铺名称输入和隐藏状态字段。 +- `admin/static/css/app.css`:增加蝦皮页面专用 20% 输入框样式。 +- `admin/static/js/app.js`:允许模块状态保存 `shop_name`。 +- Admin 相关测试及 `docs/admin/05-ui-specification.md`:补充行为验证和界面规范。 + +## 验收结果 + +| 验收标准 | 结果 | +|---|---| +| 两个搜索框有可见标签且基础宽度均为 20% | 通过 | +| 窄窗口保留最小宽度并自然换行 | 通过(CSS 规则检查) | +| 店铺名称包含匹配并正确处理 LIKE 特殊字符 | 通过 | +| 可与现有条件组合,列表和统计一致 | 通过 | +| 分页、详情、写操作返回和模块切换保留条件 | 通过 | +| 其他模块搜索框不受影响 | 通过 | +| 固定 Go 1.23.0 验证通过 | 通过 | + +## 测试 + +- 执行的命令:`GOTOOLCHAIN=go1.23.0 go vet ./...`、`go build ./...`、`go test ./... -count=1` +- 结果:Admin 全部包通过;新增店铺组合筛选、LIKE 转义、跳转参数和模块白名单测试通过。 +- **没验证到的部分**:没有启动浏览器进行 1366×768 人工视觉验收。 + +## 相关提交 + +- `889f568` feat: 增加蝦皮店铺名称搜索 (#182)