Commit Graph
191 Commits
Author SHA1 Message Date
rogee a576018560 refactor(web): 监控账号详情页移除页头按钮左侧账号标识展示区
douyin-release-gate / verify (push) Failing after 30s
2026-09-28 11:21:46 +08:00
rogee 8748f899d4 feat(web): 监控作品卡片展示描述,观看/点赞/评论/分享全宽 GRID 贴封面下方
douyin-release-gate / verify (push) Failing after 3m20s
- WorksGallery 卡片封面改走本地缓存 /works/:id/cover(WorkCover 与竞品分析页同链路,
  替换会过期的 douyinpic 签名 URL)
- 卡片新增作品描述(body,两行省略)
- 指标从标题下横排小字改为封面下方全宽四列 GRID(观看/点赞/评论/分享,上值下图标行)
- WorksGallery 为监控账号详情与自有账号详情共用,两处同步生效
- 测试:works-gallery-card 3 例 + 既有 1 例全绿,tsc/antd lint 通过
2026-09-28 11:19:52 +08:00
rogee 733b2d4b95 Merge branch 'fix/competitor-page-review-20260928' 2026-09-28 11:15:01 +08:00
rogee bf4ded45b1 fix(web): 作品统计 Drawer 移除顶部封面图 2026-09-28 11:14:22 +08:00
rogee 2d68570465 fix(web): 作品统计评论列表改两列——作者时间合并列、内容完整换行显示 2026-09-28 11:09:07 +08:00
rogee 8fe66f24a0 fix(web): remove duplicate monitoring row spacing and border 2026-09-28 10:48:56 +08:00
rogee 143f3b263e fix(creator): 竞品分析页走查修复——封面本地缓存、作者名、指标全宽行、数量入卡片标题
- 后端:works 采集解析 author.nickname 与 video.cover.url_list(migration 042 新增
  creator_work_cover 本地缓存表);竞品同步成功后回填缺失封面(单次上限 40,余量自愈)
- 网关:新增 /douyin/image 浏览器内 fetch 图片端点(douyinpic CDN 白名单、4MB 限额)
- API:GET /api/creator/works/:id/cover 输出本地缓存封面(private 缓存头)
- 前端:封面改读本地缓存(认证 fetch + blob);点赞/评论/分享全宽行贴封面下方;
  作者名独立展示;'下次采集'移除;作品总数移入卡片标题右侧 extra
- '已核验' 状态标签补充 Tooltip 释义(发布时间已从平台数据成功解析核验)

测试:douyin 解析 3 例、cover 存储 PG 集成 1 例、网关 image 3 例全绿
2026-09-28 10:39:56 +08:00
rogee 5e391b70e9 fix(environment): 迁移不可变规则落地——034 违规补齐改为新迁移 037,修复 browser_env.image_version 残留导致的创建环境 500
douyin-release-gate / verify (push) Failing after 3m10s
- 迁移 037(幂等):补删 browser_env.image_version、audit_event 镜像列、browser_image 表
- 恢复 034 为引入时原版(撤销 6cd4cdc 的原地修改)
- 新增 migrations immutable 单测:迁移文件引入后不得改内容,要改就新增版本号
- web: 指纹种子字段中文化 + 指纹参数 400 错误映射为具体中文提示
2026-09-28 10:32:37 +08:00
rogee 85ffe6906f fix(browsers): 表单校验报错文案可读化——seed/端口用完整中文句子替代裸数字区间 2026-09-28 09:48:08 +08:00
rogee 6953c32434 fix(gateway): 端口冲突报错友好化——Python 层 EADDRINUSE 一行化,dev 脚本启动前预检并给出占用进程与处理建议 2026-09-28 09:33:05 +08:00
rogee 03f6145a61 fix(creator): 修复导入页列表 SQL —— join 缺别名导致 /accounts/import 一进来就 500
- ListCompetitorShareJobsWithAuthor 的 LEFT JOIN creator_competitor 缺 AS competitor
  别名,ON 条件引用 competitor.id 直接报 missing FROM-clause entry(42P01)
- competitorShareJobFilter 过滤条件误用原表名 creator_competitor_share_job,
  与查询别名 share_job 不符,带 platform/status 参数时会再报缺列
