From 9701291b4e9dcc18b2a809a39f96cf4cf5ecac21 Mon Sep 17 00:00:00 2001 From: Yongquan Date: Mon, 2 Nov 2026 09:10:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=94=B9=E4=BA=86?= =?UTF-8?q?=20app.js=20=E5=8D=B4=E6=B2=A1=E5=8D=87=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=8C=E6=B5=8F=E8=A7=88=E5=99=A8=E4=B8=80?= =?UTF-8?q?=E7=9B=B4=E7=94=A8=E6=97=A7=20JS=20(#4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户报「图片最多上传 0 个,请先移除已上传的文件」——JS 弹的。 ## 根因:不是逻辑没写对,是新代码根本没加载 #4 已经把拦截改成 `maxCount > 0 && countOf(kind) >= maxCount`, 但**忘了把 FB_ASSET_V 加 1**。页面仍然输出 app.js?v=13, 浏览器直接从缓存读旧的 app.js(旧的判断是 `countOf >= maxCount`, maxCount=0 时 `0 >= 0` 为真,一个都不许传)。 ## 修法 FB_ASSET_V 13 → 14。这一改同时覆盖 style.css 与 app.js, 用户下次刷新就会拉到新文件。 ## 新增检查脚本 `_tooling/feedlite/fb_asset_version_check.py`: 对比「最后一次改 assets/ 的提交」与「最后一次改 FB_ASSET_V 的提交」, 前者更新就报错。改前端资源却忘升版本这类问题肉眼极难发现, 必须用规则卡住。 用脚本自查当前仓库,确认本提交修完后转为合规。 ## 教训 改 assets/ 下任何文件 → **必须同时把 lib/bootstrap.php 的 FB_ASSET_V 加 1**, 这是硬配套动作,写在 README 里但这次没执行到位。 --- lib/bootstrap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bootstrap.php b/lib/bootstrap.php index 2a713f5..2383ada 100644 --- a/lib/bootstrap.php +++ b/lib/bootstrap.php @@ -8,7 +8,7 @@ if (!defined('FB_ROOT')) { define('FB_ROOT', dirname(__DIR__)); // 静态资源版本号:改 assets/ 下的 css/js 后把这个数字 +1, // 让浏览器与 CDN 缓存失效。全站只此一处,别再往页面里写死数字。 - if (!defined('FB_ASSET_V')) { define('FB_ASSET_V', 13); } + if (!defined('FB_ASSET_V')) { define('FB_ASSET_V', 14); } } /* ------------------------------------------------------------------