⚠️ 本提交含**两批**改动(同一批文件里交织,无法按文件拆开): · v63(影院管理与搜索/统计/年报拆成平级入口)—— 本会话之外的工作, 随本轮一并提交以免工作区长期留半成品; · v64(本会话,用户 2026-10-19 六条)。 v64 六条: ① 片名可经豆瓣自动获取简介与海报(与网页端同一份服务端输出: summary 全文 + 已落盘的 poster_key);简介**只填空白的**,不覆盖用户写过的。 联想 320ms 防抖(与网页端同值)。 ② 开始/结束改成**与日程同一个**日期时间选择控件 —— 新抽 components/FbDateTimeField.ets (行 + 弹层 + 一组换算函数),日程那边旧的自绘实现整段删掉改用它 (用户要的就是"两处一样")。 ③ 影院、同看人改成**弹框选择**: · FbCinemaPickSheet:顶部搜索框,匹配「地方 + 名称」,「不记录影院」恒在列表; · FbPersonPickSheet:顶部搜索框,拼音首字母**子序列**匹配(yyq 打成 yq 也能搜到), 多选走"暂存 + 确定"两段式(点一个不关窗)。 两排横向胶囊/头像全删(用户:"这种方式太难找了")。 ④ 允许上传**多张**图片:海报 1 张 + 观影照片可一次选 9 张、可多次追加、可逐张删。 ⚠️ 顺序是**先建记录再传图**(建记录失败就不会留孤儿图);图失败**不挡记录**。 ⑤ 删掉「地点」输入口(location 字段仍发,网页端与历史数据不受影响)。 ⑥ 观影页搜索框改明显:白底 + 实色描边 + 图标放大到 18 并染主题色 + 占位文字提到 muted/fontBody + 右侧「筛选 ›」暗示(用户:"根本看不清")。 FbMovieRepo 新增 doubanSuggest / doubanFetch / uploadPoster / uploadPhoto (multipart 手写,与头像上传同一形态,抽成共用的 uploadOne)。 验证:静态守卫 636/0 · 端上反向验证 87/0 · 接口 e2e 57/0 · 服务端反向验证 18/0 · 本地全量 e2e 1521/0 · hvigor 编译成功并已装机。 ⚠️ 真机验证脚本 _fb_v64_verify.py 已写好(六条全覆盖),因设备锁屏未能执行。
71 lines
3.7 KiB
Plaintext
71 lines
3.7 KiB
Plaintext
/**
|
||
* 家书 FamilyBook · 各模块的「设置菜单」条目(鸿蒙端)
|
||
*
|
||
* 🔴 用户 2026-10-16:「所有页面的设置按钮全部都改成和网页版一致,
|
||
* 就是**三个横线**那种设置按钮。」
|
||
*
|
||
* 这份表**逐条对齐网页版** `templates/<模块>/_settings_menu.php` 里的菜单项
|
||
* (那是权威来源;别自己发明条目)。
|
||
*
|
||
* ⚠️ `action` 为**空串** = 该功能在鸿蒙端**还没做**:
|
||
* 界面会画成灰色 + 「暂未开放」,点它**不响应**
|
||
* (比"点了没反应"好 —— 后者用户以为是卡了)。
|
||
* ⚠️ 补上某个功能时,只要把对应 `action` 填上、并在页面里处理它即可;
|
||
* 表本身不用改结构。
|
||
*/
|
||
|
||
import { FbSettingItem } from '../components/FbModuleSettingsSheet';
|
||
|
||
/** 观影(对应网页版 templates/movies/_settings_menu.php) */
|
||
/**
|
||
* 观影设置菜单。
|
||
*
|
||
* 🔴 v63(用户 2026-10-19):**影院管理与搜索/统计/年报是平级的四个入口**,
|
||
* 「影院管理就是管理影院,不要把统计搜索和年报放在这里面」。
|
||
* ⇒ 四条各有一个 `action`(v62 时后三条是空串 = 点了没反应)。
|
||
* ⚠️ 「高级搜索」与「统计」在原话里是**连着说的**("高级搜索统计"),
|
||
* 这里仍**拆成两条**:它们是两个不同页面(搜索给结果列表、统计给图),
|
||
* 合在一条里用户点进去只能看见一个,另一个就永远进不去了。
|
||
*/
|
||
export const FB_SET_MOVIES: FbSettingItem[] = [
|
||
{ icon: 'movies', label: '影院管理', hint: '看过的影院:新增 / 修改 / 删除', action: 'cinema' },
|
||
{ icon: 'search', label: '高级搜索', hint: '片名 / 影院 / 日期组合查', action: 'moviesearch' },
|
||
{ icon: 'chart', label: '统计', hint: '看过多少、按影院和年份的分布', action: 'moviestats' },
|
||
{ icon: 'notes', label: '年度报告', hint: '这一年你看了些什么', action: 'moviereport' }
|
||
];
|
||
|
||
/** 读书(templates/books/_settings_menu.php) */
|
||
export const FB_SET_BOOKS: FbSettingItem[] = [
|
||
{ icon: 'chart', label: '读书统计', hint: '每年读了多少、多少页', action: '' },
|
||
{ icon: 'plus', label: '导入读书笔记', hint: '从笔记文件批量导入', action: '' },
|
||
{ icon: 'share', label: '微信读书导入', hint: '同步微信读书的书单', action: '' }
|
||
];
|
||
|
||
/** 纪念日(templates/days/_settings_menu.php) */
|
||
export const FB_SET_DAYS: FbSettingItem[] = [
|
||
{ icon: 'filter', label: '纪念日分类', hint: '全家共用一套分类', action: '' }
|
||
];
|
||
|
||
/** 账本(templates/ledger/_settings_menu.php) */
|
||
export const FB_SET_LEDGER: FbSettingItem[] = [
|
||
{ icon: 'share', label: '共享给谁', hint: '对方就能记能看', action: '' },
|
||
{ icon: 'edit', label: '账本名字', hint: '改这本账本的名字', action: '' }
|
||
];
|
||
|
||
/** 任务(templates/tasks/_settings_menu.php) */
|
||
export const FB_SET_TASKS: FbSettingItem[] = [
|
||
{ icon: 'tasks', label: '分类与看板', hint: '管分类、管看板', action: '' },
|
||
{ icon: 'check', label: '已完成', hint: '看已经完成的任务', action: '' }
|
||
];
|
||
|
||
/** 旅程(templates/trips/_settings_menu.php) */
|
||
export const FB_SET_TRIPS: FbSettingItem[] = [
|
||
{ icon: 'nav', label: '车辆管理', hint: '自驾时的车与油耗', action: '' },
|
||
{ icon: 'trips', label: '出行方式', hint: '飞机 / 高铁 / 自驾…', action: '' },
|
||
{ icon: 'dot', label: '节点类型', hint: '行程节点的类型', action: '' }
|
||
];
|
||
|
||
/** 资源(网页版没有独立菜单;这里只放已有的入口) */
|
||
export const FB_SET_RESOURCES: FbSettingItem[] = [
|
||
{ icon: 'filter', label: '格式筛选', hint: '只看某类资源', action: '' }
|
||
]; |