Commit Graph
143 Commits
Author SHA1 Message Date
rogee a899ea0caa feat(web): 编辑社媒账号页三行表单布局 + 指纹浏览器环境单独保存
douyin-release-gate / verify (push) Failing after 3m57s
- 资料表单三行分组:登录用户名/更新密码/业务状态;实名状态/实名姓名/实名证件号;账号备注独占一行
- 新增 FingerprintFields 共享组件(字段+载荷构建+回显转换),创建页同步复用
- 编辑页指纹独立卡片单独保存(PUT fingerprint),运行中环境保存后自动重启生效
- 修复暗病:保存资料不再发送 Number(undefined)=NaN 的 cooldown_seconds,改透传当前值
2026-09-30 17:13:08 +08:00
rogee 50aada884f fix(web): 监控账号画像对齐抖音主页形态——关注/粉丝/获赞独立数字行,作者介绍去 label 独立行,昵称后挂抖音主页链接,移除平台账号项 2026-09-30 17:03:05 +08:00
rogee 2caaf2d606 feat(web): 监控账号详情展示获赞与作者介绍——介绍单行省略,「更多」hover 弹出全文 2026-09-30 16:38:01 +08:00
rogee a9358f5c96 refactor(web): 竞品分析复用 WorksGallery,与监控账号作品列表同一套展现
- WorksGallery 支持 sourceId 可选与 extraFilters 透传
- 竞品页删除自建作品卡片/详情抽屉/分页,仅保留筛选卡
- 修复日期筛选序列化(dayjs 模板串产生非法 RFC3339)
2026-09-30 15:50:18 +08:00
rogee 5401093818 fix(web): 竞品作品卡片与详情不再展示发布状态标签,对齐监控账号作品列表 2026-09-30 15:40:20 +08:00
rogee 21a576ab20 fix(web): 竞品作品无标题时不再展示占位文案 2026-09-30 15:32:35 +08:00
rogee f1cabd2c30 feat(accounts): 自有账号列表展示运行环境——monitor-views 内联网关/环境/出口视图,状态列升级可调度判定 2026-09-30 15:15:34 +08:00
rogee 78b7f51596 fix(web): 编辑社媒账号页对齐全站布局——页头槽接管标识与操作,主体两张 Card 承载 2026-09-30 14:49:02 +08:00
rogee e12e03b3b4 feat(gateway): 创建/编辑网关后立即异步探活健康状态
- POST/PUT /api/gateways 成功后后台立即探活一次 /healthz 并覆盖落库,不阻塞请求
- probeAndRecordGateway 抽出单网关探活+落库复用;探活超时改为 var 供测试注入
- 网关页保存成功后延迟 2.5s 刷新一次,尽快展示最新健康状态
- 测试:立即探活、慢网关不阻塞、不可达落 unhealthy
2026-09-30 14:33:31 +08:00
rogee eab193007c refactor(accounts): 移除「授权状态」概念——账号收敛为启用/暂停单一状态机
douyin-release-gate / verify (push) Failing after 3m43s
产品已收敛为自有账号管理,撤销授权在 UI 无入口、状态恒为 authorized,属废弃语义:
- migration 1045:social_account DROP authorization_status/revoked_at/authorization_kind
- 删除 revoke API 路由与 RevokeAccount/disableAccount 状态机分支(PauseAccount 独立)
- accountRunnable/就绪判定/采集过滤/登录校验删除 authorization_status 检查
- EnvironmentContext/AccountProfile 契约删字段;前端删「已授权/已撤销」展示与 readiness 分支
- 测试同步:revoke 流程/409 用例删除,seed 语句去列;dev 库测试遗留 revoked 账号待 UI 删除
2026-09-30 14:18:34 +08:00
rogee 60bc2784a4 fix(web): 409 冲突提示透出后端 reason_code 分类
douyin-release-gate / verify (push) Failing after 3m54s
start/resume 被拒时后端返回 reason_code(binding_missing 等),前端 conflictMessage
此前丢弃该字段只显示笼统文案,无法定位不可运行原因。
2026-09-30 13:46:52 +08:00
rogee d535f178d6 fix(web): 强制同步运行中禁用按钮——列表/详情统一 sync_status=running 判定
- 列表行与监控详情页:sync_status=running 时按钮显示「同步中…」并禁用,
  防止与调度器并发触发导致 409;自有账号详情请求期间 loading 禁用
- conflictMessage:409/503 无 hint 时也透出后端分类 error 文案,
  兜住「请求失败」空白提示;回归见 TestCompetitorSyncClaimFailureClassification
2026-09-30 12:55:41 +08:00
rogee c6a4d20c03 feat(accounts): 我的账号列表展示画像指标并新增「启动」操作
douyin-release-gate / verify (push) Failing after 4m12s
- 列表新增粉丝/关注/获赞/互关/评论数值列(formatCount 风格对齐监控列表),作品数据列作品数取最新快照回填
- 操作列新增「启动」:POST /phase-a/accounts/:id/start 启动环境,成功后弹窗展示网关浏览器登录画面
  (login-qr 截图,默认打开个人中心页),支持刷新画面与核验浏览器身份;409 就绪原因透传提示
- 详情页趋势图与账号数据卡补互关序列
- 新增源码断言测试 account-management-list.test.cjs(4 用例全过,antd lint 0 警告)
2026-09-30 12:50:19 +08:00
rogee 998871e3c4 fix(creator): 强制同步抢锁失败分类提示——租约被占/竞品停用分别返回可读 409
douyin-release-gate / verify (push) Failing after 4m57s
- ClaimCompetitorSync 失败后经 SyncClaimFailure 复查竞品状态,
  区分 ErrSyncInProgress(该竞品正在同步中)与 ErrSyncDisabled(已停用)
