feat: WC2026 赛事 seed、生产上线初始化脚本与目录归档

重构 seed 为 WC2026 72 场小组赛与 48 强优胜盘;新增 production 模式仅保留 admin 与赛事示例;提供 prod-init-db 全量重置脚本;管理端 i18n 分包与赛事归档能力。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-12 18:17:00 +08:00
parent 8f14e85ebd
commit e7e938f261
94 changed files with 12332 additions and 976 deletions

View File

@@ -1,19 +1,23 @@
import { createI18n } from 'vue-i18n';
import { adminMessages, type AdminLocale } from './admin-messages';
import { ensureAdminLocaleLoaded } from './locale-loader';
export const ADMIN_LOCALE_STORAGE_KEY = 'admin_locale';
const saved = (localStorage.getItem(ADMIN_LOCALE_STORAGE_KEY) as AdminLocale) || 'zh-CN';
export const i18n = createI18n({
legacy: false,
locale: saved,
fallbackLocale: ['en-US', 'zh-CN'],
messages: adminMessages,
});
export function getAdminLocale(): AdminLocale {
return i18n.global.locale.value as AdminLocale;
export async function createAdminI18n() {
await ensureAdminLocaleLoaded(saved);
return createI18n({
legacy: false,
locale: saved,
fallbackLocale: ['en-US', 'zh-CN'] as AdminLocale[],
messages: adminMessages,
});
}
export default i18n;
export function getAdminLocale(): AdminLocale {
return (localStorage.getItem(ADMIN_LOCALE_STORAGE_KEY) as AdminLocale) || 'zh-CN';
}
export default adminMessages;