Skip to content

SyncPan v0.0.17

Choose a tag to compare

@mqflive mqflive released this 21 Jun 15:52

[0.0.17] - 2026-06-21

新增

  • 广告插入功能:批量将广告文件插入目标目录树,支持普通/极速(turbo)模式、暂停/继续/取消,含风控延迟配置
  • 我的分享页面:查看百度/夸克上创建的所有分享链接,支持批量按页/天数/日期范围获取、排序、导出 CSV、缓存(IndexedDB)
  • 分享列表虚拟滚动:接入 @tanstack/react-virtual,行高 48px overscan=10,万级数据不卡
  • IndexedDB 缓存服务share-cache.ts 替代 localStorage,无容量限制,桌面端/浏览器模式通用,30 分钟 TTL 自动过期
  • 分享真实密码获取:百度 surlinfoinrecord 接口获取隐藏提取码,MyShareItem 新增 sign 字段
  • 批量转存实战页面:多链接批量转存(解析/开始/暂停/继续/停止/重试/状态查询),独立防风控
  • 链接转换实战页面:批量链接转换(开始/停止/暂停/继续),独立防风控
  • 广告清理功能:批量扫描→确认→删除网盘中的广告文件,支持暂停/继续/取消
  • 目录树生成:递归生成网盘目录结构树(树形/列表双模式),支持导出到本地文件
  • 批量分享/重命名实战页面:替换原占位页面,提供完整的配置面板和结果预览
  • 文本文件预览:TXT 等文本文件悬停预览 + TextPreview 对话框,百度(picdocpreview)/夸克(下载链接)后端实现,截取前 256KB
  • 搜索页转存并分享:搜索结果一键转存到网盘并生成分享链接,已分享后支持一键复制
  • 分享解析快速模式parse_share_fast 跳过 cookie 预热,预检等轻量场景提速
  • 系统原生保存对话框save_file 命令弹出原生保存对话框,浏览器模式降级 Blob 下载
  • 文件浏览器文本预览preview_text_file 命令,支持 .txt/.md 等文本文件预览
  • 侧边栏运行状态指示:广告插入/批量转存/链接转换/批量重命名/广告清理/目录树生成/批量分享/我的分享 共 8 个功能页签支持运行状态灯(绿色脉冲/黄色暂停)
  • 路由级懒加载:所有页面 React.lazy() + Suspense 按需分包,减少首屏加载体积
  • VIP 心跳在线状态AuthStore.isOnline + 独立在线检测定时器(所有用户),侧边栏头像状态点联动
  • 分享缓存时间设置:设置页新增「我的分享」缓存时间配置(1~1440 分钟)
  • vite vendor 分包优化vendor-tauri/vendor-xlsx/vendor-virtual 独立 chunk
  • 多页面占位:生成目录树、清理广告页面占位导航
  • 新增依赖tauri-plugin-dialogtauri-plugin-fs@tauri-apps/plugin-dialog@tauri-apps/plugin-fsidbxlsxtokio-util

修复

  • SQLite 时区修正:全局 datetime('now')datetime('now', 'localtime')(schema + 5 个 repo)
  • 百度转存目录修复needs_precreate_transfer_dir 改为 true,最终 save_dir 由 API 创建,中间父目录仍需预创建
  • 暗色模式输入框强化:checkbox 添加 !important 样式修复,bg-input 色调加深
  • 聚合任务状态区分utils.ts 区分「失败」vs「部分失败」
  • 任务卡片暗色模式:错误标签颜色修正(text-status-danger → 暗色适配色)
  • 任务日志集数格式:「第X集」→「更X集」
  • status-error → status-danger 统一:通知/代理/设置页测试结果颜色统一
  • 广告插入风控延迟调整:快速档 300800ms → 5001200ms
  • VIP 重复验签移除is_vip() 已含完整验证,移除冗余二次验签
  • SSE 事件兼容浏览器:移除命名事件类型,确保浏览器 onmessage 能接收所有事件
  • 广告插入返回格式修正:LAN 模式返回 task_id 字符串而非对象

变更

  • 前端架构大重构store.ts(525行) 拆分为 9 个独立 store + re-export 入口
  • 页面组件化拆分AuthDialog(727行)/AccountsPage(676行)/AdInsertPage(617行)/MySharesPage(891行) 拆分为模块化子组件 + hooks
  • 心跳拆分useAuthHeartbeat 在线检测定时器 + VIP 心跳定时器,独立生命周期
  • 批量获取优化:push 追加代替全量展开 + 每 5 页 flush state + 缓存超限跳过写入
  • 缓存上限调低MAX_CACHE_PAGES 50 → 30,减少遍历开销
  • 滚动加载阈值放宽:100px → 200px,给虚拟滚动器足够缓冲
  • 全局 card-hover 阴影增强:悬停阴影加深
  • PlaceholderPages 瘦身:批量分享/重命名/生成目录树移除(已有实战页面)