Browse Source

'最后一些补充'

hfll
hflllll 1 month ago
parent
commit
f097716f8d
14 changed files with 27 additions and 28 deletions
  1. BIN
      public/VideoImage4.png
  2. BIN
      public/VideoImage5.png
  3. BIN
      public/VideoImage6.png
  4. BIN
      public/VideoImage7.png
  5. BIN
      src/assets/VideoImage1.png
  6. BIN
      src/assets/VideoImage2.png
  7. BIN
      src/assets/VideoImage3.png
  8. BIN
      src/assets/VideoImage4.png
  9. BIN
      src/assets/VideoImage5.png
  10. BIN
      src/assets/VideoImage6.png
  11. BIN
      src/assets/VideoImage7.png
  12. +13
    -11
      src/components/home/PartnersModule.vue
  13. +4
    -4
      src/components/home/PostsModule.vue
  14. +10
    -13
      src/views/Ecosystem.vue

BIN
public/VideoImage4.png View File

Before After
Width: 1667  |  Height: 826  |  Size: 1.6 MiB

BIN
public/VideoImage5.png View File

Before After
Width: 1663  |  Height: 897  |  Size: 2.8 MiB

BIN
public/VideoImage6.png View File

Before After
Width: 1670  |  Height: 902  |  Size: 2.3 MiB

BIN
public/VideoImage7.png View File

Before After
Width: 1667  |  Height: 904  |  Size: 3.4 MiB

BIN
src/assets/VideoImage1.png View File

Before After
Width: 1666  |  Height: 924  |  Size: 1.3 MiB

BIN
src/assets/VideoImage2.png View File

Before After
Width: 1629  |  Height: 900  |  Size: 1.1 MiB

BIN
src/assets/VideoImage3.png View File

Before After
Width: 1650  |  Height: 935  |  Size: 1.7 MiB

BIN
src/assets/VideoImage4.png View File

Before After
Width: 1667  |  Height: 826  |  Size: 1.6 MiB

BIN
src/assets/VideoImage5.png View File

Before After
Width: 1663  |  Height: 897  |  Size: 2.8 MiB

BIN
src/assets/VideoImage6.png View File

Before After
Width: 1670  |  Height: 902  |  Size: 2.3 MiB

BIN
src/assets/VideoImage7.png View File

Before After
Width: 1667  |  Height: 904  |  Size: 3.4 MiB

+ 13
- 11
src/components/home/PartnersModule.vue View File

