From d925fa97e27b7607c9b78e1237fde688888eb9ec Mon Sep 17 00:00:00 2001 From: BTMuli Date: Thu, 26 Mar 2026 01:29:48 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E9=80=BB=E8=BE=91=EF=BC=8C=E6=98=BE=E7=A4=BA?= =?UTF-8?q?title?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/func/loading.vue | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/components/func/loading.vue b/src/components/func/loading.vue index b89478da..f90eb969 100644 --- a/src/components/func/loading.vue +++ b/src/components/func/loading.vue @@ -18,7 +18,7 @@
empty - loading + loading
@@ -37,13 +37,16 @@ const defaultIcon = "/UI/app/loading.webp"; const props = defineProps(); +type EmojiItem = Array & { length: 2 }; + const showBox = ref(false); const showOuter = ref(false); const showInner = ref(false); const iconUrl = ref(defaultIcon); +const iconKey = ref(); const data = shallowRef(props); -const localEmojis = shallowRef>([]); +const localEmojis = shallowRef>([]); const loadingEl = useTemplateRef("LoadingRef"); watch( @@ -71,8 +74,11 @@ onUnmounted(() => loadingEl.value?.removeEventListener("contextmenu", (e) => e.p async function getRandomEmoji(): Promise { if (localEmojis.value.length === 0) { const emojisRead = localStorage.getItem("emojis"); - if (emojisRead) localEmojis.value = Object.values(JSON.parse(emojisRead)); - else { + if (emojisRead) { + let tmpArr: Array = []; + for (const [k, v] of Object.entries(JSON.parse(emojisRead))) tmpArr.push([`${k}`, `${v}`]); + localEmojis.value = tmpArr; + } else { const resp = await bbsReq.emojis(); if ("retcode" in resp) { console.error(resp); @@ -80,11 +86,16 @@ async function getRandomEmoji(): Promise { iconUrl.value = defaultIcon; return; } - localEmojis.value = Object.values(resp); localStorage.setItem("emojis", JSON.stringify(resp)); + let tmpArr: Array = []; + for (const [k, v] of Object.entries(resp)) { + tmpArr.push([k, v]); + localEmojis.value = tmpArr; + } } } - iconUrl.value = localEmojis.value[Math.floor(Math.random() * localEmojis.value.length)]; + [iconKey.value, iconUrl.value] = + localEmojis.value[Math.floor(Math.random() * localEmojis.value.length)]; } async function displayBox(params: LoadingParams): Promise {