景徳镇旅游微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

319 lines
6.9 KiB

<template>
<view class="page">
<view class="banner">
<uv-swiper
:list="bannerList"
indicator
height="420rpx"
indicatorStyle="bottom: 100rpx;"
keyName="imageContent"></uv-swiper>
<view class="top">
<view class="search">
<uv-search
placeholder="请输入搜索文章"
:showAction="false"
search-icon-size="40rpx"
@search="search"
v-model="keyword"></uv-search>
</view>
</view>
</view>
<view class="content">
<view class="grid">
<uv-grid :border="false"
:col="4">
<uv-grid-item
v-for="(item,index) in baseList"
@click="$utils.navigateTo(item.path)"
:key="index">
<image class="grid-icon" :src="item.icon" mode="aspectFill"></image>
<text class="grid-text">{{item.title}}</text>
</uv-grid-item>
</uv-grid>
</view>
<view class="index_box">
<view class="image-box">
<image :src="config_new_image"
@click="$utils.navigateTo('/pages_order/service/newsList')"
class="image" mode="aspectFill"></image>
<view class="image-text">
申遗新闻
</view>
</view>
<view class="index_box_grid"
@click="$utils.navigateTo('/pages_order/service/carefree')">
<text class="text">无忧服务</text>
<image class="icon" src="/static/image/home/g8a.png" mode="aspectFill"></image>
</view>
</view>
<view class="video-title">
<!-- 视频中的景徳镇 -->
精彩推荐
</view>
<scenicSpot ref="videoList"/>
<!-- <view class="list">
<newsItem
v-for="(item, index) in 10"
:key="index"
:item="item"
/>
</view> -->
</view>
<PrivacyAgreementPoup/>
<tabber select="0"/>
</view>
</template>
<script>
import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
import scenicSpot from '@/components/list/scenicSpot.vue'
import newsItem from '@/components/list/newsItem.vue'
export default {
components : {
PrivacyAgreementPoup,
scenicSpot,
newsItem,
},
data() {
return {
baseList : [
{
icon : '/static/image/home/g1.png',
title : '申遗历程',
path : '/pages_order/service/applyRelic',
},
{
icon : '/static/image/home/g2.png',
title : '遗产概况',
path : '/pages_order/service/situation',
},
// {
// icon : '/static/image/home/g3.png',
// title : '遗产讲述',
// path : '/pages_order/service/tellList?type=tell',
// },
// {
// icon : '/static/image/home/g4.png',
// title : '达人同游',
// path : '/pages_order/service/tellList?type=travel',
// },
// {
// icon : '/static/image/home/g5.png',
// title : '遗产路径',
// path : '/pages_order/service/heritagePath',
// },
// {
// icon : '/static/image/home/g6.png',
// title : '我要跟拍',
// path : '/pages_order/service/following' ,
// },
// {
// icon : '/static/image/home/g7.png',
// title : '非遗体验',
// path : '/pages_order/service/experience',
// },
{
icon : '/static/image/home/g9.png',
title : '文创好物',
path : '/pages_order/product/productList',
},
{
icon : '/static/image/home/g10.png',
title : '我要帮助',
path : '/pages_order/service/help',
},
// {
// icon : '/static/image/home/g8.png',
// title : '无忧服务',
// path : '/pages_order/service/carefree',
// },
// {
// icon : '/static/image/home/g6.png',
// title : '申遗新闻',
// path : '/pages_order/service/newsList',
// },
],
bannerList: [
// {
// url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
// },
// {
// url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
// },
// {
// url: 'https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1msKSi.img',
// },
],
productList: [],
keyword : '',
config_new_image : '',
}
},
onLoad() {
uni.$on('getConfig', state => {
this.config_new_image = state.configList.config_new_image
})
},
computed : {
},
onPullDownRefresh(){
this.$refs.videoList.queryVideoList()
this.queryBannerList()
},
onShow() {
this.$refs.videoList.queryVideoList()
this.queryBannerList()
},
//滚动到屏幕底部
onReachBottom() {
// this.$refs.videoList.loadMoreData()
},
methods: {
queryBannerList(){
this.$api('queryBannerList', {
bannerCategoryType : 0,
},res => {
uni.stopPullDownRefresh()
if(res.code == 200){
this.bannerList = res.result
}
})
},
search(){
this.keyword = ''
uni.navigateTo({
url: '/pages_order/service/applyRelic?keyword=' + this.keyword
})
}
}
}
</script>
<style scoped lang="scss">
.page{
.banner{
position: relative;
.top{
position: absolute;
top: var(--status-bar-height);
left: 0;
padding-top: 30rpx;
display: flex;
width: 100%;
flex-direction: column;
align-items: center;
.search{
width: 400rpx;
margin-left: -100rpx;
/deep/ .uv-search__content__icon{
padding: 30rpx 0;
}
}
.title{
image{
width: 600rpx;
height: 300rpx;
}
}
}
}
.content{
position: relative;
margin-top: -60rpx;
.grid{
padding-bottom: 30rpx;
background-color: #fff;
border-radius: 60rpx;
box-shadow: 0 0 10rpx 10rpx #00000013;
.grid-icon{
width: 80rpx;
height: 80rpx;
margin-bottom: 10rpx;
margin-top: 30rpx;
}
.grid-text{
font-size: 24rpx;
font-weight: 900;
}
}
.index_box{
display: flex;
padding: 10rpx 20rpx;
gap: 30rpx;
align-items: center;
.image-box{
position: relative;
height: 200rpx;
width: 470rpx;
color: #fff;
.image{
position: absolute;
z-index: -1;
height: 100%;
width: 100%;
border-radius: 10rpx;
}
.image-text{
display: flex;
justify-content: center;
align-items: center;
height: 100%;
width: 100%;
background-color: rgba(0, 0, 0, 0.2);
font-size: 34rpx;
font-weight: 900;
}
}
.index_box_grid{
width: 200rpx;
height: 200rpx;
background-color: $uni-color;
border-radius: 10rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 16rpx;
.text{
color: #fff;
}
.icon{
width: 100rpx;
height: 100rpx;
}
}
}
.video-title{
padding: 15rpx 20rpx;
background-color: $uni-color;
color: #fff;
font-weight: 900;
font-size: 28rpx;
margin: 0 20rpx;
width: fit-content;
border-radius: 20rpx;
}
.list{
display: flex;
flex-wrap: wrap;
}
}
}
</style>