From b27cbd67a587c040d9acbb06417456116682043a Mon Sep 17 00:00:00 2001
From: 李凌 <344137771@qq.com>
Date: Mon, 26 Jan 2026 11:29:13 +0800
Subject: [PATCH] 1

---
 src/views/homePage/index.vue |   49 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/src/views/homePage/index.vue b/src/views/homePage/index.vue
index 1cc2d70..020f54b 100644
--- a/src/views/homePage/index.vue
+++ b/src/views/homePage/index.vue
@@ -82,13 +82,14 @@
             <list-quatation :listData="qList" :tabShow="false" :tabActive="2" />
         </div>
 
-        <van-popup v-model:show="item.showPopUp" style="border-radius:10px;" 
-            v-for="item in popupNewsList" :key="item.id">
-            <div class="w-350 p-20 box-border popup_news">
-                <div class="font-700 text-center font-28 textColor">{{ item.title }}</div>
-                <div class="flex justify-center mt-30" v-if="item.imgUrl"><img :src="`${item.imgUrl}`"
-                        class="w-200 h-200" alt="" /></div>
-                <div class="py-10 textColor   content-title" v-html="item.content"></div>
+        <van-popup v-model:show="item.showPopUp" style="border-radius:10px;" v-for="item in popupNewsList"
+            :key="item.id">
+            <div class="w-350 p-20 pb-10 box-border popup_news">
+                <div class="font-700 text-center font-28">{{ item.title }}</div>
+                <div class="flex justify-center mt-30" v-if="item.imgUrl">
+                    <img :src="`${item.imgUrl}`" class="w-200 h-200" alt="" />
+                </div>
+                <div class="py-10 content-title" v-html="item.content"></div>
                 <van-button color="#1194F7" class="w-full h-40 rounded-full" type="info" @click="closePopNotice(item)">
                     {{ $t('我知道了') }}
                 </van-button>
@@ -100,7 +101,7 @@
 <script setup>
 import Head from './components/head.vue'
 import { useI18n } from "vue-i18n";
-import { ref, computed, onBeforeUnmount } from 'vue';
+import { ref, computed, onBeforeUnmount, onMounted, watch } from 'vue';
 import { useRouter } from 'vue-router';
 import ListQuatation from "@/components/Transform/list-quotation/index.vue";
 import { _getHomeList } from '@/service/cryptos.api'
@@ -114,7 +115,7 @@
     setStorage('symbol', 'btcusdt');
 }
 const userStore = useUserStore()
-const { t } = useI18n()
+const { t, locale } = useI18n()
 const router = useRouter()
 const store = useStore();
 
@@ -141,24 +142,36 @@
 // 获取公告数据
 const announceList = ref([])
 _getNewsList1({
-    language: useI18n().locale.value,
+    language: locale.value,
 }).then(res => {
     announceList.value = res
 })
 
 // 获取弹出新闻
 const popupNewsList = ref([])
-_getPopupNews({
-    language: useI18n().locale.value,
-}).then(res => {
+const fetchPopupNews = async () => {
+    const partyId = userStore.userInfo?.partyId
+    const language = locale.value
+
+    // 未登录/未拿到 partyId 时也允许请求(后端若需要 partyId,会自行返回空)
+    const params = partyId ? { language, partyId } : { language }
+
+    const res = await _getPopupNews(params).catch(() => null)
     if (res && res.length > 0) {
-        let list = res
+        const list = res
         list.forEach(item => {
             item.showPopUp = true
         })
         popupNewsList.value = list
     }
+}
+
+onMounted(() => {
+    setTimeout(() => {
+        fetchPopupNews()
+    }, 1000)
 })
+
 // 关闭弹窗新闻
 const closePopNotice = (item) => {
     item.showPopUp = false
@@ -274,7 +287,8 @@
     $tab-c: #888;
     $inp-c: #999;
     $crd-b: #f7f7f7;
-    .js_title{
+
+    .js_title {
         font-size: 2rem;
         text-align: center;
         background: linear-gradient(to right, #87CEEB, #1E90FF, #0000CD);
@@ -283,12 +297,13 @@
         -webkit-text-fill-color: transparent;
         color: transparent;
     }
-    .js_content{
+
+    .js_content {
         font-size: 1.6rem;
         text-align: center;
     }
 
-    .popup_news{
+    .popup_news {
         font-size: 1.8rem;
     }
 

--
Gitblit v1.9.3