From 8d87c9662eb03e187c57079deef7255485982564 Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Mon, 27 Oct 2025 17:22:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=A6=96=E9=A1=B5=E5=B0=81?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- management/src/views/HomeView.vue | 345 +++++++++++++++++++++++++++++- web/src/views/HomeContent.vue | 86 ++++++-- 2 files changed, 406 insertions(+), 25 deletions(-) diff --git a/management/src/views/HomeView.vue b/management/src/views/HomeView.vue index ef61dd58..51272fc6 100644 --- a/management/src/views/HomeView.vue +++ b/management/src/views/HomeView.vue @@ -1,11 +1,352 @@ - + + + 管理首页轮播图(共3张,按排序1-3显示) + + + + + + 轮播图 {{ index + 1 }} + 排序值:{{ index + 1 }} + + + + + + + + + + + + + + + 点击上传轮播图 {{ index + 1 }} + 建议16:9比例,支持JPG/PNG/WEBP,≤5MB + + + + + + + + + 保存全部修改 + + + 刷新数据 + + + + - \ No newline at end of file diff --git a/web/src/views/HomeContent.vue b/web/src/views/HomeContent.vue index 36dff503..ec5a3764 100644 --- a/web/src/views/HomeContent.vue +++ b/web/src/views/HomeContent.vue @@ -6,36 +6,21 @@ height="400px" autoplay arrow="always" + v-if="carouselImages.length > 0" > - + + - + + - 健康生活环境设计研究成果展 - 探索健康设计新路径,引领人居环境创新 - - - - - - - - 2025健康设计国际学术研讨会 - 汇聚全球专家智慧,共话健康人居未来 - - - - - - - - 社区健康服务创新实践 - 以设计赋能社区,提升居民生活品质 + + {{ item.title || defaultTitles[index] }} + {{ item.desc || defaultDescs[index] }} - @@ -120,6 +105,7 @@ import { ref, onMounted } from 'vue'; import { ElCarousel, ElCarouselItem, ElLink, ElCard, ElButton, ElIcon } from 'element-plus'; import { ArrowRight } from '@element-plus/icons-vue'; +import axios from 'axios'; // 数据结构 interface NewsItem { @@ -188,6 +174,60 @@ onMounted(async () => { resourceList.value = resourceData; communityList.value = communityData; }); + +const defaultTitles = [ + '健康生活环境设计研究成果展', + '2025健康设计国际学术研讨会', + '社区健康服务创新实践' +]; +const defaultDescs = [ + '探索健康设计新路径,引领人居环境创新', + '汇聚全球专家智慧,共话健康人居未来', + '以设计赋能社区,提升居民生活品质' +]; + + +interface CarouselImage { + id?: number; // 可选,数据库返回的ID + image_url: string; // 图片URL(必选) + sort?: number; // 可选,排序字段 + // 其他可选字段(如title、desc等) + title?: string; + desc?: string; + alt?: string; +} + +// 2. 显式指定泛型类型为 CarouselImage[] +const carouselImages = ref([]); +onMounted(async () => { + try { + // 发送 POST 请求,JSON 体传参 + const response = await axios.post( + 'http://localhost:8080/api/page-image/get', + { page: 'home' } // JSON 格式传递 page 参数 + ); + console.log("首页图片查询成功",response.data.images); + // 检查响应是否成功 + if (response.data.message === '查询成功') { + + + // 按 sort 排序(处理可能的 undefined) + carouselImages.value = response.data.images + + console.log("赋值后:",carouselImages.value); + } + } catch (error) { + console.error('查询失败:', error); + // 兜底数据 + carouselImages.value = [ + { image_url: 'https://picsum.photos/1920/400?random=1' }, + { image_url: 'https://picsum.photos/1920/400?random=2' }, + { image_url: 'https://picsum.photos/1920/400?random=3' } + ]; + } +}); + +
管理首页轮播图(共3张,按排序1-3显示)
点击上传轮播图 {{ index + 1 }}
建议16:9比例,支持JPG/PNG/WEBP,≤5MB
探索健康设计新路径,引领人居环境创新
汇聚全球专家智慧,共话健康人居未来
以设计赋能社区,提升居民生活品质
{{ item.desc || defaultDescs[index] }}