47 lines
1018 B
Vue
47 lines
1018 B
Vue
|
|
<template>
|
||
|
|
<div class="vab-ad">
|
||
|
|
<el-carousel v-if="adList" :autoplay="true" :interval="3000" direction="vertical" height="30px" indicator-position="none">
|
||
|
|
<el-carousel-item v-for="(item, index) in adList" :key="index">
|
||
|
|
<el-tag type="warning">Ad</el-tag>
|
||
|
|
<a :href="item.url" target="_blank">{{ item.title }}</a>
|
||
|
|
</el-carousel-item>
|
||
|
|
</el-carousel>
|
||
|
|
</div>
|
||
|
|
</template>
|
||
|
|
<script>
|
||
|
|
import { getList } from '@/api/ad'
|
||
|
|
|
||
|
|
export default {
|
||
|
|
name: 'VabAd',
|
||
|
|
data() {
|
||
|
|
return {
|
||
|
|
nodeEnv: process.env.NODE_ENV,
|
||
|
|
adList: [],
|
||
|
|
}
|
||
|
|
},
|
||
|
|
created() {
|
||
|
|
this.fetchData()
|
||
|
|
},
|
||
|
|
methods: {
|
||
|
|
async fetchData() {
|
||
|
|
const { data } = await getList()
|
||
|
|
this.adList = data
|
||
|
|
},
|
||
|
|
},
|
||
|
|
}
|
||
|
|
</script>
|
||
|
|
<style lang="scss" scoped>
|
||
|
|
.vab-ad {
|
||
|
|
height: 30px;
|
||
|
|
padding-right: $base-padding;
|
||
|
|
padding-left: $base-padding;
|
||
|
|
margin-bottom: -20px;
|
||
|
|
line-height: 30px;
|
||
|
|
cursor: pointer;
|
||
|
|
|
||
|
|
a {
|
||
|
|
color: #999;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
</style>
|