laoyang
f90cae0dcc
日程详情:只读日历不再给「编辑日程」入口 laoyang/FamilyBook#31
真机(DEL-AL20 / HarmonyOS 7.0.0.109)实测发现:只读共享本(如「工作学习」)
里的日程,首页详情卡仍显示「编辑日程」,用户改完点保存才被服务端拒:
「保存失败:这本日历你没有写权限。」
根因是 canEdit 写死 true,只判了 isEditableEvent(kind/id/calId),
没判这本日历能不能写。
- Types.ets 新增 isEventWritable(e, books):复用 FbCalBook.canWrite 口径
(由 FbCalRepo.fetchBooks 依 /calendar/books 的 kind+perm 算出),
不与写权限推导逻辑重复;books 缺失时判为不可编辑(宁可少给入口)
- FbHomePage:canEdit 由写死 true 改为按写权限判定;
openEvent 里顺手预加载 calBooks(原本懒加载,进详情时还是空数组,
会把本来能编辑的日程也误判成只读)
- FbCalendarPage:同步改用 isEventWritable,两处口径一致
真机复验:只读日程详情只剩「导航」;有权限的日程「编辑日程」正常,
改标题保存后杀进程重启仍在(确认真落库)。
2026-10-29 20:39:52 +08:00
..
2026-10-29 20:39:52 +08:00
2026-10-11 22:07:48 +08:00
2026-10-11 22:07:48 +08:00
2026-10-11 22:07:48 +08:00
2026-10-11 22:07:48 +08:00