资源模块:点列表进详情(含附件预览/下载),编辑走底部按钮分离 #29

Closed
opened 2026-10-28 15:27:24 +00:00 by laoyang · 2 comments
Owner

现象 / 诉求

用户原话(2026-10-28):

资源模块,资源列表点击后是编辑,那请问怎么下载资源里面的文件呢?
应该和名册一样,点击后是资源的详情,属于谁,共享给谁,附件;
如果有附件,可以打开预览,然后下载。下面有按钮,可以编辑,
点击编辑之后,才是编辑功能。

现状(已核实)

  • 端上 FbResourceSheet 是「查看 = 编辑」合体:点列表直接进可编辑浮层,标题/正文是 TextInput/TextArea(canWrite 时才可改)。
  • 附件区有「列表 + 删除 + 传附件」,但点不进去、没有预览、没有下载。
  • 服务端能力其实已齐:GET /resources/<id>/attach、media.php?k=<key>&token=<token>(移动端取附件,dl=1 触发下载头)。

要做的(对标名册 people 的「详情 → 编辑」分离)

  1. 点列表 → 只读详情浮层:展示归属人、正文、共享给了谁、附件列表。
  2. 附件可打开预览:图片 → 应用内全屏查看;非图片(pdf/doc/…)→ 下载到本地调系统打开。
  3. 附件可下载保存:图片 → 存相册;非图片 → 另存为(系统保存选择器)。
  4. 底部「编辑」按钮(仅 owner/write 可见)→ 才进入编辑浮层;编辑浮层才允许改标题/正文、增删附件、管理共享、删除。
  5. 只读共享进来的:不显示「编辑」「删除」入口。

验收标准

  • 点列表项 → 详情浮层(无输入框,标题/正文只读)。
  • 详情可见:归属人、共享给谁(含可改/只看)、附件列表。
  • 点图片附件 → 全屏预览;点非图片附件 → 调系统打开。
  • 附件能下载保存(图片存相册 / 文档另存为)。
  • 底部「编辑」按钮(仅可写者)→ 进入编辑浮层,此浮层才可改标题/正文、增删附件、管理共享、删除。

范围备注

  • 纯鸿蒙端改动,服务端无需改(附件取用/预览/下载的服务端通道已就绪)。
## 现象 / 诉求 用户原话(2026-10-28): > 资源模块,资源列表点击后是编辑,那请问怎么下载资源里面的文件呢? > 应该和名册一样,点击后是资源的详情,属于谁,共享给谁,附件; > 如果有附件,可以打开预览,然后下载。下面有按钮,可以编辑, > 点击编辑之后,才是编辑功能。 ## 现状(已核实) - 端上 `FbResourceSheet` 是「查看 = 编辑」**合体**:点列表直接进**可编辑**浮层,标题/正文是 `TextInput`/`TextArea`(`canWrite` 时才可改)。 - 附件区有「列表 + 删除 + 传附件」,但**点不进去、没有预览、没有下载**。 - 服务端能力其实已齐:`GET /resources/<id>/attach`、`media.php?k=<key>&token=<token>`(移动端取附件,`dl=1` 触发下载头)。 ## 要做的(对标名册 people 的「详情 → 编辑」分离) 1. **点列表 → 只读详情浮层**:展示归属人、正文、共享给了谁、附件列表。 2. **附件可打开预览**:图片 → 应用内全屏查看;非图片(pdf/doc/…)→ 下载到本地调系统打开。 3. **附件可下载保存**:图片 → 存相册;非图片 → 另存为(系统保存选择器)。 4. **底部「编辑」按钮**(仅 owner/write 可见)→ 才进入编辑浮层;编辑浮层才允许改标题/正文、增删附件、管理共享、删除。 5. 只读共享进来的:不显示「编辑」「删除」入口。 ## 验收标准 - 点列表项 → 详情浮层(无输入框,标题/正文只读)。 - 详情可见:归属人、共享给谁(含可改/只看)、附件列表。 - 点图片附件 → 全屏预览;点非图片附件 → 调系统打开。 - 附件能下载保存(图片存相册 / 文档另存为)。 - 底部「编辑」按钮(仅可写者)→ 进入编辑浮层,此浮层才可改标题/正文、增删附件、管理共享、删除。 ## 范围备注 - 纯**鸿蒙端**改动,服务端无需改(附件取用/预览/下载的服务端通道已就绪)。
Author
Owner

进度更新(2026-10-28)

需求已实现,纯鸿蒙端改动(服务端 media.php 移动端附件出口早已就绪,无需改服务端)。

