项目原有的缩略图生成策略为**按需生成**: - 上传文件时,只上传原始文件 - 浏览文件列表时,前端请求缩略图 API - 后端检查缩略图是否存在,不存在则下载源文件、生成缩略图、保存后返回
**范围**: 聊天菜单返回键、资源泄漏、文件名安全校验
本次开发解决了聊天界面三个关联问题:
我这边用的时候发现生成缩略图时,弹窗闪一下就消失,无法感知任务执行状态。
两个历史遗留问题需要解决:
由于生成缩略图需要耗费很多流量(图片需要下载原图生成,视频需要流媒体提取帧),不再默认自动重生成丢失的缩略图,改为可控的策略。
**状态**: 完成
**涉及文件**:
在聊天界面中,多媒体消息(图片、视频、文件)的UI需要进行优化,以提升整体体验和视觉一致性。
**状态**: 已完成
在聊天界面上传文件时,如果我在上传完成前退出聊天页面,上传任务会直接终止失败。
设置页面提供了四档字重选项(细、正常、中粗、粗),但除了"粗"之外,其他三档视觉上没有任何区别。
发送功能允许向指定会话发送文本消息和文件附件。
files_page.dart 作为应用的核心文件列表页面,代码量达到 3035 行,包含了大量的 UI 组件和业务逻辑。
我在使用过程中发现多个状态相关的问题:
**时间**: 2025-12-22 20:57 **标签**: `架构优化` `代码简化` `重构`
实现 E2E 便携式加密文件的导入导出功能时,我们经历了一个"越做越复杂"的过程,最终意识到走入了过度设计的误区。
原有设计中,S3 配置通过 Settings 页面的弹窗设置,存储在 SharedPreferences 中,只支持单个 S3 配置。使用上需要在不同 S3 存储之间切换时非常不便。本次重构实现:
在文件列表中显示视频缩略图,提升使用体验。
系统中可能存在两类"游离文件"——S3 中存在但元数据库中没有记录的文件:
在缩略图文件夹中点击缩略图预览时,发现显示的是源文件而非缩略图本身,查看详情时信息也不准确。
日期:2025-12-19 主题:围绕“缩略图”系统文件夹,统一后端能力和前端行为,做到:
`home_page.dart` 文件过于庞大(2000+ 行),包含了:
2025-12-14 HTTP 架构 vs NativeCore 抽象取舍记录
这次重构的起点是一个看起来很小、但暴露出架构问题的 bug:
我们讨论过一个方案: 把图片缩略图的生成从 Flutter/Dart 侧搬到 Go 后端,由 Go 负责解密原图并生成小图。
文件列表中展示图片略缩图时,遇到以下几个典型问题: