opencode 8f44e157f1 feat: add market page div-grid support with after-search-rate columns
- Support both HTML table and div-based grid layouts on creator/market
- Harden DOM insertion by using actual parent nodes (prevents NotFoundError
  when page nesting differs from test fixtures)
- Skip malformed/empty table rows instead of throwing on missing action cell
- Add rowKey to BatchLoaderRow to align LoadRowsOptions typing
- Add tests for div-grid sync and controller lifecycle at document_start
2026-04-15 18:04:10 +08:00

56 lines
2.1 KiB
Markdown
Raw 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.

# Star Chart Search Enhancer
一个最小化的 Chrome MV3 实验插件,用来增强巨量星图:
- 达人详情页:保留原有的详情页控制台实验链路
- 找达人列表页:在 `creator/market` 当前可见结果页中插入两列看后搜率
## 开发命令
```bash
npm install
npm test
npm run build
```
## 加载插件
1. 先执行 `npm run build`
2. 打开 `chrome://extensions`
3. 打开“开发者模式”
4. 选择“加载已解压的扩展程序”
5. 选择本项目的 `dist/` 目录
## 手工验证
### 详情页控制台实验
1. 打开巨量星图的达人详情页
2. 刷新页面一次,确保内容脚本和页面 hook 都能尽早注入
3. 打开该页面的 DevTools Console
4. 观察是否出现带有 `[star-chart-search-enhancer]` 前缀的日志
5. 找到 `result` 日志,核对其中两个看后搜率是否与达人详情页右侧展示一致
### 找达人列表页列增强
1. 打开 `https://xingtu.cn/ad/creator/market`
2. 等待当前列表页渲染完成
3. 看右侧 sticky 列区,确认 `21-60s报价``操作` 之间新增了两列:
`单视频看后搜率`
`个人视频看后搜率`
4. 首次进入或翻页、筛选、搜索、排序变化后,新增列会先显示 `加载中...`
5. 请求成功后,两列会显示对应达人的真实值
6. 如果某行失败,两列都会显示 `加载失败`
7. 点击任一失败单元格,会按整行重试该达人并重新进入 `加载中...`
8. 如果只看到左侧达人信息区,先把结果区横向滚到最右侧,再检查 `操作` 列前是否已经插入两列
## 当前范围
- 阶段 1 同时支持:
- 巨量星图达人详情页控制台实验
- 巨量星图找达人 `creator/market` 当前可见结果页的两列增强
- 列表页只处理当前可见结果页,不处理全部结果导出
- 列表页使用内存缓存,同一标签页会话内会复用已成功加载的达人结果
- 列表页真实结构是右侧 sticky 区域中的“按列渲染” grid不是传统 `tr/td` 表格;插件按列索引重建每一行并插入两列
- 成功时输出结构化结果或渲染真实值,失败时会给出明确失败状态