linda
|
9152644d31
|
fix(admin): 修复后台语言包被浏览器缓存一个月导致标题仍显示英文 key
背景:线上后台列表标题中英混杂(发布者/联系人 中文,Category_id/Cover/Price/Wechat 英文)。
实测服务端 /s.php/ajax/lang 返回的整包已是全中文,问题在浏览器缓存:
- application/admin/controller/Ajax.php::lang() 返回 Cache-Control: public + 一个月 Expires,
而缓存 URL 里的版本参数只是站点版本号 site.version,改语言包时它不变,
于是浏览器一直复用旧语言包(JS 里的 __('Xxx') 全部取不到中文)。
- 改为按语言包内容生成 ETag + Cache-Control: public, max-age=0, must-revalidate,
语言包一变,下次访问即可拿到新文案。
新增 app_init 行为 FcAssets:生产环境下把 site.version 动态拼上
「后台语言包 + 后台模块 JS」文件指纹(纯数字),任何后台文案/列定义改动都会
自动生成新的资源 URL,浏览器自动重新拉取,无需再手动 Ctrl+F5 或改版本号。
同时补充 docs/06 的「浏览器缓存机制」章节与排查顺序。
|
2026-10-15 17:25:22 +08:00 |
|