Commit Graph
3 Commits
Author SHA1 Message Date
laoyang 6a8a97286a 观影详情卡:对齐、去「写评价」、补编辑入口与完整编辑 (#80)
用户:评价与评论和上面的观影照片对齐吗?下面的写评价不要了,三个字。
另外一个,是不是得有个地方放编辑按钮啊?观影其实可以编辑……后面会补几张照片。
但编辑这个功能应该还是有的。

① 对齐:FbSectionTitle 自带 padding left:4,简介/观影照片是裸 Text 无内边距,
   实测评价与评论起点 111 vs 观影照片 99(差 4vp)。用 margin left:-4 抵消。
   不改用裸 Text —— 那样会丢掉全站统一的字号/字重/字距/胶囊按钮口径。

② 去「写评价」:FbMovieReviewSheet 加 hideFormTitle;无评价时整行不画,
   但有评价时保留那一行(右边的修改/删除/收起按钮在那)。

③ 编辑入口 + 完整编辑(用户选定:按钮放卡片最底部、做完整编辑):
   - 服务端 PATCH /api/v1/movies/<id> 本来就有(movieData 支持缺省回退原值),
     这轮只补端上缺的那层;
   - FbMovieRepo 新增 updateMovie() → PATCH,成功后重拉列表回写本地库;
   - FbMovieNewSheet 加 editingId/editingDetail,aboutToAppear 走 prefill 回填,
     submit 按模式分派 POST/PATCH;标题/按钮文案随模式切换;
   - 宿主(首页 + 电影页)详情卡 onEdit → 关卡 + 同一张表单编辑;
   - 编辑时不发 poster_key(发空串会清掉已有海报);
     海报区显示「当前海报 / 不选新图就保持不变」,避免用户以为图丢了白传一次。

两个真坑:
 1) if/else if 条件里不能调方法:curPoster() 探针打出来是对的,
    界面却一直走 else —— ArkUI V2 只对字段/参数建依赖。改读 @Local 字段。
 2) Row { Text().width(100%); Row {...} } 会内层挤出:posterField 原来就是这个结构,
    标签吃满整行 ⇒ 内层塌成 0 高、完全不渲染(症状是图/字凭空消失)。
    按全局表单规范改两排。

验证(真机 5NC0225B27004718):评价与评论 x 起点 98 vs 观影照片 99 已对齐;
「写评价」不再出现;编辑按钮在 y=1987;点开标题为「编辑观影记录」,
片名/时间(10月9日 16:20)/简介全部回填;海报区三行文案齐全,
缩略图区域色数 13567(真图)。hvigorw assembleHap BUILD SUCCESSFUL。
2026-11-06 08:44:36 +08:00
laoyang cd60aa7788 观影详情卡:评价评论内嵌到底部可直评;简介/观影照片按全局规范改样式 (#79)
用户:电影弹出框,评价与评论放在最下面,直接显示出来,可以直接评论,不用再打开了。
简介、观影照片,注意按照我们的约定进行颜色和字体的修改。

① 评价与评论内嵌
- 删掉 FbMovieDetailSheet 里的入口胶囊与 reviewsOpen 死状态;
- 在 body() 末尾内嵌 FbMovieReviewSheet({embedded:true}),顺序与网页端一致:
  海报/片名/时间/评分/影院/同看的人/简介/备注/观影照片/**评价与评论**;
- FbMovieReviewSheet 加 embedded 开关,两种形态共用 reviewContent(),
  不抄第二份 300 行(抄必然改一处漏一处)。

② 评论框默认隐藏(用户明确):点「发表评论/回复」才展开,发送成功或取消即收起
  (submitComment 成功路径本来就会把 commentTarget 归零)。

③ 我的评价两态(用户选定):已评过=摘要(★+感受+正文3行+修改/删除),
  没评过=展开表单。保存成功自动收起;删除成功自动展开并清空草稿。
  加 myFormTouched 防止 load() 重跑时把刚写完的表单又收起来。

④ 简介/备注/观影照片标签按《全局表单规范》:
  主题色 accent + Bold + fontSmall + letterSpacing 0.6,标签独占一行、内容第二行整宽。
  改前是 fontTiny + faint 灰,与正文挤在一起。「N 张」保持 fontTiny+faint(同 extra 口径)。

验证(真机 5NC0225B27004718):
- 逐段抓 UI 文本,顺序命中 简介→观影照片→评价与评论,评价在最下面;
- 标签取最深5%像素均值:简介(98,67,110)、评价与评论(98,68,110)、写评价(97,69,109),
  均为主题紫色相;改前的 faint 灰是 (150,150,150) 量级;
- 底部文本含 写评价/评分/观后感受/发表评价,未评过故表单默认展开;
- hvigorw assembleHap BUILD SUCCESSFUL。
2026-11-06 07:58:45 +08:00
laoyang f1f279f973 电影影评+评论:详情浮层接「评价与评论」真功能 laoyang/FamilyBook#27
用户原话(2026-10-28):「鸿蒙端对齐网页端」。观影详情原来只能看平均分。
现在:

1) FbMovieRepo 加影评/评论类型 + reviews/saveReview/deleteReview/
   addReviewComment/deleteReviewComment 五个 API + 解析(含感受目录、评论树、mine 判断)
2) 新组件 FbMovieReviewSheet:我的影评(打分 1-10 星 + 观后感受多选 + 正文 +
   改/删)、全部影评列表(含评论树、回复、逐条删除)
3) FbMovieDetailSheet 加「评价与评论」入口 + 内嵌影评浮层

⚠️ 影评数/均分仍以列表项为准(详情接口不返回,与既有注释一致)。

编译 BUILD SUCCESSFUL;服务端冒烟 _i27_movie_review_api.py 22/0 + 反证命中。
2026-10-28 22:30:09 +08:00