|
@@ -0,0 +1,70 @@
|
|
|
+<!--
|
|
|
+ * @Description: 广告横幅
|
|
|
+ * @Author: 空白格
|
|
|
+ * @Date: 2023-05-24 09:23:58
|
|
|
+ * @LastEditors: 空白格
|
|
|
+ * @LastEditTime: 2023-05-24 10:14:25
|
|
|
+ * @FilePath: \parking_h5_all\components\ad-banner\ad-banner.vue
|
|
|
+ * @Copyright: Copyright (c) 2016~2023 by 空白格, All Rights Reserved.
|
|
|
+-->
|
|
|
+<template>
|
|
|
+ <view class="ad-banner">
|
|
|
+ <u-swiper v-if="list.length" :list="list" @click="adBannerClick" height="300" />
|
|
|
+ <u-empty v-else text="暂无广告数据" mode="data" />
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ name: 'AdBanner',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ list: []
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getBannerList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /**
|
|
|
+ * @description: 获取轮播列表
|
|
|
+ * @return {*}
|
|
|
+ */
|
|
|
+ async getBannerList() {
|
|
|
+ const { code, rows } = await this.$u.api.adBannerModuleApi.getAdBannerListApi({ pageNum: 1, pageSize: 10 });
|
|
|
+ if (code === 200) {
|
|
|
+ this.list = rows.map(item => {
|
|
|
+ return { id: item.id, image: item.bannerUrl, type: item.contentType, link: item.jumpUrl, ...item }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @description: 轮播图点击
|
|
|
+ * @param {*} e
|
|
|
+ * @return {*}
|
|
|
+ */
|
|
|
+ adBannerClick(e) {
|
|
|
+ const listItem = this.list[e];
|
|
|
+ switch (Number(listItem.type)) {
|
|
|
+ case 0:
|
|
|
+ this.$u.route({
|
|
|
+ url: '/pages/adBannerDetails/adBannerDetails',
|
|
|
+ params: {
|
|
|
+ id: listItem.id
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ location.href = listItem.link;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.ad-banner {
|
|
|
+ padding: 0 30rpx;
|
|
|
+}
|
|
|
+</style>
|