碎碎念
之前自己在服务器上部署了 PhotoPrism 来管理大量的照片。体验总体不错,但在进行照片审核或整理归档时发现一个非常反人类的设计:目前的版本竟然没有“全选(Select All)”按钮!

当页面上有成百上千张照片需要批量通过审核或删除时,手动一个一个点击复选框简直是折磨。并且在处理的时候不可以使用 Shift 键进行连选
为了解决这个问题,我研究了一下页面结构,写了一行 JavaScript 代码来实现“一键全选”。
解决方案:一行 JS 代码
既然官方没做,我们就用浏览器的控制台自己动手。这段代码的逻辑是:找到页面上所有“未被选中”的复选框,并模拟点击它们。
JavaScript
// PhotoPrism 一键全选脚本
document.querySelectorAll('td.col-select:not(.is-selected) .input-select').forEach(btn => btn.click());
代码原理解析
td.col-select: 定位到包含复选框的单元格。:not(.is-selected): 这是一个关键过滤器。它确保我们只获取当前没有被选中的图片。这样可以避免重复点击导致“反选”(即把已选的给取消了)。.input-select: 找到单元格内的按钮元素。.click(): 模拟鼠标点击。
使用方法
不需要安装任何插件,任何浏览器(Chrome, Edge, Firefox)都可以直接用:
打开 PhotoPrism 的照片列表页面(如“搜索”、“审核”或“归档”页面)。
关键步骤:如果照片很多,先向下滚动页面,让 PhotoPrism 加载出更多的照片(因为它是懒加载机制,只渲染屏幕内的图片)。
按键盘上的
F12键(Mac 用户按Cmd + Option + I)打开开发者工具。切换到 “控制台 (Console)” 标签页。
在光标处粘贴上面的代码,按
Enter回车运行。
执行后,你会发现页面上加载出来的图片瞬间全部变成了选中状态(紫色高亮),此时就可以进行批量操作了。

总结
这一行代码极大地提升了我在 PhotoPrism 中整理照片的效率。希望官方在未来的版本中能早日加上原生的“全选”按钮,在此之前,就先用这个方法过渡吧。
建议:你可以直接把这段代码保存到浏览器的“书签”里(Bookmarklet),把网址栏改成 javascript:document.querySelectorAll...,这样以后点击书签就能直接运行,不用每次都开控制台了。