🌐 处理国际化

This commit is contained in:
BTMuli
2025-12-24 17:55:18 +08:00
parent e4cafcf6e5
commit b910496477
2 changed files with 24 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
<template>
<div :id="`anno_card_${props.anno.ann_id}`" class="anno-card">
<div :id="`anno_card_${props.anno.ann_id}`" class="anno-card" @click="console.log(props)">
<div :title="props.anno.title" class="anno-cover" @click="createAnno">
<TMiImg v-if="props.anno.banner !== ''" :ori="true" :src="props.anno.banner" alt="cover" />
<img v-else alt="cover" src="/source/UI/defaultCover.webp" />
@@ -13,9 +13,9 @@
<div :title="props.anno.title" class="anno-title" @click="shareAnno">
{{ parseTitle(props.anno.subtitle) }}
</div>
<div :title="`标签:${props.anno.tag_label}`" class="anno-label">
<div :title="`标签:${annoTag}`" class="anno-label">
<TMiImg :ori="true" :src="props.anno.tag_icon" alt="tag" />
<span>{{ props.anno.tag_label }}</span>
<span>{{ annoTag }}</span>
</div>
<div class="anno-id">ID:{{ props.anno.ann_id }}</div>
</div>
@@ -39,10 +39,9 @@ const { server, lang } = storeToRefs(useAppStore());
const props = defineProps<TaCardProps>();
const timeStr = ref<string>("");
const annoTag = computed<string>(() => getTag());
const idColor = computed<string>(() => str2Color(`${props.anno.ann_id}`, 0));
const tagColor = computed<string>(() =>
str2Color(`${props.anno.tag_icon}${props.anno.tag_label}`, 40),
);
const tagColor = computed<string>(() => str2Color(`${props.anno.tag_icon}${annoTag.value}`, 40));
onMounted(() => refreshAnnoTime());
@@ -53,6 +52,22 @@ watch(
},
);
function getTag(): string {
switch (props.anno.tag_label) {
case "1":
case "11":
case "重要":
return "公告";
case "2":
case "扭蛋":
return "祈愿";
case "3":
return "活动";
default:
return props.anno.tag_label;
}
}
function parseTitle(title: string): string {
const dom = new DOMParser().parseFromString(title, "text/html");
return dom.body.innerText;

View File

@@ -4,8 +4,8 @@
<template #prepend>
<div class="pa-prepend">
<v-tabs v-model="tab" align-tabs="start" class="pa-tabs">
<v-tab v-for="tab in tabList" :key="tab.id" :value="tab.id">
{{ tab.name }}
<v-tab v-for="tab in tabList" :key="tab.id" :value="tab.id" :title="tab.name">
{{ tab.mi18n_name }}
</v-tab>
</v-tabs>
<div class="pa-selects">
@@ -150,6 +150,7 @@ async function loadData(): Promise<void> {
`服务器:${gameEnum.serverDesc(server.value)},语言:${gameEnum.anno.langDesc(lang.value)}`,
);
const listResp = await hk4eReq.anno.list(server.value, lang.value);
console.log("annoList", listResp);
annoList.value = listResp;
tabList.value = listResp.type_list;
tab.value = tabList.value[0].id;