【开源】《PhotoAlbum》一个极简的、单文件运行的、适合内网和家庭部署的相册应用
一个面向局域网使用的照片管理工具,支持多用户登录、时间线浏览、相册管理、回收站恢复、分享链接和批量下载等功能。
特性
- 单二进制运行,部署方式简单
- 局域网访问,适合家庭和小团队使用
- 多用户登录与隔离
- 时间线视图,按日期浏览照片
- 自定义相册管理
- 回收站与恢复
- 分享链接与匿名访问
- 单张下载、批量打包下载、整相册下载
- 支持桌面端与移动端
仓库
- GitHub:
https://github.com/DoYoungDo/PhotoAlbum
下载地址
使用
部署和启动
这个项目采用单二进制形式,部署时不需要额外准备复杂环境。将程序放到一台局域网内可访问的设备上,启动后即可通过浏览器访问。
首次运行时,程序会进入初始化流程,按提示完成以下配置:
- 服务端口
- 图片存储路径
- 默认用户名
- 默认密码
初始化完成后,程序会输出访问地址。同一局域网内的电脑或手机,使用浏览器打开该地址即可进入相册页面。
整体流程可以理解为:
- 准备可执行文件
- 在局域网设备上启动程序
- 完成首次初始化配置
- 记录程序输出的访问地址
- 在浏览器中打开相册页面
如果后续需要增加新的登录用户,也可以通过程序提供的命令行子命令来完成:
bash
./photoalbum adduser
执行后按提示输入用户名和密码即可。新用户会被写入配置文件中
提示: 没有提供注册用户的界面,也不打算提供,为了尽量极简
界面使用
登录后即可开始使用。
照片上传完成后会进入时间线视图,并按日期展示。用户可以继续浏览,也可以把照片加入相册、批量下载、删除,或者生成分享链接发给其他人。
常见使用流程如下:
- 登录相册页面
- 上传照片
- 在时间线中浏览或多选照片
- 将照片加入相册,或执行下载、删除等操作
- 需要共享时生成分享链接
功能介绍
时间线视图
时间线是这个相册最适合日常使用的浏览方式。
照片会按日期分组展示,浏览时不需要依赖文件夹或文件名来查找内容,而是可以直接按时间回看。对于已经积累了较多历史照片的用户来说,这种方式会更自然。
在时间线中,还可以按日期批量选择、批量删除、批量下载,或者批量加入相册。
上传照片
上传支持点击选择、拖拽上传和多文件上传。
上传过程中会显示进度;如果个别文件失败,也可以单独重传,或者一键重传失败项,不需要重新处理整批文件。对于需要频繁整理照片的场景,这种方式更省事。
相册管理
如果需要按主题长期整理照片,可以使用相册功能。
例如家庭聚会、旅行记录、孩子成长、团队活动、产品素材等,都可以分别建立相册进行管理。进入相册后仍然可以继续浏览其中的照片内容,也支持整相册下载。
回收站
删除的照片不会立即永久消失,而是先进入回收站。
在回收站中可以预览、恢复、批量恢复;确认不再需要时,再执行永久删除或清空回收站。这样的设计更适合日常整理照片时使用,可以降低误删带来的风险。
分享链接
图片支持创建分享链接,并可设置过期时间。
拿到链接的人无需登录,就可以直接查看和下载被分享的内容。这种方式适合家庭成员之间共享照片,也适合小团队临时分发活动照片、记录照片或素材图。
系统内部也可以统一查看、复制和删除已创建的分享链接,便于后续管理。
下载
下载方式覆盖了比较常见的需求。
支持单张下载、多选打包下载,以及整相册打包下载。无论是临时取回一张原图,还是一次性拿走一组照片,都不需要逐张处理。
桌面端和移动端
这个相册同时考虑了桌面端和移动端的使用体验。
桌面端适合浏览和批量整理,移动端适合日常查看。对于家庭共享和小团队协作来说,这种适配方式会更实用。
适合的场景
- 家庭照片集中存放与日常回看
- 在局域网内给家人共享照片
- 小团队整理活动照片、记录照片、素材图
- 希望自己掌控照片存储与访问方式的用户
- 需要一个上手简单、功能完整的本地相册工具的场景
总结
《PhotoAlbum》更像一个偏日常使用的局域网相册工具,而不是一个需要复杂配置和重型流程的平台。
它的重点在于把照片管理中最常见的动作做完整:上传、浏览、整理、恢复、分享和下载。对于家庭和小团队来说,这样的能力组合已经能够覆盖大多数实际使用场景。
最后
- 这是一个仅花了半天时间,全程使用AI完成的项目(包括此Blog),可能有一些问题,欢迎在GitHub上提交Issue。🤣
- 后面我准备再添加一个上传视频和在线播放的功能。