uniapp/pages_promotion/components/ns-adv/ns-adv.vue

96 lines
1.8 KiB
Vue

<template>
<view v-if="advList.length" class="adv-wrap">
<swiper :indicator-dots="advList.length > 1" indicator-active-color="#ffffff" :autoplay="true" :interval="3000" :duration="1000" v-if="advList.length > 1" class="ns-adv">
<swiper-item v-for="(item, index) in advList" :key="index" @click="jumppage(item.adv_url)">
<view class="image-box" :style="{ 'background-color': item.background }"><image :src="$util.img(item.adv_image)"></image></view>
</swiper-item>
</swiper>
<view v-else class="adv-wrap ns-adv">
<image :src="$util.img(advList[0]['adv_image'])" mode="widthFix"></image>
</view>
</view>
</template>
<script>
export default {
name: 'ns-advert',
props: {
keyword: {
type: String
}
},
data() {
return {
advList: []
};
},
created() {
this.getAdvList();
},
methods: {
//获取广告位
getAdvList() {
var item = {
adv_image: '',
adv_url: ''
};
this.$api.sendRequest({
url: '/api/adv/detail',
data: {
keyword: this.keyword
},
success: res => {
if (res.code == 0) {
var data = res.data.adv_list;
for (var index in data) {
if (data[index].adv_url) data[index].adv_url = JSON.parse(data[index].adv_url);
}
this.advList = res.data.adv_list;
}
}
});
},
jumppage(e) {
this.$util.diyRedirectTo(e);
}
}
};
</script>
<style>
.adv-wrap {
width: 100%;
}
.bg {
width: 100%;
height: 158rpx;
background-color: #fff;
position: fixed;
left: 0;
/* #ifdef H5 */
top: 88rpx;
/* #endif */
/* #ifdef MP-WEIXIN */
top: 0;
/* #endif */
}
.ns-adv {
background: #fff;
height: 300rpx;
border-radius: 10rpx;
/* padding: 8rpx 24rpx 24rpx; */
}
.ns-adv .image-box {
width: 100%;
height: 100%;
border-radius: 10rpx;
}
.ns-adv image {
width: 100%;
height: 100%;
border-radius: 10rpx;
}
</style>