fix: url prefix page redirect
This commit is contained in:
@@ -246,10 +246,10 @@ func Setup(c *Controllers) *gin.Engine {
|
|||||||
|
|
||||||
html := string(data)
|
html := string(data)
|
||||||
|
|
||||||
// 只注入配置变量,不做字符串替换
|
// 在第一个 script 标签中注入配置
|
||||||
// 前端会使用这些变量来构建正确的路径
|
// 这样可以确保在资源加载前就设置好 base 标签
|
||||||
configScript := `<script>window.__BASE_URL__ = "` + urlPrefix + `"; window.__API_VERSION__ = "/api/v1";</script>`
|
configScript := `window.__BASE_URL__ = "` + urlPrefix + `"; window.__API_VERSION__ = "/api/v1";`
|
||||||
html = strings.Replace(html, "</head>", configScript+"</head>", 1)
|
html = strings.Replace(html, "// 后端会在这里注入:", configScript + "\n //", 1)
|
||||||
|
|
||||||
ctx.Header("Cache-Control", "no-cache, no-store, must-revalidate")
|
ctx.Header("Cache-Control", "no-cache, no-store, must-revalidate")
|
||||||
ctx.Data(200, "text/html; charset=utf-8", []byte(html))
|
ctx.Data(200, "text/html; charset=utf-8", []byte(html))
|
||||||
|
|||||||
+10
-11
@@ -2,20 +2,19 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
|
<script>
|
||||||
|
// 这个脚本会被后端注入 __BASE_URL__,必须在所有资源加载前执行
|
||||||
|
// 后端会在这里注入: window.__BASE_URL__ = "/baihu";
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
// 在任何资源加载前设置 base 标签
|
||||||
|
if (window.__BASE_URL__) {
|
||||||
|
document.write('<base href="' + window.__BASE_URL__ + '/">');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title></title>
|
<title></title>
|
||||||
<script>
|
|
||||||
// 在资源加载前设置 base 标签
|
|
||||||
(function() {
|
|
||||||
var baseUrl = window.__BASE_URL__;
|
|
||||||
if (baseUrl) {
|
|
||||||
var base = document.createElement('base');
|
|
||||||
base.href = baseUrl + '/';
|
|
||||||
document.head.appendChild(base);
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
Reference in New Issue
Block a user