fix(http): block /install page after setup is complete

- skip SPA fallback for `/install` and `/install/*` in main server
- keep install wizard accessible only during `RunInstallServer` phase
- prevent post-install access to install UI
This commit is contained in:
line-6000
2026-04-23 00:39:22 +08:00
parent 3a3a830d93
commit 09514a6946
175 changed files with 598 additions and 232 deletions
+39 -36
View File
@@ -156,44 +156,47 @@
content="GMPay 收款管理后台 - 多链 USDT 支付中间件管理面板"
>
<meta name="twitter:image" content="/images/logo.png">
<script type="module" crossorigin src="/assets/index-BMUjcbMl.js"></script>
<link rel="modulepreload" crossorigin href="/assets/messages-BovT1T-w.js">
<link rel="modulepreload" crossorigin href="/assets/with-selector-D_dmjfol.js">
<link rel="modulepreload" crossorigin href="/assets/useStore-1-QVtiLb.js">
<link rel="modulepreload" crossorigin href="/assets/ClientOnly-CtYi2y5F.js">
<link rel="modulepreload" crossorigin href="/assets/button-DJA4fnJ8.js">
<link rel="modulepreload" crossorigin href="/assets/dist-15n4mVGL.js">
<link rel="modulepreload" crossorigin href="/assets/useRouter-D03zSgJO.js">
<link rel="modulepreload" crossorigin href="/assets/link-CA4H4hTz.js">
<link rel="modulepreload" crossorigin href="/assets/matchContext-BcwcZvp2.js">
<link rel="modulepreload" crossorigin href="/assets/useSearch-B5ZWp8fU.js">
<link rel="modulepreload" crossorigin href="/assets/useNavigate-Dg8CkCoa.js">
<script type="module" crossorigin src="/assets/index-Dn_1Oalx.js"></script>
<link rel="modulepreload" crossorigin href="/assets/messages-xqHXgrWc.js">
<link rel="modulepreload" crossorigin href="/assets/with-selector-DHnjcmG4.js">
<link rel="modulepreload" crossorigin href="/assets/useStore-8Xlx4tji.js">
<link rel="modulepreload" crossorigin href="/assets/ClientOnly-BerhZEDB.js">
<link rel="modulepreload" crossorigin href="/assets/button-BQECWbag.js">
<link rel="modulepreload" crossorigin href="/assets/dist-CxCGwIT8.js">
<link rel="modulepreload" crossorigin href="/assets/useRouter-DbizRCmt.js">
<link rel="modulepreload" crossorigin href="/assets/link-CKQegE2A.js">
<link rel="modulepreload" crossorigin href="/assets/matchContext-DOaBJYLs.js">
<link rel="modulepreload" crossorigin href="/assets/useSearch-B-Xmd3I2.js">
<link rel="modulepreload" crossorigin href="/assets/useNavigate-DSiROrTl.js">
<link rel="modulepreload" crossorigin href="/assets/redirect-dE0wk0WH.js">
<link rel="modulepreload" crossorigin href="/assets/route-BxpeArPd.js">
<link rel="modulepreload" crossorigin href="/assets/_error-IYb4e1PQ.js">
<link rel="modulepreload" crossorigin href="/assets/dist-DG5UMlBd.js">
<link rel="modulepreload" crossorigin href="/assets/dist-BEDXr2LC.js">
<link rel="modulepreload" crossorigin href="/assets/dist-BKfJQFVD.js">
<link rel="modulepreload" crossorigin href="/assets/dist-Cp1lAGZy.js">
<link rel="modulepreload" crossorigin href="/assets/createLucideIcon-D28ivbfF.js">
<link rel="modulepreload" crossorigin href="/assets/cookies-BNZcTwGc.js">
<link rel="modulepreload" crossorigin href="/assets/wallet--XSRr4dT.js">
<link rel="modulepreload" crossorigin href="/assets/dist-DvAgZMq72.js">
<link rel="modulepreload" crossorigin href="/assets/auth-store-ramu4Ja7.js">
<link rel="modulepreload" crossorigin href="/assets/Match-B8-zI9ZJ.js">
<link rel="modulepreload" crossorigin href="/assets/useRouterState-DV1cSG1v.js">
<link rel="modulepreload" crossorigin href="/assets/route-CfqHSlRV.js">
<link rel="modulepreload" crossorigin href="/assets/_error-C4Q3lqci.js">
<link rel="modulepreload" crossorigin href="/assets/dist-DoGn2h1J.js">
<link rel="modulepreload" crossorigin href="/assets/dist-B8TJsLh2.js">
<link rel="modulepreload" crossorigin href="/assets/dist-B1wXypYC.js">
<link rel="modulepreload" crossorigin href="/assets/dist-DPqNmVyq.js">
<link rel="modulepreload" crossorigin href="/assets/dist-pzMFqYMR.js">
<link rel="modulepreload" crossorigin href="/assets/dist-BQFlyo06.js">
<link rel="modulepreload" crossorigin href="/assets/dist-4j1Lrjyz.js">
<link rel="modulepreload" crossorigin href="/assets/createLucideIcon-BjX75ffX.js">
<link rel="modulepreload" crossorigin href="/assets/cookies-BkW9sKRD.js">
<link rel="modulepreload" crossorigin href="/assets/wallet-D2a8vt6s.js">
<link rel="modulepreload" crossorigin href="/assets/dist-CD4kjzmO.js">
<link rel="modulepreload" crossorigin href="/assets/auth-store-Cp1Qr8YS.js">
<link rel="modulepreload" crossorigin href="/assets/Match-DWfHsy4k.js">
<link rel="modulepreload" crossorigin href="/assets/useRouterState-DFEDahj7.js">
<link rel="modulepreload" crossorigin href="/assets/atom-DI1Bn-1s.js">
<link rel="modulepreload" crossorigin href="/assets/circle-check-Dh8WOZF0.js">
<link rel="modulepreload" crossorigin href="/assets/clock-3-BoF5rDzX.js">
<link rel="modulepreload" crossorigin href="/assets/loader-circle-fg8-aSyl.js">
<link rel="modulepreload" crossorigin href="/assets/zod-Cymc5bS-.js">
<link rel="modulepreload" crossorigin href="/assets/general-error-DKtbS-qh.js">
<link rel="modulepreload" crossorigin href="/assets/not-found-error-toRsO1Fi.js">
<link rel="modulepreload" crossorigin href="/assets/router-I0SVmQhl.js">
<link rel="modulepreload" crossorigin href="/assets/Matches-LuvVcyUg.js">
<link rel="modulepreload" crossorigin href="/assets/font-provider-DvtNHF7l.js">
<link rel="modulepreload" crossorigin href="/assets/theme-provider-CRKya7Cx.js">
<link rel="stylesheet" crossorigin href="/assets/index-TVbhXeum.css">
<link rel="modulepreload" crossorigin href="/assets/circle-check-CZ7s_UaE.js">
<link rel="modulepreload" crossorigin href="/assets/clock-3-BQakovAl.js">
<link rel="modulepreload" crossorigin href="/assets/loader-circle-CENvL5ku.js">
<link rel="modulepreload" crossorigin href="/assets/zod-BnhDiB7H.js">
<link rel="modulepreload" crossorigin href="/assets/general-error-CAIDyDhH.js">
<link rel="modulepreload" crossorigin href="/assets/not-found-error-BKAx_mEr.js">
<link rel="modulepreload" crossorigin href="/assets/router-Dt_YKRJH.js">
<link rel="modulepreload" crossorigin href="/assets/Matches-BAMSv2s8.js">
<link rel="modulepreload" crossorigin href="/assets/font-provider-hqH5jrNZ.js">
<link rel="modulepreload" crossorigin href="/assets/theme-provider-CUq7mJXc.js">
<link rel="stylesheet" crossorigin href="/assets/index-CKEEJdVh.css">
<link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
<body>