- creatorError 新增两分类映射 409;通用冲突文案保持不变
- 前端竞品强制同步去掉固定'强制同步失败'后缀,直接展示分类提示
- 回归:TestCompetitorSyncClaimFailureClassification(PG 集成)
2026-09-29 15:11:23 +08:00
rogee a9ac84f459 feat(accounts): 创建账号表单支持指纹浏览器环境配置
douyin-release-gate / verify (push) Failing after 4m3s
- 前端创建页折叠区块:平台/品牌/版本/语言/时区/硬件并发/关闭伪装维度,留空使用默认
- 后端 accountRequest 增加 fingerprint,校验前置 400(避免账号已建、绑定失败的中间态)
- seed 服务端从账号派生、proxy 由网络出口管理,两者不接受表单值
- 补建端点支持携带指纹重试;start 自愈补建保持零值指纹
- PG 集成测试:指纹落库/非法值拒绝不建号/补建指纹重试
2026-09-29 14:49:59 +08:00
rogee a94bdf7921 feat(gateway): 网关健康状态——后台定时探活只保留最近一次结果并在列表展示
- 迁移 1043:gateway 表加 health_status/last_check_reason/last_checked_at
- Store.RecordGatewayCheck 覆盖写最近一次探活结果,Create/Update/List/Get 全量返回健康字段
- api.RecordGatewayHealthChecks 并发探 /healthz:连接失败或 5xx 判离线,其余判在线(401 等异常写入原因供排查)
- workers 每 30 秒一轮,app 启动接线
- 网关管理列表新增健康状态列:在线/离线/未检查 Tag,原因与检查时间收进 Tooltip
2026-09-29 14:47:49 +08:00
rogee 25098b9f81 fix(web): 出口重绑改走 POST /browsers/:alias/rebind(原 /network-exits/:id/rebind 无对应后端路由) 2026-09-28 22:30:36 +08:00
rogee 7dea052e55 feat(web): 账号即环境 UI 收敛——删 /browsers 页面,环境并入账号详情
- 删除 /browsers 列表/创建/详情页与菜单项,运行环境不再是独立资源
- 账号详情:GET /api/phase-a/accounts/:id 内联 environment 字段
  (网关/出口/绑定版本/运行实例/不可调度原因),固定资源卡直接展示
- 状态卡两态开关:暂停→「启动账号」(start=resume+启动环境),
  运行中→「暂停账号」(联动停环境);出口重绑卡片内完成
  (POST /network-exits/:id/rebind 返回内联 environment,出口切换不再跳环境页)
- 删除 creator/settings 残留的转写服务字段(后端 settings 无此列)
- helpers.ts accountReadiness 改用 runtime_id/runtime_cleanup_pending
- network-exits 列表绑定账号列改由账号列表内联数据驱动
- 全量验证:go test ./...(PG)全绿、tsc --noEmit 通过、max build 通过、
  node --test 12/12 通过
2026-09-28 20:30:23 +08:00
rogee c567080248 refactor(api): 删除运营链路与 runtime_use_lease
删除任务链(drafts/confirmations/tasks/attempts)、creator 运营链(策略/事件/操作/会话/消息/监听器/素材/关系)、runtime_use_lease 机制及其 API/UI;taskstate 包与对应测试一并移除。
2026-09-28 17:14:00 +08:00
rogee c2bccba352 refactor(web): 删除前端空转链路(任务中心/草稿/attempt/运营工作台/素材面板)
- 删页面目录 tasks/ drafts/ attempts/ creator/workbench/
- 竞品页移除素材处理 Drawer 与素材操作
- metadata 菜单与页头规则同步收敛
- api.ts/listQuery.ts 移除对应 resource 与函数
- 固定表头测试文件清单同步
2026-09-28 15:54:32 +08:00
rogee 0a988fb1b3 fix(web): conditional table scroll and fixed first column 2026-09-28 15:28:31 +08:00
rogee 7ed542df4f fix(web): unify list tables with fixed header, fixed actions and pagination 2026-09-28 15:20:55 +08:00
rogee 630a4feab1 fix(web): use text buttons for table row actions 2026-09-28 14:33:54 +08:00
rogee 5b2756fea8 fix(web): spacing for monitoring account tags and square larger avatar 2026-09-28 14:24:49 +08:00
rogee 6958330a5f fix(web): hide title for untitled works
douyin-release-gate / verify (push) Failing after 3m9s
2026-09-28 12:56:43 +08:00
rogee 5dcabcb3cd fix(web): split monitoring account metrics into columns 2026-09-28 12:52:18 +08:00
rogee ae7dec7e88 fix(web): restore monitoring account table without platform account key 2026-09-28 12:44:38 +08:00
rogee b625562c9a fix(web): 作品卡指标 GRID 上移至封面正下方内容上方,ICON 移到数字下方
douyin-release-gate / verify (push) Failing after 3m13s
- WorkStatsGrid 移到卡片 body 顶部(紧贴封面边框行),标题/描述/发布时间在其下
- 每列改为数字在上(14px 加粗)、图标+标签在下(11px 辅助色),单列纵向展示
- 单测断言同步更新,node --test 4 例全绿,tsc/antd lint 通过
2026-09-28 11:57:46 +08:00
rogee c7fc67626e fix(web): 趋势图改用 colorField,折线分色并显示指标图例 2026-09-28 11:47:16 +08:00
rogee 7f69f487b5 fix(web): 账号画像标题去上边距,移除标题下多余的抖音号信息行
douyin-release-gate / verify (push) Failing after 3m13s
2026-09-28 11:24:04 +08:00
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 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