Files
cc-web/.trellis/tasks/10-17-file-browser-image-gallery/prd.md

26 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 文件预览全屏与目录切图
## 用户需求
当前图片预览被容器缩放,需要点击放大全屏,并能左右切换当前文件夹图片;优先复用 cc-web 现成组件。
## 验收条件
- 点击文件预览中已加载的图片打开已有附件图片弹层的全屏模式,图片适应整个可用视口,保留加载、失败、关闭操作。
- 查看器提供前后按钮和左右方向键,在当前文件夹中按文件列表顺序切换支持的图片;跳过目录和文本。
- 显示文件名、当前位置;单图与首尾行为清晰。
- 移动端按钮可用,关闭全屏返回原文件浏览器,不误触关闭文件浏览器。
- 图片按需鉴权加载,SVG 延续现有安全路径;切换时处理加载、失败、过期请求和 Blob URL 释放。
- 文件夹变化或文件浏览器关闭时正确清理查看器状态。
- 原有消息图片查看体验保持可用。
## 已定位的复用入口
- public/app.js:openAttachmentPreviewModal / closeAttachmentPreviewModal;现有组件目前是居中大图弹层,没有缩放平移功能。
- public/app.js:openFileBrowserFile / renderFileBrowserDirectory / loadFileBrowserDirectory / showFileBrowser。
- 文件图片继续通过 fetchAuthImage 读取 /api/fs/image,SVG 用 data URL,其余用 Blob URL。
## 约束
复用现有组件,不新增图库依赖;不做额外代码审计;本轮不打包、不提交、不推送、不重启。
## 验证结果
- file-browser-image、file-preview-encoding、frontend-asset-version 专项回归通过。
- Chromium 149 桌面和手机视口 20 项交互验证通过,页面无未捕获异常。