陶杰
2024-12-23 d39644872fa6f9499fc2c1651bced631a9e96b19
pages/home/components/home-banner-imgs.vue
@@ -2,29 +2,29 @@
   <view class=" home-banner-imgs">
      <view class="flex" v-if="list&&list.length>=3">
         <view class="flex1 m-r-5">
            <image class="p1 img100" :src="list[0].url">
            <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="toDetail(list[0])">
            </image>
         </view>
         <view class="flex1 m-l-5">
            <image class="p2 img100" :src="list[1].url">
            <image class="p2 img100" :src="list[1].url" mode="scaleToFill" @click="toDetail(list[1])">
            </image>
            <image class="p3 img100" :src="list[2].url">
            <image class="p3 img100" :src="list[2].url" mode="scaleToFill" @click="toDetail(list[2])">
            </image>
         </view>
      </view>
      <view class="flex" v-else-if="list&&list.length>=2">
      <view class="flex l-2" v-else-if="list&&list.length>=2" mode="scaleToFill">
         <view class="flex1 m-r-5">
            <image class="p1 img100" :src="list[0].url">
            <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="toDetail(list[0])">
            </image>
         </view>
         <view class="flex1 m-l-5">
            <image class="p1 img100" :src="list[1].url">
            <image class="p1 img100" :src="list[1].url" mode="scaleToFill" @click="toDetail(list[1])">
            </image>
         </view>
      </view>
      <view class="flex" v-else-if="list&&list.length>=1">
      <view class="flex l-1" v-else-if="list&&list.length>=1" mode="scaleToFill">
         <view class="flex1 m-r-5">
            <image class="p1 img100" :src="list[0].url">
            <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="toDetail(list[0])">
            </image>
         </view>
      </view>
@@ -38,16 +38,44 @@
            list: [],
         };
      },
      async mounted() {
         const {
            data,
            code
         } = await this.$http.request('get', '/api/pub/banner/list', {
      methods: {
         async init() {
            const {
               data,
               code
            } = await this.$http.request('get', '/api/pub/advertisement/list', {
         })
         if (code === 0) {
            this.list = data || []
            })
            if (code === 0) {
               this.list = data || []
               for (var item of this.list) {
                  item.url = item.cover
                  try {
                     if (item.url) {
                        var t = JSON.parse(item.url)
                        if (Array.isArray(t)) {
                           item.url = t[0] || ''
                        } else {
                           item.url = t.url || ''
                        }
                     }
                  } catch (e) {
                     // console.log('error',e)
                  }
                  // item.url = item.cover
               }
               console.log(this.list)
            }
         },
         toDetail(item) {
            uni.navigateTo({
               url: `/sub_pages/supplier/advertising/advertising?id=${item.id}`
            })
         }
      },
      async mounted() {
         this.init()
      }
   }
@@ -55,6 +83,8 @@
<style lang="scss">
   .home-banner-imgs {
      // background-color: #fff;
      .p1 {
         // width: 334rpx;
         height: 308rpx;
@@ -73,5 +103,12 @@
         // width: 334rpx;
         height: 142rpx;
      }
      // .l-1{
      //    .p1{
      //       min-height: 308rpx;
      //       height: 308rpx;
      //    }
      // }
   }
</style>