feat(admin,player,api): 公共管理与优胜冠军国旗、玩家端内容对接

新增公共内容 CRUD 与批量操作;公告滚动合并管理;优胜冠军内置国家选择与单行保存;玩家端统一 usePlayerHome 对接轮播与跑马灯。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-04 10:25:42 +08:00
parent 27580b2479
commit f76728dc3e
21 changed files with 1966 additions and 136 deletions

View File

@@ -8,6 +8,7 @@ export interface OutrightSelection {
id: string;
teamCode: string;
teamName: string;
logoUrl?: string | null;
odds: string;
oddsVersion: string;
}
@@ -85,6 +86,7 @@ const showLoadMore = computed(
:key="sel.id"
:team-code="sel.teamCode"
:team-name="sel.teamName"
:logo-url="sel.logoUrl"
:odds="sel.odds"
@pick="emit('pick', sel)"
/>

View File

@@ -6,11 +6,14 @@ const props = defineProps<{
teamCode: string;
teamName: string;
odds: string;
logoUrl?: string | null;
}>();
const emit = defineEmits<{ pick: [] }>();
const flag = computed(() => teamFlagUrl(props.teamCode, props.teamName));
const flag = computed(
() => props.logoUrl?.trim() || teamFlagUrl(props.teamCode, props.teamName),
);
const flagFailed = ref(false);
function onFlagError() {
@@ -18,7 +21,7 @@ function onFlagError() {
}
watch(
() => [props.teamCode, props.teamName] as const,
() => [props.teamCode, props.teamName, props.logoUrl] as const,
() => {
flagFailed.value = false;
},