refactor: 静态资源缓存破坏改为文件级哈希,重启不刷新未修改文件的缓存

- 启动时计算每个 JS/CSS 的 SHA-1 前 8 位作为版本号
- 文件不变则哈希不变,浏览器继续用缓存,重启零压力
- 替换全局 AssetVersion 为 assetV 模板函数,按文件路径查询哈希
- 移除 BuildPageData 中的全局版本号注入
This commit is contained in:
2026-05-31 01:53:17 +08:00
parent b8658712bb
commit d3e5cbe18b
18 changed files with 124 additions and 37 deletions

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{{if .CSRFToken}}<meta name="csrf-token" content="{{.CSRFToken}}">{{end}}
<title>{{.Title}} - MetaLab 管理面板</title>
<link rel="stylesheet" href="/admin/static/css/common.css">
<link rel="stylesheet" href="/admin/static/css/common.css?v={{assetV "/admin/static/css/common.css"}}">
{{if .ExtraCSS}}
<link rel="stylesheet" href="{{.ExtraCSS}}">
{{end}}

View File

@ -1,7 +1,7 @@
</main>
</div>
<script src="/shared/static/js/utils.js?v={{.V}}"></script>
<script src="/admin/static/js/common.js?v={{.V}}"></script>
<script src="/shared/static/js/utils.js?v={{assetV "/shared/static/js/utils.js"}}"></script>
<script src="/admin/static/js/common.js?v={{assetV "/admin/static/js/common.js"}}"></script>
{{if .ExtraJS}}
<script src="{{.ExtraJS}}"></script>
{{end}}