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