| | |
| | | <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> |
| | |
| | | <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' |
| | |
| | | setStorage('symbol', 'btcusdt'); |
| | | } |
| | | const userStore = useUserStore() |
| | | const { t } = useI18n() |
| | | const { t, locale } = useI18n() |
| | | const router = useRouter() |
| | | const store = useStore(); |
| | | |
| | |
| | | // 获取公告数据 |
| | | 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 |
| | |
| | | $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); |
| | |
| | | -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; |
| | | } |
| | | |