luoqian
8c92d2fbac
perf: 优化文件浏览性能、扫描流程和前端 ref 冲突
- BrowseDirectoryAsync: 将分组/过滤/排序/分页从内存推到数据库,
避免每次翻页加载全量文件实体(20万文件场景从 ~200MB 降到 KB 级)
- ScanRootAsync: 使用 ExecuteUpdateAsync 原子抢占扫描锁防止并发扫描;
缩略图/视频时长从扫描循环内同步生成改为扫描完成后 SemaphoreSlim(4) 批量生成,
扫描耗时从数小时降到数十秒
- ScanDueRootsAsync: 增加 LastScanStartedAt 判断,跳过正在执行中的扫描
- ClientPage: 6 个重复的 ref="mediaPlayer" 改为 :ref="setMediaPlayer" 函数引用,
修复 Vue 3 v-for 内字符串 ref 互相覆盖导致的播放器事件指向错误实例问题
2026-06-12 15:45:06 +08:00
..
2026-05-22 14:45:07 +08:00
2026-05-23 11:03:51 +08:00
2026-05-22 15:17:59 +08:00
2026-06-12 15:45:06 +08:00
2026-05-22 14:29:22 +08:00