From 543735d5141ce80b5f48c1a0d777fc29b0b34c86 Mon Sep 17 00:00:00 2001
From: 李 <344137771@qq.com>
Date: Wed, 03 Jun 2026 18:27:50 +0800
Subject: [PATCH] 1
---
src/views/news/index.vue | 46 +++++++++++++++++++++++++++++++++++-----------
1 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/src/views/news/index.vue b/src/views/news/index.vue
index 722915f..a678947 100644
--- a/src/views/news/index.vue
+++ b/src/views/news/index.vue
@@ -1,11 +1,14 @@
<template>
<section class="inner-tab-container">
- <p class="title">{{ t('news') }}</p>
+ <assets-head :title="$t('news')" :back-func="() => router.push('/')" />
+ <!-- <p class="title">{{ t('news') }}</p> -->
<div class="news-container">
<van-steps direction="vertical" :active="0">
- <van-step v-for="(item, index) in list" :key="item.uuid || index">
- <p class="time">{{ item.createdAt }}</p>
- <p class="context" v-html="item.description"></p>
+ <van-step v-for="(item, index) in list" :key="item.url || index">
+ <img v-if="item.urlToImage" :src="item.urlToImage" alt="" class="news-item-img" />
+ <p class="time">{{ item.publishedAt || item.createdAt }}</p>
+ <h3 class="news-item-title">{{ item.title || '' }}</h3>
+ <p class="context" v-html="item.description || item.content || ''"></p>
</van-step>
<!-- <van-step>
<p class="time">2023-06-15 11:30</p>
@@ -24,26 +27,32 @@
</template>
<script setup>
+import assetsHead from '@/components/Transform/assets-head/index.vue'
import { ref, onMounted } from 'vue';
-import { _getInformationList } from '@/service/etf.api'
+import { _getUsHeadNews } from '@/service/user.api'
import { useI18n } from 'vue-i18n'
+import { useRouter } from 'vue-router'
const { t } = useI18n()
const list = ref([])
const maxTime = ref('')
+const router = useRouter()
onMounted(async () => {
- getInformationList()
+ getNewsList()
})
const onLoadMore = () => {
- maxTime.value = list.value[list.value.length - 1].createdAt
- getInformationList()
+ const last = list.value[list.value.length - 1]
+ maxTime.value = (last && (last.publishedAt || last.createdAt)) || ''
+ getNewsList()
}
-const getInformationList = () => {
- _getInformationList(maxTime.value).then(data => {
- list.value = [...list.value, ...data]
+const getNewsList = () => {
+ const params = maxTime.value ? { maxTime: maxTime.value } : {}
+ _getUsHeadNews(params).then(data => {
+ const arr = Array.isArray(data) ? data : (data && data.articles) ? data.articles : []
+ list.value = maxTime.value ? [...list.value, ...arr] : arr
})
}
@@ -56,11 +65,26 @@
.van-step__title {
color: $text_color !important;
+ .news-item-img {
+ width: 100%;
+ max-height: 18rem;
+ border-radius: 0.5rem;
+ object-fit: cover;
+ margin-bottom: 0.8rem;
+ }
+
.time {
color: #747A8F;
margin: 5px 0;
}
+ .news-item-title {
+ font-size: 1.6rem;
+ font-weight: 600;
+ color: $text_color;
+ margin: 0.8rem 0 0.5rem;
+ line-height: 1.4;
+ }
}
.van-step__line {
--
Gitblit v1.9.3