Files
koc-loop/design-qa.md
2026-08-15 03:53:09 +08:00

294 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# KOC LOOP 数据回收标题跳转设计 QA
## 验证对象
- 用户参考截图:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-2296f03e-e79b-494c-b745-08e939fc20c6.png`
- 浏览器实现截图:`/private/tmp/koc-loop-recovery-title-link-focused.png`
- 参考与实现并排对照:`/private/tmp/koc-loop-recovery-title-link-comparison.png`
- 本地页面:`http://localhost:8080/`
## 环境与状态
- CSS 视口1278 × 692桌面布局
- 用户参考截图2556 × 1384按 2:1 密度归一为 1278 × 692
- 实现截图1278 × 692
- 页面状态:数据回收 → 美团医美-备婚 → 数据回收队列
- 交互状态:已回填短链的第一条标题获得键盘焦点;两条未回填记录保持普通文本
## 完整画面对比
- 信息架构、侧栏、采集计划和数据回收表格继续沿用现有界面,没有新增路由或改变表格列宽。
- 已回填标题使用现有绿色交互色,聚焦时显示清晰但克制的描边;未回填标题仍为黑色普通文本。
- 参考图中的目标区域与实现截图在同一张并排对照图中检查,未发现遮挡、换行异常或列错位。
## 聚焦区域检查
- 字体与层级:标题字号、字重和省略规则保持不变,仅为可点击标题增加语义色和 hover/focus 状态。
- 间距与布局:链接仍受原有 310px 最大宽度约束,头像、账号副标题和相邻数据列未发生位移。
- 颜色与状态:绿色与现有按钮、成功状态色一致;键盘焦点轮廓可见。
- 图片质量:创作者截图缩略图未受本次改动影响,仍保持原比例显示。
- 文案内容:标题原文、账号名称、平台信息和采集数据均保持不变。
## 功能验证
- 当前任务中识别到 1 条可点击标题,`href` 为已回填的 `http://xhslink.cn/o/9qOYiD3Iu8K``target=_blank`
- 点击标题后短链成功跳转并解析为小红书笔记详情页。
- 另外 2 条没有发布链接的标题不是链接,避免误导点击。
- 链接仅允许小红书正式域名和 `xhslink.cn` / `xhslink.com` 短链域名,其他协议或域名不会渲染为链接。
- 后台浏览器控制台无 warning/error。
- Docker 生产构建通过;相关静态验收测试 12 项全部通过。
## 迭代记录
1. 初次浏览器验收发现第一条发布链接为 `xhslink.cn`,而前端白名单只包含 `xhslink.com`,因此标题仍是普通文本。
2. 补充 `xhslink.cn` 及其子域名白名单,保留 HTTP/HTTPS 与小红书域名边界。
3. 重新构建后,浏览器识别到 1 条可点击标题;点击实际打开对应小红书页面,未回填行仍不可点击。
final result: passed
---
# KOC LOOP 任务筛选常驻搜索框设计 QA
## 验证对象
- 用户目标截图:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-67b0b080-8ea8-4504-82eb-348e8cf4ec19.png`
- 浏览器实现截图:`/private/tmp/koc-distributions-direct-search.png`
- CSS 视口842 × 778设备像素比 2
- 本地页面:`http://localhost:8080/?nav=distributions`
## 调整结果
1. 品牌/项目、内容类型、平台不再使用“先点下拉、再输入搜索”的两层结构,筛选栏直接展示三个可输入的搜索框。
2. 输入内容时立即进行模糊筛选;聚焦或输入后,下方仅展示匹配候选项,不再重复显示第二个搜索框。
3. 宽屏下四个搜索框保持同一行;当前窄视口下任务名称独占一行,三个分类搜索保持在下一行,不互相遮挡。
4. 保留键盘与无障碍语义,三个分类搜索均使用 `combobox`,候选项使用 `listbox` / `option`
## 功能验证
- 默认展示 6 个任务。
- 品牌/项目直接输入“美团”后,候选项仅显示“美团”和“美团医美”,任务结果同步缩小为 2 个。
- 清空输入后恢复 6 个任务。
- 静态验收测试 14 项全部通过,正式构建通过;本地 Docker 应用已重新构建并加载新页面。
final result: passed
---
# KOC LOOP 任务筛选下拉遮挡设计 QA
## 验证对象
- 用户问题截图:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-bd2d14b7-472f-43a5-b997-1b6ff9528ba1.png`
- 浏览器实现截图:`/Users/wufp/Documents/koc-loop/design-qa-inline-filter.png`
- 修复前后并排对照:`/Users/wufp/Documents/koc-loop/design-qa-inline-filter-comparison.png`
- CSS 视口1280 × 720设备像素比 2
- 本地页面:`http://localhost:8080/?nav=distributions`
## 问题与调整
1. 之前仍使用浏览器原生 `select`,系统级下拉层会悬浮在页面上,因此即使搜索框本身布局正常,展开菜单仍会遮住搜索区或任务卡片。
2. 品牌/项目、内容类型、平台三个筛选器改为页面内选择面板,面板使用正常文档流布局,展开时把任务卡片向下推。
3. 同一时间只展开一个筛选器;选择选项后自动收起,并保留键盘焦点、`aria-expanded``listbox``option` 语义。
## 布局与功能验证
- 内容类型面板展开后:面板 `position: static`,搜索框底部为 379px面板顶部为 388px两者无重叠。
- 第一张任务卡片顶部为 480px面板底部为 452px任务卡片位于面板下方未被覆盖。
- 选择“视频”后面板自动收起,任务数由 6 个缩小为 1 个;清空筛选后恢复 6 个任务。
- 浏览器实测搜索框、三个筛选按钮和任务卡片均可正常操作,交互过程中未出现页面报错。
- TypeScript 构建、静态验收及共 65 项测试全部通过;本地 Docker 服务已重新构建并通过健康检查。
final result: passed
---
# KOC LOOP 任务分发筛选栏设计 QA
## 验证对象
- 用户问题截图:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-4c32c7e3-58e0-4262-b625-c02b20ec4490.png`
- 浏览器实现截图:`/Users/wufp/Documents/koc-loop/design-qa-implementation.png`
- 修复前后并排对照:`/Users/wufp/Documents/koc-loop/design-qa-comparison.png`
- CSS 视口1280 × 720
- 本地页面:`http://localhost:8080/?nav=distributions`
## 问题与调整
1. 全局 `label` 布局把搜索图标和输入框纵向堆叠,导致搜索框被拆成上下两层。
2. 搜索框现在显式使用横向布局,并清除继承的外边距;图标使用固定宽度居中对齐。
3. 品牌/项目下拉框加宽,选中值和下拉菜单锚点保持稳定,不再挤压搜索区域。
## 功能验证
- 输入“视频”后,结果从 6 个任务缩小为 1 个任务,筛选栏没有发生错位。
- 清空搜索后恢复展示 6 个任务。
- 浏览器控制台无错误。
- TypeScript、静态验收测试和正式构建均通过。
- 本地 Docker 服务已重建并通过健康检查。
final result: passed
---
# KOC LOOP 可搜索任务筛选浮层设计 QA
## 验证对象
- 参考截图:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-fc7ce949-d8ea-4a3b-afa6-04a778fdb8dc.png`
- 浏览器实现截图:`/Users/wufp/Documents/koc-loop/design-qa-current-filter.png`
- 参考与实现并排对照:`/Users/wufp/Documents/koc-loop/design-qa-filter-comparison.png`
- 本地页面:`http://localhost:8080/?nav=distributions`
## 布局与交互验证
- 品牌/项目、内容类型、平台均改为紧凑的页面内浮层,不再使用系统原生下拉,也不会把任务卡片整体向下推。
- 浮层锚定在当前筛选按钮下方,宽度与筛选控件协调,未遮挡任务名称搜索框及其他筛选按钮。
- 浮层顶部支持输入模糊查询;输入“医”后只显示“美团医美”,可继续点击完成筛选。
- 同一时间只展开一个筛选器,支持点击页面其他位置或按 Esc 收起。
- 浏览器实测筛选栏、任务卡片和按钮均保持稳定,没有布局跳动。
## 数据修复验证
- 抖音作品重新采集后获得点赞 5,684、收藏 565、转发 6,878、评论 332。
- 抖音主页链接改用短链跳转携带的真实 `sec_uid`,不再用数字内部用户 ID 拼接主页。
- MCP 的公开主页解析对当前账号仍返回资源不存在,因此公开抖音号、粉丝数和 IP 暂时保持待识别,不再写入错误数据。
- 相关自动化测试共 67 项全部通过,本地 Docker 服务已重建并通过健康检查。
final result: passed
# KOC LOOP 任务分发横向搜索框设计 QA
## 验证对象
- 用户问题截图:`codex-clipboard-252bf483-c3d1-4d70-abfb-d54587a300a2.png`
- 浏览器实现截图:`/private/tmp/koc-loop-distribution-filters-fixed.png`
- 本地页面:`http://localhost:8080/?nav=distributions`
## 问题与调整
1. 品牌/项目、内容类型、平台三个筛选框使用通用表单标签,继承了纵向排列样式,导致图标和提示文字上下分离。
2. 筛选框改为独立容器,并显式使用横向排列和垂直居中。
3. 保留原有模糊搜索、筛选逻辑及整体视觉规范。
## 布局与功能验证
- 三个筛选框内图标、输入文字与容器的垂直中心误差均为 0px。
- 四个搜索框保持同排展示,无相互遮挡、无异常换行、无额外浮层。
- 项目构建通过;页面渲染测试 14/14 通过;本地 Docker 运行版本已更新。
最终结果:通过。
---
# KOC LOOP KOC资源卡片密度优化设计 QA
## 验证对象
- 参考卡片:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-615400a6-0bd1-4110-b280-f7fdc29bf705.png`
- 原页面参考:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-5bf2bfb5-a50e-4c08-a407-192fdcf20b58.png`
- 第一轮实现截图:`/Users/wufp/Documents/koc-loop/design-qa-resource-cards-v2.png`
- 最终浏览器截图:`/Users/wufp/Documents/koc-loop/design-qa-resource-cards-final.png`
- 聚焦卡片并排对照:`/Users/wufp/Documents/koc-loop/design-qa-resource-card-comparison.png`
- 本地页面:`http://localhost:8080/`KOC资源状态
## 环境与归一化
- CSS 视口1280 × 720设备像素比 2浏览器截图按 1280 × 720 CSS 像素输出。
- 参考卡片像素478 × 700最终完整页面截图1280 × 720。
- 聚焦对照将实现中的 304px 宽卡片等比放大到 478px并与参考卡片并排查看没有把两张独立截图当作同一对比证据。
- 桌面状态为三列卡片;同时验证 960px 两列、640px 一列。
## 完整画面对比
- 信息架构采用参考图的“头像 → 身份信息 → 简介 → 标签”顺序,同时保留 KOC LOOP 原有的粉丝、合作发布、合作来源和主页入口。
- 卡片高度由旧版的大块分区缩短到首屏实测约 274—278px三列宽度均为 304px页面没有横向溢出。
- 小红书使用粉红顶部识别线和柔和粉色标签,抖音使用深色顶部识别线,继续沿用现有平台标识。
## 聚焦区域检查
- 字体与层级:昵称 14px 并提高字重;账号号、属地、标签和数据从第一轮偏小的 8px 提升至 9—11px信息仍紧凑但可读性更好。
- 间距与布局:圆形头像、昵称与性别保持同一视觉组;账号号、平台和属地收进头像右侧;粉丝、合作发布、最近合作合并为一条浅底数据栏。
- 颜色与视觉标记:标签颜色与平台呼应,状态对比足够;卡片 hover 只使用轻微位移和阴影,不改变布局。
- 图片与资产:当前账号数据没有头像 URL因此保留现有首字母头像作为明确的数据缺失状态没有伪造真人头像平台标识继续使用项目已有资产。
- 文案与内容:真实简介最多展示三行;“未填写简介”“还没有简介”等占位内容统一折叠为“暂无简介”;无标签显示“待打标”;合作来源和主页入口合并到底部同一行。
## 交互与响应式验证
- 输入标签“美食探店”后,结果正确缩小为 3 个账号;清空后恢复完整列表。
- 主页入口保持可见并保留现有跳转目标;首屏六张卡片均检测到有效入口文案。
- 960px 视口为两列640px 视口为一列,两个断点均无横向溢出。
- 浏览器控制台无 error本地应用、MySQL、Nginx 均正常运行。
- 正式构建及完整自动化测试通过,共 82 项,无失败。
## 迭代记录
1. 第一轮已完成资料卡层级和高度压缩,但聚焦截图显示辅助文字偏小,无简介账号的底部留白仍较明显,记为 P2。
2. 第二轮提高辅助文字字号,移除固定最小高度,并把合作来源与主页入口合并为同一底栏。
3. 复查后卡片高度稳定在约 274—278px关键内容可读桌面与移动断点无溢出先前 P2 已解决。
## 结论
- 没有遗留 P0、P1 或 P2 问题。
- P3 后续项:如果 MCP 未来提供可靠头像 URL可将首字母头像替换成真实头像进一步接近参考图。
final result: passed
---
# KOC LOOP KOC资源卡片底栏对齐设计 QA
## 验证对象
- 用户标注截图:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-fa2c031d-52ba-4ef5-bd70-2bf74adfa52d.png`
- 最终浏览器截图:`/Users/wufp/Documents/koc-loop/design-qa-resource-card-alignment-final.png`
- 归一化并排对照:`/Users/wufp/Documents/koc-loop/design-qa-resource-card-alignment-comparison.png`
- 本地页面:`http://localhost:8080/?nav=resources`
## 问题与调整
1. 不同账号的简介和标签数量不一致时,合作来源与主页入口会跟随前方内容上下浮动,导致同一排卡片的底部结构不齐。
2. 卡片保持纵向弹性布局,底栏改为自动占用剩余空间并贴住卡片底部;不增加固定高度,不改变数据或交互逻辑。
3. 三列桌面视口下实测前三张卡片高度均为 267.9px,底栏顶部均为 333.4px,底栏底部均为 365.9px,误差为 0px。
## 验证结果
- CSS 视口1280 × 720三列卡片状态。
- 不同简介、标签数量下,合作来源、来源标签和主页入口保持同一条水平基线。
- 浏览器控制台无 error页面 hover 位移不会改变静止状态的布局基线。
- 页面渲染测试与 TypeScript 检查通过;本地 Docker 已重建。
final result: passed
---
# KOC LOOP KOC资源卡片数据栏对齐设计 QA
## 验证对象
- 用户标注截图:`/var/folders/0g/8yrmts9s7v5g_xc60sxx0__80000gn/T/codex-clipboard-78335120-710a-4a7b-96f9-b1046191c788.png`
- 双列实现截图:`/Users/wufp/Documents/koc-loop/design-qa-resource-card-metrics-alignment-two-column.png`
- 三列实现截图:`/Users/wufp/Documents/koc-loop/design-qa-resource-card-metrics-alignment-final.png`
- 归一化并排对照:`/Users/wufp/Documents/koc-loop/design-qa-resource-card-metrics-alignment-comparison.png`
- 本地页面:`http://localhost:8080/?nav=resources`
## 环境与归一化
- 用户截图为 1674 × 1180px双列实现截图为 837 × 591px。
- 并排对照将用户截图归一化为 837 × 591px与实现截图使用同一双列宽度和页面状态进行聚焦比较。
- 同时在 1280 × 720 三列桌面视口复测,确认调整不依赖双列断点。
## 问题与调整
1. 先前仅把合作来源底栏贴底,数据栏仍跟随简介和标签数量上下浮动,形成 P2 对齐问题。
2. 将弹性留白移动到标签区之后,数据栏与合作来源底栏作为一个完整结构贴住卡片底部;数据内容、标签和交互均未改动。
## 验证结果
- 双列第一排两张卡片的数据栏顶部均为 233.4px、底部均为 267.9px;底栏顶部均为 277.9px、底部均为 310.4px。
- 双列第二排两张卡片的数据栏顶部均为 525.3px、底部均为 559.8px;底栏顶部均为 569.8px、底部均为 602.3px。
- 三列前三张卡片的数据栏与底栏上下边界误差均为 0px。
- 字体、颜色、图片资产和文案未发生变化;浏览器控制台无 error。
- 页面渲染测试 14/14、TypeScript 检查和 Docker 构建均通过。
final result: passed