refactor: 合并多语言支持的显示名称字段,优化奖池手动爆发功能的返回数据结构,增强管理端权限控制

This commit is contained in:
2026-05-25 14:31:24 +08:00
parent 7d01e5c47e
commit ddedef824e
101 changed files with 3033 additions and 641 deletions

View File

@@ -44,32 +44,10 @@ export function getAdminPlayTypesLoadPromise(
return inflightLoad;
}
function pickDisplayName(row: AdminPlayTypeRow, language: string): string | null {
const lang = language.split("-")[0]?.toLowerCase() ?? "zh";
if (lang === "en" && row.display_name_en?.trim()) {
return row.display_name_en.trim();
}
if (lang === "ne" && row.display_name_ne?.trim()) {
return row.display_name_ne.trim();
}
if (row.display_name_zh?.trim()) {
return row.display_name_zh.trim();
}
if (row.display_name_en?.trim()) {
return row.display_name_en.trim();
}
if (row.display_name_ne?.trim()) {
return row.display_name_ne.trim();
}
return null;
}
/** 按当前语言解析玩法显示名;无配置时回退 play_code */
/** 解析玩法显示名;无配置时回退 play_code */
export function resolveAdminPlayTypeDisplayName(
playCode: string | null | undefined,
language: string,
_language?: string,
row?: AdminPlayTypeRow,
): string {
if (playCode == null || playCode === "") {
@@ -81,13 +59,14 @@ export function resolveAdminPlayTypeDisplayName(
return playCode;
}
return pickDisplayName(resolved, language) ?? playCode;
const name = resolved.display_name?.trim();
return name ? name : playCode;
}
/** 表格展示:显示名 + 编码(与报表筛选一致) */
export function formatAdminPlayCodeLabel(
playCode: string | null | undefined,
language: string,
language?: string,
): string {
if (playCode == null || playCode === "") {
return "—";