fix: 静态资源加缓存破坏版本号,解决浏览器缓存旧 JS 导致功能不生效
- 启动时生成 AssetVersion(base36 时间戳),注入模板 {{.V}}
- 所有 JS/CSS 引用加 ?v={{.V}},重启即刷新缓存
- 涉及前端、管理后台共 12 个模板文件
This commit is contained in:
@ -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 图片语法 
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user