V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
coolfan

全量/增量/定时 下载小米云服务中的 相册/录音 到本地

  •  
  •   coolfan · Dec 29, 2025 · 1694 views
    This topic created in 118 days ago, the information mentioned may be changed or developed.

    这是 https://study.congcong.us/t/1092480 的续集。

    这个项目大概从今年年中开始从头构建,完全抛弃了之前的 Python 版本,改用 Solon Kotlin Vue 进行了标准的前后端分离重构。

    相较于旧版本,新版本的主要改进如下:

    • 核心功能: 支持下载指定相册中的所有资产,并自动跳过已下载的内容。
    • 支持录音: 现在可以下载录音文件了。
    • 全自动化: 内置定时任务(无需借助外部 Cron ),支持全自动的增量下载。
    • 整理归类: 下载后会按照相册进行分类。
    • 元数据修复: 支持向照片和视频填充/修复 EXIF 时间信息,并重写文件系统的修改时间。
    • 部署方式: 除了原有的 Docker 部署外,现在还提供二进制文件直接运行。除了 Windows on arm 暂不支持外,其余主流平台的架构均已支持。

    截图


    额外分享一些技术细节:

    solon 是一款完全对标 SpringBoot 的国产 web 开发框架。native-image 技术允许你将 Java 服务编译到特定平台的二进制代码,从而在无 JRE 环境的情况下启动,并带来远超 jvm 的预热速度。本文主要基于 XiaomiAlbumSync 项目,简述在二进制编译下使用 Solon 遇到的一系列问题和对应的解决方案。技术栈包含:Solon, Kotlin, Jimmer, Flyway, SaToken, Gradle, Maven.


    flyway 天生与 native-image 不对付,在 solon 下也是如此。gradle 的大手近些年越伸越远,但在国内,还是 maven 的天下。本文主要是上一篇《轻装上阵-暂别 JVM:小记 Solon 和它的朋友们在 native-image 下的爱恨情仇》的续集,继续解决 flyway 如何在 naitve-image 环境下与 solon 打配合。以及尝试让 gradle 的大手再往 solon 伸一些。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   904 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 22:13 · PVG 06:13 · LAX 15:13 · JFK 18:13
    ♥ Do have faith in what you're doing.