|
|
@@ -1,3 +1,34 @@
|
|
|
+// 从环境变量获取域名配置
|
|
|
+export const DOMAIN_MAP: Record<string, string> = {
|
|
|
+ www: import.meta.env.VITE_DOMAIN_WWW || 'index.xiaoluwebsite.xyz',
|
|
|
+ b: import.meta.env.VITE_DOMAIN_B || 'b.xiaoluwebsite.xyz',
|
|
|
+ mro: import.meta.env.VITE_DOMAIN_MRO || 'mro.xiaoluwebsite.xyz',
|
|
|
+ fuli: import.meta.env.VITE_DOMAIN_FULI || 'fuli.xiaoluwebsite.xyz',
|
|
|
+ reg: import.meta.env.VITE_DOMAIN_REG || 'reg.xiaoluwebsite.xyz',
|
|
|
+ breg: import.meta.env.VITE_DOMAIN_BREG || 'breg.xiaoluwebsite.xyz',
|
|
|
+ greg: import.meta.env.VITE_DOMAIN_GREG || 'greg.xiaoluwebsite.xyz',
|
|
|
+ passport: import.meta.env.VITE_DOMAIN_PASSPORT || 'pass.xiaoluwebsite.xyz',
|
|
|
+ search: import.meta.env.VITE_DOMAIN_SEARCH || 'search.xiaoluwebsite.xyz',
|
|
|
+ item: import.meta.env.VITE_DOMAIN_ITEM || 'item.xiaoluwebsite.xyz',
|
|
|
+ cart: import.meta.env.VITE_DOMAIN_CART || 'cart.xiaoluwebsite.xyz',
|
|
|
+ trad: import.meta.env.VITE_DOMAIN_TRAD || 'trad.xiaoluwebsite.xyz',
|
|
|
+ payc: import.meta.env.VITE_DOMAIN_PAYC || 'payc.xiaoluwebsite.xyz',
|
|
|
+ order: import.meta.env.VITE_DOMAIN_ORDER || 'order.xiaoluwebsite.xyz',
|
|
|
+ plan: import.meta.env.VITE_DOMAIN_PLAN || 'plan.xiaoluwebsite.xyz',
|
|
|
+ plan_info: import.meta.env.VITE_DOMAIN_PLAN_INFO || 'planinfo.xiaoluwebsite.xyz',
|
|
|
+ i: import.meta.env.VITE_DOMAIN_I || 'i.xiaoluwebsite.xyz',
|
|
|
+ easybuv: import.meta.env.VITE_DOMAIN_EASYBUV || 'easybuv.xiaoluwebsite.xyz'
|
|
|
+};
|
|
|
+
|
|
|
+// 反向域名映射 (域名 -> 站点名)
|
|
|
+const REVERSE_DOMAIN_MAP: Record<string, string> = Object.entries(DOMAIN_MAP).reduce(
|
|
|
+ (acc, [site, domain]) => {
|
|
|
+ acc[domain] = site;
|
|
|
+ return acc;
|
|
|
+ },
|
|
|
+ {} as Record<string, string>
|
|
|
+);
|
|
|
+
|
|
|
// 每个站点允许的路由 (保持不变)
|
|
|
export const SITE_ROUTES: Record<any, string[]> = {
|
|
|
www: ['/', '/index', '/indexData', '/theme', '/diy'], //优易365主站
|
|
|
@@ -69,26 +100,12 @@ export function getCurrentSite(): any {
|
|
|
// 无论是生产还是开发,现在都统一通过域名判断
|
|
|
const host = window.location.hostname;
|
|
|
|
|
|
- // 定义本地开发环境的域名映射关系
|
|
|
- // 确保你的 hosts 文件已经配置了这些域名指向 127.0.0.1
|
|
|
- if (host === 'index.xiaoluwebsite.xyz' || host === 'localhost') return 'www'; // 兼容未配hosts的情况
|
|
|
- if (host === 'b.xiaoluwebsite.xyz') return 'b';
|
|
|
- if (host === 'mro.xiaoluwebsite.xyz') return 'mro';
|
|
|
- if (host === 'fuli.xiaoluwebsite.xyz') return 'fuli';
|
|
|
- if (host === 'reg.xiaoluwebsite.xyz') return 'reg';
|
|
|
- if (host === 'breg.xiaoluwebsite.xyz') return 'breg';
|
|
|
- if (host === 'greg.xiaoluwebsite.xyz') return 'greg';
|
|
|
- if (host === 'pass.xiaoluwebsite.xyz') return 'passport';
|
|
|
- if (host === 'search.xiaoluwebsite.xyz') return 'search';
|
|
|
- if (host === 'item.xiaoluwebsite.xyz') return 'item';
|
|
|
- if (host === 'cart.xiaoluwebsite.xyz') return 'cart';
|
|
|
- if (host === 'trad.xiaoluwebsite.xyz') return 'trad';
|
|
|
- if (host === 'payc.xiaoluwebsite.xyz') return 'payc';
|
|
|
- if (host === 'order.xiaoluwebsite.xyz') return 'order';
|
|
|
- if (host === 'plan.xiaoluwebsite.xyz') return 'plan';
|
|
|
- if (host === 'planinfo.xiaoluwebsite.xyz') return 'plan_info';
|
|
|
- if (host === 'i.xiaoluwebsite.xyz') return 'i';
|
|
|
- if (host === 'easybuv.xiaoluwebsite.xyz') return 'easybuv';
|
|
|
+ // 使用环境变量配置的域名映射
|
|
|
+ if (host === 'localhost') return 'www'; // 兼容未配hosts的情况
|
|
|
+
|
|
|
+ // 从反向映射中查找站点
|
|
|
+ const site = REVERSE_DOMAIN_MAP[host];
|
|
|
+ if (site) return site;
|
|
|
|
|
|
// 生产环境逻辑 (保持不变,或者合并到上面的判断中)
|
|
|
if (import.meta.env.PROD) {
|
|
|
@@ -131,29 +148,8 @@ export function onPath(path: string) {
|
|
|
const isSameSite = currentSite === targetSite;
|
|
|
|
|
|
let url = '';
|
|
|
- // 域名映射表 (保持不变)
|
|
|
- const domainMap: Record<string, string> = {
|
|
|
- www: 'index.xiaoluwebsite.xyz',
|
|
|
- b: 'b.xiaoluwebsite.xyz',
|
|
|
- mro: 'mro.xiaoluwebsite.xyz',
|
|
|
- fuli: 'fuli.xiaoluwebsite.xyz',
|
|
|
- reg: 'reg.xiaoluwebsite.xyz',
|
|
|
- breg: 'breg.xiaoluwebsite.xyz',
|
|
|
- greg: 'greg.xiaoluwebsite.xyz',
|
|
|
- passport: 'pass.xiaoluwebsite.xyz',
|
|
|
- search: 'search.xiaoluwebsite.xyz',
|
|
|
- item: 'item.xiaoluwebsite.xyz',
|
|
|
- cart: 'cart.xiaoluwebsite.xyz',
|
|
|
- trad: 'trad.xiaoluwebsite.xyz',
|
|
|
- payc: 'payc.xiaoluwebsite.xyz',
|
|
|
- order: 'order.xiaoluwebsite.xyz',
|
|
|
- plan: 'plan.xiaoluwebsite.xyz',
|
|
|
- plan_info: 'planinfo.xiaoluwebsite.xyz',
|
|
|
- i: 'i.xiaoluwebsite.xyz',
|
|
|
- easybuv: 'easybuv.xiaoluwebsite.xyz'
|
|
|
- };
|
|
|
-
|
|
|
- const baseDomain = domainMap[targetSite];
|
|
|
+ // 使用环境变量配置的域名映射
|
|
|
+ const baseDomain = DOMAIN_MAP[targetSite];
|
|
|
|
|
|
if (import.meta.env.PROD) {
|
|
|
url = `https://${baseDomain}${path}`;
|