智汇摄影ZHIHUI PHOTO
CHANGELOG / 更新日志

这个站点是怎么长出来的。

每一次改动都写在这里,包括改坏了又改回去的那些。

1.34.1 2026.11.6 修复

保存提示挪到底部,关于文本单独一页

后台保存完不用再滚回顶部找提示;站点设置里那一段「关于我们」拆成内容组的独立页面。

  • 保存成功的提示从页面顶部挪到视口底部,点完保存就在按钮下方看得见
  • 站点设置和关于文本的保存按钮旁边都多了一行「已保存 · 21:34:02」,8 秒后自动淡出
  • 「关于我们」九组文本字段从站点设置拆出,内容组新增「关于文本」面板,深链 /admin?panel=about 可直达
  • 两个表单共用同一个写接口,只提交各自字段,互不清空对方
  • 操作日志里的详情会区分「站点设置」和「关于文本」
  • 切面板时自动收掉上一条保存提示,不再残影
1.34.0 2026.11.6 修复

后台侧栏按用途分组,日志不再排成一长条

后台原来 18 个面板平铺成一列,找「操作日志」得先往下滚。这次按用途收成 5 组,点哪组开哪组,记住你上次停在哪;顺带修了几处「点了没反应」和「装了 PWA 却永远看不到更新」的老毛病。

  • 后台侧栏从 18 项平铺改成 5 组折叠:概览 / 内容 / 成员 / 记录 / 设置,点开哪组就只看哪组
  • 打开的组会被记住,下次进来还是你上次看的那一块;待审、举报、反馈的红点汇总到组头上,收起也看得见
  • 手机上的后台:分组自动摊平成可横滑的一排,少点两下才能切面板
  • 当前面板写进地址栏(?panel=access 这种),刷新、收藏、转发都能落到同一页,不用每次从概览点过去
  • 反馈通知的链接以前点了只会打开概览,现在直接落到「反馈」面板;旧消息里的 /admin#feedback 也认得
  • 装在桌面上的 PWA 用户以前永远拿不到前端更新——Service Worker 把样式和脚本永久钉在旧版本;改成按带版本号的地址精确缓存,换版即生效
  • 会话过期不再只回一句「请先登录」:页面上的登录态会一起清掉,并说清楚是「登录状态已过期」
  • 反爬调轻:脚本 UA 第一次只回 403 不封禁,十分钟内再犯才封;公司网络、隧道这类共享出口不会再因为一个人被抓、整段 IP 被关两小时
  • scripts/add-superadmin.mjs 的引号嵌套语法错修掉(建超管脚本以前根本跑不起来)
1.30.1 2026.11.6 修复

服务不再每十分钟给自己重启一次

站点的防护插件会把「脚本客户端」拦掉,而服务器自己的健康探针正好是用 curl 发的——探针被自家 403,看门狗以为站点挂了,两天里重启了 316 次。这次把「自家探针」从外站脚本里摘出来,探针也换了正常 UA。

  • 本机反代进来的自检请求(X-Forwarded-For 全是回环)不再按外站脚本处理,健康探针、部署验收脚本都不会被自家防护拦
  • 看门狗换了判断:连续两次直连不通才重启服务;只有反代不通就 reload nginx,别拿重启当万能药
  • 日志里那句「这个地址暂时不能访问」不会再出现——它曾经把运维自己也挡在门外
  • 外站脚本抓取照旧 403,站外 curl 实测仍然被拦
1.24.2 2026.11.2 修复

投稿上传:把「服务器没收下这次投稿」拆成四种真话

iPhone 上正常选好照片却被回一句「请至少上传一张作品照片」——查日志发现请求体只有 1–3 毫秒、56 字节,服务端收到的是一份 0 字节的表单。现在传输中断、照片空壳、格式不合、总量超限分别给出不同的说明和动作。

  • 服务端读取请求体时校验 content-length,收到一半就断掉返回「照片还没传完,连接就断了(收到 X / 共 Y)」,不再误报成「你没选图」
  • 一张照片存不下不再毁掉整批:其余照片照常保存,并告诉你有几张被跳过、为什么
  • 单张格式不合(如 iPhone 的 HEIC)会说明是哪一张、怎么转成 JPG,而不是整批退回
  • 服务端请求超时从 60 秒放宽到 300 秒,和 nginx、浏览器端一致,手机上行慢不再被半路掐断
  • 浏览器端 canvas 压图产出空文件时回退原图;提交前自动剔掉 0 字节的照片并提示
1.8.1 2026.10.31 修复

深色模式不再是白块

后台封面卡片原来写死了白底,切到深色后是白卡片配浅字,字几乎看不见。

  • 后台「首页封面」卡片改用主题底色,深色模式下不再是刺眼白块
  • 深色模式主按钮换成更深的蓝,白字对比度从 2.8:1 提到 5.5:1
  • 全后台 7 个面板做了对比度体检,1408 处文字全部达标