laoyang
275bd9d80f
评价区改成「按钮展开表单」,评论支持两级回复
页面默认不出现任何输入框,要写什么就点对应那个按钮:
- detail.php:评价区的「写评价 / 修改我的评价 / 评论 / 回复」都做成按钮,
用原生 <details>/<summary> 折叠,点开才展开表单,提交后整页刷新自动收起。
零 JS、键盘可用。没评价过只在顶部有「写评价」;评价过则该按钮消失,改在自己
那条评价下面出现「修改我的评价」。一条评价都没有时显示「还没有评价,等你来评一个。」
- lib/reviews.php:评论改两级平铺。parent_id 为空 = 顶层评论,非空 = 对某条评论的
回复;写「回复的回复」时由 addReviewComment 规范化回顶层评论,所以库里最多两层、
页面永远只缩进一次,来回多少轮都不会越缩越窄。被回复者另存 reply_to_admin_id
(存「人」不存评论 id,对方那条被删也不会悬空),页面用「回复 @某某」标出。
deleteReviewComment 删顶层评论时连带清掉它的回复。
- lib/db.php:review_comments 增 parent_id / reply_to_admin_id 两列 + 幂等迁移,
并给 parent_id 建索引。**修一个会让老库升级白屏的顺序 bug**:新列上的 CREATE INDEX
必须排在 ALTER TABLE 补列之后 —— 建表用的是 CREATE TABLE IF NOT EXISTS,对线上
已存在的旧表不生效,索引跑在补列之前会报 no such column: parent_id,整个 initDB
挂掉。全新安装看不出来,是 e2e 的「造旧库再跑一遍初始化」专测抓到的。
- README.md:命名由「评价与讨论」改为「评价与评论」,补上按钮交互、两级平铺、
回复 @某某 与新表字段的说明。
回归:reviews_e2e 84/84、fetch_movie 76/76、storage 196/196;A/B 47 个响应中
仅详情页相关 6 个有差异,且经折叠区块比对确认差异全部限定在评价区内。
线上 PHP 7.4.30 / 8.1.7 双版本迁移与写链路(顶层评论→回复→回复的回复→清理)全部通过。
2026-09-22 16:09:48 +08:00
..
2026-09-21 22:06:02 +08:00
2026-09-21 12:56:30 +08:00
2026-09-22 16:09:48 +08:00
2026-09-21 23:05:40 +08:00
2026-09-21 12:56:30 +08:00
2026-09-22 16:09:48 +08:00
2026-09-21 22:06:02 +08:00
2026-09-21 12:56:30 +08:00
2026-09-21 22:06:02 +08:00