- **品牌残留**:旧代号 “E2E Pan/E2EPan” 仍存在于核心启动 banner、Flutter 入口类名、默认下载目录命名,导致对外展示不一致。
**涉及功能**: 聊天文件预览来源区分、附件保存到网盘、文本消息保存为文件
> 日期: 2024-12-28 > 状态: 已完成 > 涉及文件: chat_page.
发送功能允许向指定会话发送文本消息和文件附件。
files_page.dart 作为应用的核心文件列表页面,代码量达到 3035 行,包含了大量的 UI 组件和业务逻辑。
实现 E2E 便携式加密文件的导入导出功能时,我们经历了一个"越做越复杂"的过程,最终意识到走入了过度设计的误区。
原有设计中,S3 配置通过 Settings 页面的弹窗设置,存储在 SharedPreferences 中,只支持单个 S3 配置。使用上需要在不同 S3 存储之间切换时非常不便。本次重构实现:
E2EEPAN 是一个端到端加密的网盘应用,所有文件在上传前加密,存储在 S3 上的都是密文。
在文件列表中显示视频缩略图,提升使用体验。
游离文件夹中可能存在一种特殊情况:文件以 `.enc` 结尾,但无法解密。
游离文件(orphan files)是指存在于 S3 但不在元数据库中的文件。
系统中可能存在两类"游离文件"——S3 中存在但元数据库中没有记录的文件:
在缩略图文件夹中点击缩略图预览时,发现显示的是源文件而非缩略图本身,查看详情时信息也不准确。
1. **错误信息不友好**:
`home_page.dart` 文件过于庞大(2000+ 行),包含了:
- 项目已经是端到端加密: - 客户端在本地用 AES-256-GCM 加密后,才上传到 S3。
默认情况下,上传和下载任务都是按代码里固定的并发度执行,例如固定 3 个并发。
传输列表页支持按类型切换上传、下载、全部三个 Tab。