9.1
This commit is contained in:
+60
-37
@@ -14,7 +14,7 @@
|
||||
<!-- Fixed Banner Swiper -->
|
||||
<view class="banner-container">
|
||||
<view class="swipemask">
|
||||
<view class="banner-subtitle">111111111</view>
|
||||
<view class="banner-subtitle">{{bannerList[currentBannerIndex].summary}}</view>
|
||||
<view class="dotbox">
|
||||
<view class="circle" :class="{active:currentBannerIndex==index} "v-for="(banner, index) in bannerList"
|
||||
:key="banner.id"></view>
|
||||
@@ -39,19 +39,12 @@
|
||||
>
|
||||
<view class="banner-item">
|
||||
<image
|
||||
style="width:100%;"
|
||||
class="banner-image"
|
||||
:src="banner.thumbnail || '/static/big_background_my.png'"
|
||||
mode="aspectFill"
|
||||
:src="docUrl +banner.headImg"
|
||||
mode="widthFix"
|
||||
></image>
|
||||
<view class="banner-content">
|
||||
<view class="doctor-avatar" v-if="banner.doctorAvatar">
|
||||
<image :src="banner.doctorAvatar" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="banner-info">
|
||||
<view class="banner-title">{{banner.title}}</view>
|
||||
<view class="banner-subtitle">{{banner.subtitle || '专业医学视频教育平台'}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
@@ -59,7 +52,7 @@
|
||||
|
||||
<scroll-view class="news-list" scroll-y="true">
|
||||
<!-- 肝胆新闻 -->
|
||||
<view class="news-item" @click="goToNews('hepatoBiliaryNews')">
|
||||
<view class="news-item" @click="goToNews('news')">
|
||||
<view class="news-icon blue">
|
||||
<uni-icons type="paperplane" size="24" color="#fff"></uni-icons>
|
||||
</view>
|
||||
@@ -73,7 +66,7 @@
|
||||
</view>
|
||||
|
||||
<!-- 互动圈 -->
|
||||
<view class="news-item" @click="goToNews('interactionCircle')">
|
||||
<!-- <view class="news-item" @click="goToNews('interactionCircle')">
|
||||
<view class="news-icon purple">
|
||||
<uni-icons type="redo" size="24" color="#fff"></uni-icons>
|
||||
</view>
|
||||
@@ -84,10 +77,10 @@
|
||||
<view class="news-arrow">
|
||||
<uni-icons type="forward" size="16" color="#ccc"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<!-- 科研项目 -->
|
||||
<view class="news-item" @click="goToNews('researchProjects')">
|
||||
<!-- <view class="news-item" @click="goToNews('researchProjects')">
|
||||
<view class="news-icon orange">
|
||||
<uni-icons type="star" size="24" color="#fff"></uni-icons>
|
||||
</view>
|
||||
@@ -99,9 +92,9 @@
|
||||
<uni-icons type="forward" size="16" color="#ccc"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
-->
|
||||
<!-- 临床招募 -->
|
||||
<view class="news-item" @click="goToNews('clinicalRecruitment')">
|
||||
<!-- <view class="news-item" @click="goToNews('clinicalRecruitment')">
|
||||
<view class="news-icon green">
|
||||
<uni-icons type="personadd" size="24" color="#fff"></uni-icons>
|
||||
</view>
|
||||
@@ -112,7 +105,7 @@
|
||||
<view class="news-arrow">
|
||||
<uni-icons type="forward" size="16" color="#ccc"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<!-- 肝胆会议 -->
|
||||
<view class="news-item" @click="goToCourse('hepatoBiliaryConference')">
|
||||
@@ -129,7 +122,7 @@
|
||||
</view>
|
||||
|
||||
<!-- 肝胆活动 -->
|
||||
<view class="news-item" @click="goToNews('hepatoBiliaryActivities')">
|
||||
<!-- <view class="news-item" @click="goToNews('hepatoBiliaryActivities')">
|
||||
<view class="news-icon pink">
|
||||
<uni-icons type="gift" size="24" color="#fff"></uni-icons>
|
||||
</view>
|
||||
@@ -140,18 +133,48 @@
|
||||
<view class="news-arrow">
|
||||
<uni-icons type="forward" size="16" color="#ccc"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { onShow } from "@dcloudio/uni-app";
|
||||
import api from '@/api/api.js';
|
||||
import docUrl from "@/utils/docUrl.js";
|
||||
import navTo from '../../utils/navTo';
|
||||
|
||||
onShow(()=>{
|
||||
bannerList.value = getMockBannerData();
|
||||
})
|
||||
onMounted(() => {
|
||||
loadNewsBanner();
|
||||
});
|
||||
|
||||
onShow(() => {
|
||||
loadNewsBanner();
|
||||
});
|
||||
|
||||
// 加载新闻轮播数据
|
||||
const loadNewsBanner = async () => {
|
||||
try {
|
||||
console.log(api)
|
||||
const res = await api.newsRollNew({});
|
||||
console.log('新闻轮播响应:', res);
|
||||
|
||||
if(res && res.code === 200) {
|
||||
bannerList.value = res.data || [];
|
||||
console.log('获取到轮播数据:', bannerList.value);
|
||||
} else {
|
||||
console.error('加载新闻轮播失败:', res.message);
|
||||
// 如果接口失败,使用模拟数据作为备选
|
||||
bannerList.value = getMockBannerData();
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
console.error('加载新闻轮播异常:', e);
|
||||
// 如果接口异常,使用模拟数据作为备选
|
||||
bannerList.value = getMockBannerData();
|
||||
}
|
||||
};
|
||||
// Banner相关数据
|
||||
const bannerList = ref([]);
|
||||
const currentBannerIndex = ref(0);
|
||||
@@ -204,21 +227,17 @@
|
||||
|
||||
// 新闻相关方法
|
||||
const goToNews = (type) => {
|
||||
console.log('跳转到新闻类型:', type);
|
||||
// 这里可以根据不同的新闻类型跳转到相应的页面
|
||||
uni.showToast({
|
||||
title: '功能开发中',
|
||||
icon: 'none'
|
||||
});
|
||||
if(type=="news"){
|
||||
navTo({
|
||||
url:'/pages_app/newsList/newsList'
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
const goToCourse = (type) => {
|
||||
console.log('跳转到课程类型:', type);
|
||||
// 这里可以根据不同的课程类型跳转到相应的页面
|
||||
uni.showToast({
|
||||
title: '功能开发中',
|
||||
icon: 'none'
|
||||
});
|
||||
navTo({
|
||||
url:'/pages/live/live'
|
||||
})
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -271,6 +290,10 @@
|
||||
.banner-subtitle {
|
||||
font-size: 24rpx;
|
||||
color: rgba(255,255,255,0.8);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 60%;
|
||||
}
|
||||
|
||||
.dotbox{
|
||||
|
||||
Reference in New Issue
Block a user