Skip to content

v1.1.2-缓存与后台更新

Choose a tag to compare

@imqi1-github imqi1-github released this 11 Sep 05:58
· 259 commits to master since this release

修复

  • 实况照片切页报错 net::ERR_FILE_NOT_FOUND:路由切换时清缓存会当场 revoke 所有 Blob,而此刻旧页可能仍在过渡动画里、新页也可能刚命中同一份 Blob,<img> / <video> 随即指向已失效的 blob: 地址。改为「退役队列」——清理时只 revoke 上一轮退役的 Blob,本轮先挪进退役列表暂不释放。这样与清缓存、新页 mount 的先后无关,任何组件都不会指向被当场 revoke 的资源。

改进

  • 服务启动时清空 Redis 缓存(新增 Nitro 启动插件 redis-cache-reset):进程重启即 flushdb(),清掉上次运行 / 旧构建残留的页面 ISR(nitro:*)、search:*、custom:footprint 等缓存键,新进程从干净缓存开始。会话存 file/database,清空不影响登录态;未配 Redis 时跳过,启动期抖动只记日志、不阻断启动。

后台

  • 更新日志管理:删除改为批量操作——去掉每行单删按钮,改为行复选框 + 「全选 / 删除选中 (N)」工具栏(含半选态、选中行高亮、删除中 loading)。新增 POST /api/admin/changelogs/batch-delete,带 getUser + CSRF 校验 + ids 严格校验,删后失效 / 与 changelogs 的 ISR 缓存。
  • 加载态改用骨架屏:替代原先的 spinner,卡片壳 + 日期/操作行 + 条目行,风格与订阅页一致。

重构

  • 灯箱触发指令 data-fancybox → data-lightbox:自研灯箱早已取代 Fancybox,标记却一直沿用旧库的属性名。本次把渲染器(markdown 渲染 / Markdown 组件)、净化白名单、客户端解析器与页面硬编码标记一并改名。此前不改是怕 markdown 读时生成 + ISR 缓存导致新旧标记不一致;现在有了启动清缓存,部署即清旧 ISR,改名才安全。

完整变更:v1.1.1...v1.1.2