- 新增集成测试 TestListCompetitorShareJobsWithAuthorSQL 覆盖 join 作者回填
  与 platform/status 过滤(此前该 SQL 无任何测试,bug 逃逸)
2026-09-28 09:19:02 +08:00
rogee 2baa2e8406 Merge branch 'fix/ui-review-20260927'——UI 走查问题全量修复:详情页 Flex vertical、工作台假加载、列表按钮规范、App.useApp 统一、任务筛选下拉、竞品素材 Drawer
douyin-release-gate / verify (push) Failing after 3m9s
2026-09-28 08:57:20 +08:00
rogee 5acc89edf4 fix(ui): 我的账号操作列去掉与账号名重复的「查看账号」入口(走查 P2-#10) 2026-09-28 07:37:13 +08:00
rogee 1a46ec0231 fix(ui): 竞品分析素材流程改 Drawer、日期筛选取 DatePicker、选择素材按钮降级并区分已选中态(走查 P2-#13) 2026-09-28 07:35:39 +08:00
rogee a30e99a160 fix(ui): 创建环境表单 Space wrap 改 Row/Col 栅格,窄屏换行稳定(走查 P2-#11) 2026-09-28 07:32:20 +08:00
rogee 637900c5fd fix(ui): 账号详情页 pending 态页头保留返回入口;同步/编辑加空态防护(走查 P2-#9) 2026-09-28 07:30:32 +08:00
rogee 08093a2e38 fix(ui): Select showSearch 新 API(optionFilterProp 迁移) 2026-09-28 07:26:29 +08:00
rogee c5369bdc3c fix(ui): 任务中心账号筛选改下拉、任务/账号 ID 可复制(走查 P2-#8) 2026-09-28 07:25:52 +08:00
rogee b9490a0c1c fix(ui): 监控账号列表行 hover 反馈(主题 token)、强制同步按钮 loading(走查 P2-#7) 2026-09-28 07:25:02 +08:00
rogee bb388112a7 fix(ui): metadata 清理旧路径 /competitors 与 gateways 详情死规则,补竞品账号详情规则(走查 P1-#5) 2026-09-28 07:22:51 +08:00
rogee 96a4692c96 refactor(ui): 全站 message.useMessage 统一 App.useApp,删除 contextHolder(走查 P1-#4) 2026-09-28 07:22:18 +08:00
rogee e52d8c797b fix(ui): 我的账号列表按钮进 Card 右上角、补刷新、删平台列(走查 P1-#3/#6) 2026-09-28 07:20:17 +08:00
rogee 01624ace01 fix(ui): 工作台移除永久 loading 骨架,改 Empty 说明(走查 P0-#2) 2026-09-28 07:19:37 +08:00
rogee 4d1bf90943 fix(ui): 详情页 Flex 补 vertical,恢复纵向卡片布局(走查 P0-#1) 2026-09-28 07:19:02 +08:00
rogee f68dd0a729 Merge branch 'feature/owned-account-monitoring'——自有账号数据监控:播放量入库、粉丝时序快照、监控 API 与前端接入
douyin-release-gate / verify (push) Failing after 3m26s
2026-09-27 22:20:45 +08:00
rogee 8c1fce3819 test(creator): 账号监控视图与采集状态集成断言(聚合/下次窗口/failed 错误可见) 2026-09-27 22:20:45 +08:00
rogee fb1db68f13 feat(web): 自有账号监控接入——详情页账号数据/作品数据/采集状态/强制同步,列表作品统计列
- 账号详情页:账号状态卡加作品采集行(状态 Tag + 上次完成 + 下次窗口 + 最后错误);新增账号数据 Card(粉丝/关注/获赞/作品总数当前值 + 趋势折线);接入共享 WorksGallery(source_type='owned');页头槽加强制同步按钮
- 我的账号列表:改走 monitor-views 聚合接口,加作品数据列(作品数/最近发布)
2026-09-27 22:11:02 +08:00
rogee 127c3e70ee refactor(web): 作品网格与 Drawer 抽取为共享 WorksGallery,接入播放序列与评论列表
- components/creator/WorksGallery:作品 Card 网格(分页+爆品筛选)+ Drawer(详情/增长曲线含播放/指标表含播放列/评论分页列表)
- 监控账号详情页改用共享组件,sourceType='competitor'
2026-09-27 22:08:25 +08:00
rogee 3f1e2d39f4 feat(creator): 自有账号监控后端——播放量入库、账号粉丝时序快照、监控 API
- migration 040/041:creator_work 与 creator_work_metric 加 play_count;新建 creator_account_metric 时序快照表
- douyin:详情接口解析 play_count;self profile 扩展解析粉丝/关注/获赞/作品数(flexibleInt 兼容字符串)
- creator store:PlayCount 全链路(UpsertWork COALESCE/RecordMetric/ListMetrics);RecordAccountMetric/ListAccountMetrics/ListAccountMonitorViews/GetAccountCollectionStatus
- controlplane:syncCreatorOwned 成功路径末尾记账号画像快照(失败 errors.Join 不吞错);新增 monitor-views/collection-status/metrics/sync 四个路由;creatorError 补 account.ErrNotFound→404
- 测试:integration/douyin/api 断言播放量落库与 COALESCE 语义、快照覆盖语义、路由 happy path 与 409/503/404 语义
2026-09-27 22:05:01 +08:00
rogee 01d1d44a15 feat(creator): 竞品作品指标采集改用匿名浏览器并新增收藏数与爆品增速
douyin-release-gate / verify (push) Failing after 3m23s
- 指标采集不再依赖已登录自有账号:竞品作品到期后经匿名浏览器拉取
  抖音作品详情接口(detail 返回完整点赞/收藏/转发/评论快照)
- 补采收藏数:creator_work 与 creator_work_metric 新增 collect_count
  (迁移 039),works 列表与 detail 解析均映射该字段
- 新增点赞增速:LoadWorksGrowth 按时间窗计算基线增量(full/partial
  覆盖标注),works API 支持 growth_hours/min_likes_growth 筛选排序
- 前端监控详情页:作品卡片展示 24h 点赞增量、支持按增量筛选爆品;
  作品 Drawer 新增增长曲线折线图(@ant-design/charts)与收藏列
2026-09-27 19:44:49 +08:00
rogee d1aae0a60f refactor(web): 强制同步按钮直调竞品 sync API,移除自有账号执行身份依赖
douyin-release-gate / verify (push) Failing after 3m43s
竞品同步已改用匿名浏览器,前端不再自动挑选自有账号作为执行身份
2026-09-27 15:43:08 +08:00
rogee 221ed65e32 feat(creator): 竞品作品同步改用匿名浏览器并限制并发
- 竞品同步不再依赖自有采集账号:每次同步按名额(并发上限 2)创建匿名浏览器,
  导航至抖音首页等待访客 cookie 稳定后经网关受限 fetch 拉取作品
- 调度器对到期竞品并发同步,名额耗尽时排队等待
- 平台风控语义(实测,与公开爬虫项目一致):作品列表匿名仅能取第一页
  (16-20 条),后续页一律空 envelope;空 envelope 视为正常分页终止
- 评论解析适配真实响应:reply_id="0" 为顶层评论、作者取 user 对象、
  纯图片评论(text 空但带 image_list)记为「[图片]」
- fetch 签名与白名单:注入 byted_acrawler.frontierSign 的 a_bogus,
  网关放宽响应上限至 8MB 并允许签名参数
2026-09-27 15:43:03 +08:00
rogee dbb675c658 feat(web): 强制同步按钮(列表+详情);test: 强制同步语义断言(force 立即执行并刷新 next_sync_at)
douyin-release-gate / verify (push) Failing after 3m1s
2026-09-27 13:34:57 +08:00
rogee 20c89ffef1 Merge branch 'feature/monitoring-account-works'——监控账号详情页承载作品列表与统计 Drawer,blocked 同步自动重试
douyin-release-gate / verify (push) Failing after 3m11s
2026-09-27 13:23:00 +08:00
rogee aeae1049ad feat(web): 监控账号详情页承载作品列表,点击作品弹出统计 Drawer 2026-09-27 13:22:54 +08:00
rogee 7cb2a0a2b4 fix(creator): 竞品同步 blocked 状态也排下次重试,避免定时获取永久失效 2026-09-27 13:22:54 +08:00
rogee e8205678ff Merge branch 'feature/douyin-only-monitoring'——平台收敛为抖音、监控账号画像字段与卡片列表
douyin-release-gate / verify (push) Failing after 3m38s
# Conflicts:
#	internal/creator/content.go
2026-09-24 20:11:56 +08:00
rogee 6cd4cdc57f refactor(platform): 平台收敛为抖音——移除小红书全链路,监控账号新增画像字段与卡片列表
- 移除小红书:internal/platform/xiaohongshu、controlplane XHS 分支与路由、
  browser_gateway XHS 平台模块与处理器、前端平台选项;migration 038 清理
  XHS 数据并将 creator_* 平台 CHECK 收紧为 douyin
- creator_competitor 新增 follower_count/following_count/aweme_count(仅
  接口定义返回,暂不采集回填);列表接口返回 work_count 与
  latest_published_at(creator_work_source 聚合 MAX(published_at))
- 导入页账号名称列展示作者头像(share job 列表带出 avatar_url)
- 监控账号页改 antd Listy 卡片列表(头像+粉丝/关注/作品/最近发布/同步状态);
  AccountManagementList 收敛为 owned 专用
- 环境模块清理 browser_version 遗留:migration 034 补齐删列,修复 store.go
  中 hub 别名悬空引用,测试 fixture 对齐新 schema
2026-09-24 19:30:28 +08:00
rogee 08e813c0ca feat(web): 竞品分析页对齐 card-list——作品改 Row/Col+Card 卡片网格、详情 Drawer、移除死平台筛选;修复待核验筛选值 unverified→pending_verification 2026-09-24 18:36:55 +08:00
rogee 689f997c74 feat(web): 全部列表页对齐 ant-design-pro TableList——统计信息居左、主操作按钮迁入卡片右上角
douyin-release-gate / verify (push) Failing after 1m28s
- browsers/gateways/network-exits/import:usePageActions 页头按钮迁入卡片 Flex 行右侧,左侧补统计文案
- tasks:筛选卡内统计信息居左、筛选控件居右
- gateways:顺手修复既有 FormInstance token 可选类型报错(tsc 归零)
2026-09-24 17:46:39 +08:00
rogee bcd7bde2ba docs: AGENTS.md UI 规范改为列表页卡片右上角按钮布局(对齐 ant-design-pro TableList)
douyin-release-gate / verify (push) Failing after 2m46s
2026-09-24 17:42:31 +08:00
rogee 1a0640f54a feat(web): 账号详情页对齐 Pro Advanced Profile——三卡卡片流、实体标识进页头 content 行左侧
douyin-release-gate / verify (push) Failing after 2m47s
2026-09-24 17:39:13 +08:00
rogee c4efe14e94 feat(web): 账号列表试点,操作按钮迁入卡片右上角(对齐 ant-design-pro TableList 布局) 2026-09-24 17:26:38 +08:00
rogee 0d9d2ffe13 fix(web): 账号详情页布局修复——Tab 内容纵向分层、操作按钮上移页头、平台/标签文案统一
douyin-release-gate / verify (push) Failing after 2m49s
2026-09-24 17:10:28 +08:00
rogee 04bec3aa84 feat(web): 页头操作按钮独立成行——标题下 content 槽右侧对齐,关闭面包屑 2026-09-24 17:10:28 +08:00
rogee 27e167b8e5 docs: 宪法新增禁止自动 E2E 测试约束 2026-09-24 17:10:13 +08:00
rogee 8455ccc5aa feat: 账号导入列表账号名称按监控账号 ID 关联跳转竞品作者详情
douyin-release-gate / verify (push) Failing after 2m59s
2026-09-23 17:59:05 +08:00
rogee c8c460da82 feat: 账号导入列表移除块级标题、刷新改图标,新增账号名称列(成功任务回填作者名) 2026-09-23 17:20:20 +08:00
rogee 45c61818f3 chore(web): 前端 dev 固定 8099 端口(STRICT_PORT,被占用即报错不递增)
douyin-release-gate / verify (push) Failing after 3m13s
2026-09-23 16:27:21 +08:00
rogee 837fe41865 fix(web): 官方 antd lint 清零——Alert title、Flex vertical 替代弃用 Space/List、App.useApp 包裹 2026-09-23 16:14:56 +08:00