diff --git a/admin-web/index.html b/admin-web/index.html
index f181f71..4ecba8e 100644
--- a/admin-web/index.html
+++ b/admin-web/index.html
@@ -2,7 +2,11 @@
-
+
+
丹阳公益婚恋 - 运营管理后台
diff --git a/admin-web/nginx-admin.conf b/admin-web/nginx-admin.conf
index 8ce6a03..2c638be 100644
--- a/admin-web/nginx-admin.conf
+++ b/admin-web/nginx-admin.conf
@@ -15,9 +15,20 @@ server {
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
- # SPA fallback
- location / {
- try_files $uri $uri/ /index.html;
+ # 根路径没有内容:管理端产物挂在 /admin/ 子路径下(构建 base=/admin/)。
+ # 显式 301 而不是返回 nginx 默认页或 404,避免"打开有东西但其实是别的页面"的假成功。
+ location = / {
+ return 301 /admin/;
+ }
+
+ # SPA:/admin/** 映射到产物根目录。
+ # 上游入口(生产 nginx、本地整套栈 nginx)都**不剥离** /admin 前缀地转发到本容器,
+ # 因此这里必须自己认识这个前缀。
+ # try_files 的兜底写成 URI(/admin/index.html)而不是文件路径:与 alias 配合时,
+ # 写文件路径会被再次拼接 alias 而失效 —— 这是 alias + try_files 的已知坑。
+ location /admin/ {
+ alias /usr/share/nginx/html/;
+ try_files $uri $uri/ /admin/index.html;
}
# API proxy to backend
diff --git a/admin-web/src/brand.ts b/admin-web/src/brand.ts
new file mode 100644
index 0000000..20e25fe
--- /dev/null
+++ b/admin-web/src/brand.ts
@@ -0,0 +1,14 @@
+// 品牌静态资源的运行时前缀。
+//
+// admin-web/public/ 下的文件不受 vite `base` 影响(无论 base 是什么,都会被原样复制到
+// 构建产物的根目录),因此 .vue 模板里若写死 `src="/brand/xxx.png"`,在产物部署于
+// /admin/ 子路径时,浏览器会去站点根路径请求,最终 404(表现为 logo / 登录插画裂图)。
+//
+// 结论:public/ 下的运行时引用必须显式带上 import.meta.env.BASE_URL。
+// 这里集中导出,避免每处各写一遍拼接而在改 base 时漏改。
+const BRAND_BASE = `${import.meta.env.BASE_URL}brand/`
+
+export const BRAND_LOGO = `${BRAND_BASE}logo-mark.png`
+export const BRAND_LOGIN_SCENE = `${BRAND_BASE}login-illustration.jpg`
+export const BRAND_ACTIVITY_FALLBACK = `${BRAND_BASE}activity-default.jpg`
+export const BRAND_BACKDROP = `${BRAND_BASE}admin-danyang-backdrop.jpg`
diff --git a/admin-web/src/layouts/MainLayout.vue b/admin-web/src/layouts/MainLayout.vue
index 9ceb563..f87ea5c 100644
--- a/admin-web/src/layouts/MainLayout.vue
+++ b/admin-web/src/layouts/MainLayout.vue
@@ -2,7 +2,7 @@