Add slider captcha for web login, VitePress documentation on GitHub Pages, and fixes for gallery delete refresh, pagination jump, and copy-format persistence.
7.8 KiB
7.8 KiB
Changelog
本仓库自 v1.0.0 起作为正式版维护;此前历史提交已归档重置。
[Unreleased]
[1.2.1] - 2026-08-29
新增
- 登录滑动拼图验证(缺口对齐);验证与登录分两步,登录接口校验
captchaId/captchaPosition - VitePress 文档站(
docs-site/):中英文指南,部署至 GitHub Pages https://o96u.github.io/PicHost/ npm run docs:dev/docs:build/docs:preview;CI 增加docs:build;.github/workflows/docs.yml发布文档
修复
- 修复统计页删除图片后图库不刷新的问题
- 修复分页跳转输入框在
type="number"下无法跳转的问题 - 修复非首页路由下复制链接格式偏好不持久化的问题(
useUploadPreferences首次使用时自动加载) - 滑动验证 UI:滑块垂直居中、缺口尺寸与滑块一致
改进
- README 精简为产品宣传页,详细说明指向文档站
- 双域名文档补充:未知 Host 风险、Cloudflare 橙云部署、勿用 Pages/Workers 整站反代
- 文档截图更新(登录页等);旧
docs/*.md长文迁入docs-site/
1.2.0 - 2026-08-28
变更
- 图片统一存放在
data/images/;遗留blog/、twikoo/等并列目录需迁移后升级
新增
- CLI 迁移工具:
docker exec pichost migrate/migrate --apply(server/cli/migrate-to-single-images.mjs) - 扫描
data/下除images外所有顶层目录中的图片,输出data/mapping.json - 启动时自动同步图片索引(扫描磁盘、归一化遗留 key、清理孤儿记录),并打印同步日志
- 迁移文档:文档站 · v1.2 迁移
改进
- 启动时归一化遗留 SQLite key、清理无文件的孤儿索引;支持删除仅索引无文件的记录
[1.1.5] - 2026-08-28
修复
- 修复 API 上传后图库预览偶发失败、需等待刷新才显示的问题
- 图库卡片加载失败后自动重试,刷新列表时重置预览状态
改进
- 出图前校验存储文件实际存在,避免索引与磁盘短暂不一致
- 图片 404/403 与域名隔离 404 禁止 CDN 缓存,降低反代误判影响
[1.1.4] - 2026-08-28
新增
- 上传目录可按年/月分组或扁平保存(
storage_use_date_path/STORAGE_USE_DATE_PATH),设置页可切换 - 双域名分离下网站域禁止直链出图,仅图片域可访问图片路径
改进
- 隐藏
images/前缀时外链改为仅文件名(如xxx.webp);图片域仍兼容旧版/2026/08/xxx.webp短链 - 设置页重构:功能开关、域名配置、存储路径分组展示
- 本地磁盘索引扫描支持扁平路径;文件夹列表
images置顶
[1.1.3] - 2026-08-27
新增
- 后台与图片域名分离(
SITE_BASE_URL/IMAGE_BASE_URL):单实例双域名,Host 中间件隔离图片域非图片路径 /setup与系统设置支持启用/关闭域名分离,设置页可后续关闭并恢复单域- 可选隐藏外链中的
images/前缀(多文件夹时确认提示) - 设置页加载时检测 GitHub 最新版本并提示更新
- 双域名部署文档(Nginx / Lucky / 本地 hosts 测试):文档站 · 双域名分离
改进
- 双域名下防盗链自动放行网站域与图片域主机名
- 开发服务器默认绑定
127.0.0.1:3000,便于 hosts 双域本地测试 - API 文档补充自定义文件夹的 cURL 示例
其他
- 许可证变更为 GPL-3.0-only
scripts/目录改为本地维护,不再纳入仓库
[1.1.2] - 2026-08-26
新增
- 操作日志页(
/logs):记录上传/删除,管理员可查看全部用户并筛选 - 图库记录支持按存储后端筛选
- 上传 IP / API Token 限流(15 分钟窗口)
改进
- 操作日志记录存储后端;图库卡片可展示存储来源
- 存储筛选下拉固定「本地磁盘」排在第二位
- 系统设置页版本号链接至 GitHub Releases
修复
- 修复删除存储后端后确认弹窗闪出空名称
1.1.1 - 2026-08-26
修复
- 移除启动时自动创建的空白「S3 兼容存储」占位;升级后自动清理旧占位记录
- 修复管理页切换路由时反复闪现「正在验证登录状态」
- 修复静默会话校验后设置 / 统计 / API 页不加载数据
改进
- Docker 日志:4xx/5xx 分级输出,记录错误原因与堆栈;上传/启动任务失败写入详细错误
1.1.0 - 2026-08-26
新增
- S3 兼容对象存储后端(R2 / AWS S3 / 腾讯云 COS / 阿里云 OSS)
storage_backends+images索引表,列表/搜索/统计改查 SQLite- 混合直链:
proxy(默认,PicHost 代理)与public(302 到 CDN) - 管理员
/storage存储管理页:多后端卡片、用量条、添加/编辑/删除云存储实例 - 可选环境变量覆盖存储配置(
STORAGE_BACKEND、S3_*)
改进
- 启动时自动将本地磁盘图片扫描迁入
images索引(幂等) - 上传/删除/直链/auto-delete 按
backend_id路由到对应后端
1.0.4 - 2026-08-25
新增
- 密码输入框支持显示/隐藏切换(
PasswordInput组件,含无障碍文案)
改进
- 遗留
ADMIN_SECRET部署:/setup、/register路由与needsMigration检测对齐 - 合并重复的密码不一致 i18n 文案;移除未使用的
jose依赖
修复
- 修复
PasswordInput导致 CI typecheck 失败
1.0.3 - 2026-08-23
修复
- 修复 CI typecheck 失败(移动端菜单、i18n、统计页图库刷新)
- Docker 构建:arm64 改用原生 ARM Runner,避免 QEMU 下
npm ci极慢 - Docker 构建:启用 npm 缓存挂载,加快依赖安装
1.0.2 - 2026-08-23
新增
- 中英文界面(
@nuxtjs/i18n),语言切换与主题切换独立菜单 - 移动端导航:汉堡菜单 + 分组用户菜单(语言 / 外观 / 账户)
- Docker 忘记密码:
docker exec pichost reset-password(随机密码,见server/cli/) - Docker 升级到 v1.2.0 前迁移遗留目录:
docker exec pichost migrate/migrate --apply
改进
- 统计页工具栏与图库布局(桌面单行、移动端适配)
- 上传卡片视觉优化(背景图、插图、悬停边框动效)
- Logo 与上传区图片压缩,减小体积
1.0.1 - 2026-08-22
修复
- 系统设置页底部显示当前应用版本号
- 修复移动端上传偏好面板内容被裁剪、无法完整展示的问题
1.0.0 - 2026-08-22
新增
- 多用户账号体系:Web 引导创建管理员、用户名密码登录、可选开放注册
- 角色权限:管理员 / 普通用户;图库按
userId隔离,服务端强制校验 - 个人 API Token:每用户独立 Token,脚本上传归属对应账号
- 上传偏好:客户端预压缩、WebP 质量、自动复制链接、按用户自动删除策略
- 管理员系统设置:注册开关、防盗链、访问域名、默认上传目录
- 统计页:图库浏览 / 搜索 / 批量删除;管理员显示注册用户数量
- Twikoo / EasyImage 2.0 兼容:
POST /api/index.php - 遗留
ADMIN_SECRET一次性迁移至账号密码
技术栈
- Nuxt 4 + Nuxt UI 4
- 本地磁盘存储 + SQLite
- sharp 服务端 WebP 压缩
- Docker 多架构镜像(amd64 / arm64)
路线图
- v1.2.0(开发中):统一
images/存储、遗留目录迁移 CLI、启动索引同步