Skip to content

修复 V2EX 打赏区导致的 PC 和移动端显示问题 - #5

Open
bowencool wants to merge 6 commits into
zyronon:masterfrom
bowencool:codex/v2ex-tip-form-fixes
Open

修复 V2EX 打赏区导致的 PC 和移动端显示问题#5
bowencool wants to merge 6 commits into
zyronon:masterfrom
bowencool:codex/v2ex-tip-form-fixes

Conversation

@bowencool

@bowencool bowencool commented Jun 25, 2026

Copy link
Copy Markdown

概要

  • 移动端帖子回复解析统一走 functions.createList(post, replyList),确保 topReplyList、嵌套回复和冗余嵌套回复都按 core 的公共路径初始化。
  • PC 端在脚本渲染的帖子详情里恢复 V2EX 原生 #topic-tip-box 打赏区,避免原始 .box 被隐藏后打赏功能不可见。
  • 调整 PC 端恢复后的打赏区宽度和上下间距,使其和帖子正文、回复列表卡片对齐。
  • 构建阶段给 PC / mobile userscript 的 CSS 注入增加同一套布局互斥判断,避免两个脚本同时启用时,未运行的脚本仍先注入样式造成冲突。
  • 最终 diff 不包含生成的 dist 产物。

背景

V2EX 在主题正文和回复区之间新增了打赏区,会改变回复区附近的页面结构。提交 PR 前我查到的相关上下文:

这次 PR 处理的是本地复现时看到的三个后续问题:

  1. 移动端回复解析分支会在没有 topReplyList 的情况下调用 createNestedRedundantList(replyList),从而触发 topReplyList.findIndex 报错。
  2. PC 端脚本会隐藏原始 V2EX .box,其中也包括 #topic-tip-box,但脚本渲染的详情视图没有重新挂载打赏 UI,导致打赏功能不可见。
  3. PC 和 mobile 两个 userscript 的 @match 范围重叠。源码入口已经按 #Rightbar 做了运行时互斥,但生产构建会把 CSS 提前放到 userscript 顶层注入,导致两个脚本同时启用时仍然互相污染样式。

验证

  • 使用包含打赏 UI 的 V2EX 主题本地复现并验证。
image
  • Chrome 中确认移动端不再出现 findIndex/createNestedRedundantList/topReplyList 相关错误,并能正常发出 postReplies 回调。
image
  • Chrome 中确认 PC 端打赏区出现在 #app 内,宽度和详情卡片一致,上下间距均为 20px。
  • Chrome 中确认 PC 端点击打赏金额后,选中的 radio 和隐藏的 #tip-amount 值会同步更新。
  • 构建后确认 PC 产物的顶层 CSS 注入先检查 #Rightbar 存在,mobile 产物的顶层 CSS 注入先检查 #Rightbar 不存在。
  • 运行 git diff --check 检查改动源码文件。
  • 运行 corepack pnpm --dir packages/pc run build-pc 通过。
  • 运行 corepack pnpm --dir packages/mobile exec vite build 通过。

说明:corepack pnpm --dir packages/mobile run build-mobile 在本地会先卡在 vue-tsc 兼容问题,还没进入业务代码:Search string not found: "/supportedTSExtensions = .*(?=;)"

@bowencool bowencool changed the title Fix V2EX tip form handling in PC and mobile views 修复 V2EX 打赏区导致的 PC 和移动端显示问题 Jun 25, 2026
@bowencool
bowencool marked this pull request as ready for review June 25, 2026 07:14
@bowencool
bowencool force-pushed the codex/v2ex-tip-form-fixes branch from d04e065 to 830c839 Compare June 25, 2026 07:30
@bowencool
bowencool force-pushed the codex/v2ex-tip-form-fixes branch 2 times, most recently from 418584f to 2edd5ff Compare June 25, 2026 07:45
@bowencool bowencool closed this Jul 4, 2026
@bowencool
bowencool deleted the codex/v2ex-tip-form-fixes branch July 4, 2026 01:20
@bowencool bowencool reopened this Jul 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant