1
admin
2026-01-11 9cb99d3e0db2c59f334d1f670ae74ead12717b2d
src/page/home/home.vue
@@ -60,7 +60,12 @@
         <img src="@/assets/img/b1.png"  style="width: 100%;height: 170px;border-radius: 14px;" />
     </div> -->
      <div style="margin: 0 10px;margin-top: 30px;margin-bottom: 30px;">
        <img src="@/assets/img/banner-home.png" style="width: 100%;height: 170px;border-radius: 14px;" />
        <van-swipe class="banner-swipe" :autoplay="3000" indicator-color="white" v-if="bannerList && bannerList.length > 0">
          <van-swipe-item v-for="(item, index) in bannerList" :key="index">
            <img :src="item.bannerUrl" style="width: 100%;height: 4.5rem;border-radius: 14px;object-fit: cover;" @click="handleBannerClick(item)" />
          </van-swipe-item>
        </van-swipe>
        <img v-else src="@/assets/img/banner-home.png" style="width: 100%;height: 170px;border-radius: 14px;" />
      </div>
    </div>
    <div style="width: 100%; height: 40px;"></div>
@@ -281,7 +286,8 @@
      show: false,
      secret: "",
      unreadCount: 0,
      messageTimer: null
      messageTimer: null,
      bannerList: []
    };
  },
  computed: {
@@ -292,6 +298,7 @@
  mounted() {
    this.getNewsList(1);
    this.stockgetZdfNumber();
    this.getSiteBannerList();
    this.kLineChart = init("Zline");
    this.kLineChart.setStyleOptions({
      candle: {
@@ -568,6 +575,28 @@
          elAlertText: data.msg
        });
      }
    },
    async getSiteBannerList() {
      try {
        let data = await api.getSiteBanner();
        if (data.status === 0 && data.data) {
          let list = Array.isArray(data.data) ? data.data : [];
          // 按照 isOrder 从小到大排序
          this.bannerList = list.sort((a, b) => {
            const orderA = a.isOrder || 0;
            const orderB = b.isOrder || 0;
            return orderA - orderB;
          });
        }
      } catch (error) {
        console.error('获取轮播图失败:', error);
        this.bannerList = [];
      }
    },
    handleBannerClick(item) {
      if (item.targetUrl || item.linkUrl) {
        window.open(item.targetUrl || item.linkUrl, '_blank');
      }
    }
  }
};
@@ -719,6 +748,25 @@
      }
    }
  }
  .banner-swipe {
    width: 100%;
    height: 4.5rem;
    border-radius: 14px;
    overflow: hidden;
    .van-swipe-item {
      width: 100%;
      height: 100%;
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        cursor: pointer;
      }
    }
  }
}
.dang {