fix: 静态资源加缓存破坏版本号,解决浏览器缓存旧 JS 导致功能不生效

- 启动时生成 AssetVersion(base36 时间戳),注入模板 {{.V}}
- 所有 JS/CSS 引用加 ?v={{.V}},重启即刷新缓存
- 涉及前端、管理后台共 12 个模板文件
This commit is contained in:
2026-05-31 01:46:47 +08:00
parent 0bcaadceb4
commit b8658712bb
15 changed files with 32 additions and 21 deletions

View File

@ -5,12 +5,21 @@ import (
"net/http"
"net/url"
"regexp"
"strconv"
"time"
"metazone.cc/metalab/internal/model"
"github.com/gin-gonic/gin"
)
// AssetVersion 静态资源版本号(服务启动时生成,重启即刷新缓存)
var AssetVersion string
func init() {
AssetVersion = strconv.FormatInt(time.Now().Unix(), 36)
}
// mdImageRe 匹配 Markdown 图片语法 ![alt](url)
var mdImageRe = regexp.MustCompile(`!\[.*?\]\((.*?)\)`)
@ -48,6 +57,8 @@ func BuildPageData(c *gin.Context, extra gin.H) gin.H {
if isMaintenance, exists := c.Get("is_maintenance"); exists {
data["IsMaintenance"] = isMaintenance
}
// 注入静态资源版本号
data["V"] = AssetVersion
return data
}