@ -245,7 +245,7 @@ onMounted(() => {
{{ error }}
</div>
<div v-else class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-6">
<div v-else class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-6">
<div
v-for="(partner, index) in partners"
:key="partner.id"
@ -254,31 +254,31 @@ onMounted(() => {
ref="el => { if(el) partnerCards[index] = el }"
>
<div class="partner-inner">
<div class="partner-front">
<!-- <div class="partner-front"> -->
<div
rel="noopener noreferrer"
class="w-full h-20 flex items-center justify-center"
class="w-23 rounded-xl h-23 flex items-center overflow-hidden"
>
<img :src="partner.logo" :alt="partner.name" class="partner-logo max-w-full max-h-full object-contain transition-transform duration-300" />
<img :src="partner.logo" :alt="partner.name" class="partner-logo h-full w-full object-contain transition-transform duration-300" />
</div>
<h3 class="text-sm font-medium text-text truncate mt-2 text-center">{{ partner.name }}</h3>
</div>
<div class="partner-back">
<!-- <h3 class="text-sm font-medium text-text truncate mt-2 text-center">{{ partner.name }}</h3> -->
<!-- </div> -->
<!-- <div class="partner-back">
<div class="text-center p-3">
<h4 class="text-sm font-bold text-white mb-2">{{ partner.name }}</h4>
<p class="text-xs text-white" v-html="partner.description"></p>
<p class="text-xs text-white" v-html="partner.description"></p> -->
<!-- 添加链接按钮 -->
<a :href="partner.url" target="_blank" rel="noopener noreferrer" class="mt-2 inline-flex items-center justify-center px-3 py-1 bg-white/20 rounded-full text-xs text-white hover:bg-white/30 transition-colors">
<!-- <a :href="partner.url" target="_blank" rel="noopener noreferrer" class="mt-2 inline-flex items-center justify-center px-3 py-1 bg-white/20 rounded-full text-xs text-white hover:bg-white/30 transition-colors">
<Icon icon="carbon:link" class="mr-1" width="12" height="12" />
<span>{{ t('home.partners.visit') }}</span>
</a>
</div>
</div>
</div> -->
</div>
<!-- 添加发光效果 -->
<div class="glow"></div>
<!-- <div class="glow"></div> -->
</div>
</div>
@ -298,6 +298,8 @@ onMounted(() => {
perspective: 1000px;
height: 120px;
position: relative;
/* 一行最多五个 */
}
.partner-inner {


+ 4
- 4
src/components/home/PostsModule.vue View File

@ -64,7 +64,7 @@ const fetchPosts = async () => {
{
id: '4',
title: t('home.posts.items.london.title'),
image: '/public/VideoImage1.png',
image: '/public/VideoImage4.png',
description: t('home.posts.items.london.description'),
video: response[3]?.video || '/public/MOSEVideo.mp4',
createTime: response[3]?.createTime || '2025-07-05'
@ -72,7 +72,7 @@ const fetchPosts = async () => {
{
id: '5',
title: t('home.posts.items.lasvegas.title'),
image: '/public/VideoImage2.png',
image: '/public/VideoImage5.png',
description: t('home.posts.items.lasvegas.description'),
video: response[4]?.video || '/public/MOSEVideo.mp4',
createTime: response[4]?.createTime || '2025-07-03'
@ -80,7 +80,7 @@ const fetchPosts = async () => {
{
id: '6',
title: t('home.posts.items.seoul.title'),
image: '/public/VideoImage3.png',
image: '/public/VideoImage6.png',
description: t('home.posts.items.seoul.description'),
video: response[5]?.video || '/public/MOSEVideo.mp4',
createTime: response[5]?.createTime || '2025-07-01'
@ -88,7 +88,7 @@ const fetchPosts = async () => {
{
id: '7',
title: t('home.posts.items.belarus.title'),
image: '/public/VideoImage1.png',
image: '/public/VideoImage7.png',
description: t('home.posts.items.belarus.description'),
video: response[6]?.video || '/public/MOSEVideo.mp4',
createTime: response[6]?.createTime || '2025-07-16'


+ 10
- 13
src/views/Ecosystem.vue View File

@ -165,13 +165,13 @@ const initEcosystems = () => {
const finalImage = apiImages.value[index] || `/images/ecosystem/${item.key}.jpg`;
console.log(`Ecosystem ${index}: Using image ${finalImage}`);
return {
id: (index + 1).toString(),
title: item.title,
description: item.description,
image: finalImage,
orderNo: index + 1,
...ecosystemStyles[index]
};
id: (index + 1).toString(),
title: item.title,
description: item.description,
image: finalImage,
orderNo: index + 1,
...ecosystemStyles[index]
};
});
console.log('Final ecosystems data:', ecosystemsData);
@ -399,16 +399,13 @@ onMounted(() => {
</div> -->
<!-- 标题 - 统一样式 -->
<h2 class="font-bold text-white mb-6 wow animate__animated animate__fadeInRight text-4xl md:text-5xl">
{{ ecosystem.title }}
<h2 class="font-bold text-white mb-6 wow animate__animated animate__fadeInRight text-4xl md:text-5xl whitespace-pre-line" v-html="ecosystem.title?.replace(/\\n/g, '<br>')">
</h2>
<!-- 描述 - 统一样式 -->
<p class="text-white/80 mb-8 wow animate__animated animate__fadeInRight animate__delay-xs text-base max-w-full" v-if="ecosystem.description">
{{ ecosystem.description }}
<p class="text-white/80 mb-8 wow animate__animated animate__fadeInRight animate__delay-xs text-base max-w-full whitespace-pre-line" v-if="ecosystem.description" v-html="ecosystem.description?.replace(/\\n/g, '<br>')">
</p>
<p class="text-white/80 mb-8 wow animate__animated animate__fadeInRight animate__delay-xs text-base" v-else>
{{ t('ecosystem.default_description') }}
<p class="text-white/80 mb-8 wow animate__animated animate__fadeInRight animate__delay-xs text-base whitespace-pre-line" v-else v-html="t('ecosystem.default_description')">
</p>
</div>
</div>


Loading…
Cancel
Save