已改

  • 新增 FbResourceDetailSheet(只读详情):归属人 / 正文 / 共享列表 / 附件列表;
    附件:图片点开全屏预览、非图片点开调系统「打开方式」、每条可「下载」。
  • 新增 common/FbAttachOpen.ets:附件「下载明文 / 打开发 / 存相册 / 另存为」工具。
    · 存相册 photoAccessHelper.showAssetsCreationDialog(系统弹窗,免 WRITE 权限)
    · 另存为 picker.DocumentViewPicker.save · 系统打开 隐式 Want viewData + 读授权 flag
  • FbResourcesPage:点列表 → 详情;详情底部「编辑」(仅 owner/write)→ 编辑浮层;+ 新建仍直接编辑。

验证

  • 编译 BUILD SUCCESSFUL;守卫 _fb_arkts_guard.js 1324/0。
  • commit fd3ea53(带 laoyang/FamilyBook#29)已推远端。

待办

真机装机体拒绝:设备 USB 又断开(hdc list targets = [Empty],只剩蓝牙串口)。
设备恢复后跑 familybook_harmonyos_run.sh 装机,再逐条点验:
点列表进详情 → 图片附件点开预览 → 非图片附件调系统打开 → 附件下载保存 → 底部编辑进编辑态。

## 进度更新(2026-10-28) 需求已实现,纯鸿蒙端改动(服务端 `media.php` 移动端附件出口早已就绪,无需改服务端)。 ### 已改 - 新增 `FbResourceDetailSheet`(只读详情):归属人 / 正文 / 共享列表 / 附件列表; 附件:图片点开全屏预览、非图片点开调系统「打开方式」、每条可「下载」。 - 新增 `common/FbAttachOpen.ets`:附件「下载明文 / 打开发 / 存相册 / 另存为」工具。 · 存相册 `photoAccessHelper.showAssetsCreationDialog`(系统弹窗,免 WRITE 权限) · 另存为 `picker.DocumentViewPicker.save` · 系统打开 隐式 Want `viewData` + 读授权 flag - `FbResourcesPage`:点列表 → 详情;详情底部「编辑」(仅 owner/write)→ 编辑浮层;+ 新建仍直接编辑。 ### 验证 - 编译 BUILD SUCCESSFUL;守卫 `_fb_arkts_guard.js` **1324/0**。 - commit `fd3ea53`(带 `laoyang/FamilyBook#29`)已推远端。 ### 待办 真机装机体拒绝:设备 USB 又断开(`hdc list targets` = `[Empty]`,只剩蓝牙串口)。 设备恢复后跑 `familybook_harmonyos_run.sh` 装机,再逐条点验: 点列表进详情 → 图片附件点开预览 → 非图片附件调系统打开 → 附件下载保存 → 底部编辑进编辑态。
Author
Owner

用户验收通过,关单(2026-11-01)

用户 2026-11-01 明确回复「#29,可以关单了」。

交付回顾

commit fd3ea53,纯鸿蒙端改动(服务端 media.php 附件出口早已就绪)。

  • 新增 FbResourceDetailSheet 只读详情浮层:归属人 / 正文 / 共享列表(含可改·只看)/ 附件列表
  • 新增 common/FbAttachOpen.ets:附件「下载 / 打开 / 存相册 / 另存为」
    · 存相册走 photoAccessHelper.showAssetsCreationDialog(系统弹窗,免 WRITE 权限)
    · 另存为走 picker.DocumentViewPicker.save
    · 系统打开走隐式 Want viewData + 读授权 flag
  • FbResourcesPage:点列表 → 只读详情;底部「编辑」(仅 owner/write)→ 编辑浮层;+ 新建仍直接编辑

验证

编译 BUILD SUCCESSFUL;ArkTS 守卫 1324 项 0 失败;真机装机后用户点验通过。

与 #31 的关系

本单的「只读共享不显示编辑入口」判据,与 #31(只读日历编辑入口)是同一类问题的两处表现,
#31 已在服务端权限口径上统一修掉。

## 用户验收通过,关单(2026-11-01) 用户 2026-11-01 明确回复「#29,可以关单了」。 ### 交付回顾 commit `fd3ea53`,纯鸿蒙端改动(服务端 `media.php` 附件出口早已就绪)。 - 新增 `FbResourceDetailSheet` 只读详情浮层:归属人 / 正文 / 共享列表(含可改·只看)/ 附件列表 - 新增 `common/FbAttachOpen.ets`:附件「下载 / 打开 / 存相册 / 另存为」 · 存相册走 `photoAccessHelper.showAssetsCreationDialog`(系统弹窗,免 WRITE 权限) · 另存为走 `picker.DocumentViewPicker.save` · 系统打开走隐式 Want `viewData` + 读授权 flag - `FbResourcesPage`:点列表 → 只读详情;底部「编辑」(仅 owner/write)→ 编辑浮层;+ 新建仍直接编辑 ### 验证 编译 BUILD SUCCESSFUL;ArkTS 守卫 1324 项 0 失败;真机装机后用户点验通过。 ### 与 #31 的关系 本单的「只读共享不显示编辑入口」判据,与 #31(只读日历编辑入口)是同一类问题的两处表现, #31 已在服务端权限口径上统一修掉。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: laoyang/FamilyBook#29