xuxueyang
2024-09-09 c3319db3d83f2d4fa7fdf06e3792496ce77d90aa
pages/home/home.vue
@@ -21,23 +21,24 @@
      </view>
      <view class="search-container m-t-12 flex" @click="goto('/pages/home/components/home-search',false)">
         <view class="flex1 input">
            <u-input placeholder="请输入花名" disabled v-model="search_flow">
               <template slot="suffix">
            <u-input placeholder="请输入花名或店铺名" disabled v-model="search_flow">
               <template slot="suffix">
                  <!-- @click="buttonSearchFlow" -->
                  <uni-icons color="#20613D" type="search" size="24" ></uni-icons>
                  <uni-icons color="#20613D" type="search" size="24"></uni-icons>
               </template>
            </u-input>
         </view>
      </view>
      <!-- banner -->
      <uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
         :mode="'dot'" :dots-styles="dotsStyles[0]" field="content">
   <!--    <uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
         :mode="'dot'" :dots-styles="dotsStyles[0]" field="content"> -->
         <swiper class="swiper-box" @change="changeBanner" :interval="10000" :circular="true" :current="0"
            v-if="banners&&banners.length>0" :autoplay="true">
            <swiper-item v-for="(item, index) in banners" :key="index">
               <view class="swiper-item" :class="'swiper-item' + index">
                  <image @click="previewImg(item.url||item.image)" class="home-banner-image" mode="scaleToFill"
                  <!-- @click="previewImg(item.url||item.image)" -->
                  <image class="home-banner-image" mode="scaleToFill" @click="clickBanner(item)"
                     :src="item.url||item.image">
                  </image>
               </view>
@@ -52,7 +53,7 @@
               </view>
            </swiper-item>
         </swiper>
      </uni-swiper-dot>
      <!-- </uni-swiper-dot> -->
      <!-- tip -->
      <view class="m-t-12" @click="getNoticeMore">
         <uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon
@@ -68,9 +69,9 @@
      <!-- 几个专区 -->
      <home-zones></home-zones>
      <!-- 置顶的花列表 -->
      <home-top-flow></home-top-flow>
      <home-top-flow ref="home_top_flow"></home-top-flow>
      <view style="min-height:200rpx">
      <view style="min-height:140rpx">
      </view>
      <common-footer flg="0"></common-footer>
@@ -165,32 +166,41 @@
            currentNotice: {}
         };
      },
      // onShareAppMessage() {
      // let that = this;
      // var url =
      //    `/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
      // return {
      //    title: "校购GO小狗狗",
      //    path: url,
      // }
      // },
      // onShareTimeline() {
      //    let that = this;
      //    var url = "/pages/home/home" //你的分享页面路径
      //    return {
      //       title: '校购GO小狗狗',
      //       path: url,
      //       query: `shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`, //你的参数拼接,注意:不需要加?
      //       // imageUrl: 'https://cdn.uviewui.com/uview/swiper/1.jpg' //你分享的封面
      //    };
      // },
      onLoad(options) {
         // if(options.partnerUserId){
         //    //需要前往注册了
         //    uni.navigateTo({
         //       url: '/pages/login/supplier-login'
         //    })
      onShareAppMessage() {
         let that = this;
         var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
            that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
         var url =
            `/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
         return {
            title: "花满芫",
            path: url,
         }
      },
      onShareTimeline() {
         let that = this;
         var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
            that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || ''
         var url =
            `/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
         return {
            title: "花满芫",
            path: url,
         }
      },
      onReachBottom() {
         console.log('onReachBottom')
         if(this.$refs&&this.$refs.home_top_flow){
            // console.log(this.$refs.home_top_flow)
            this.$refs.home_top_flow.fun_GetMore()
         }
      },
      onLoad(options) {
         // if(options.partnerUserId){
         //    //需要前往注册了
         //    uni.navigateTo({
         //       url: '/pages/login/supplier-login'
         //    })
         // }
         // console.log('home created')
         //这里进行一次初始化即可
@@ -209,21 +219,35 @@
         //获取banner图
         this.$http.request('get', '/api/pub/banner/list', {}).then(res => {
            if (res.code == 0) {
               this.banners = res.data || []
               if (this.banners.length == 0) {
                  this.banners.push({
                     url: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png'
                  })
               this.banners = []
               var tarr = res.data || []
               if (tarr.length == 0) {
                  // tarr.push({
                  //    url: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png'
                  // })
                  this.banners = tarr
               } else {
                  for (var item of this.banners) {
                  var result = []
                  for (var item of tarr) {
                     // http://106.14.123.210/files/group1/e8/e1c17f7229514e5da211d8d47b09906b.jpeg
                     try {
                        if (item.url) {
                           var t = JSON.parse(item.url)
                           if (Array.isArray(t)) {
                              item.url = t[0] || ''
                              // item.url = t[0] || ''
                              for (var url of t) {
                                 result.push({
                                    ...item,
                                    url: url || ''
                                 })
                              }
                           } else {
                              item.url = t.url || ''
                              // item.url = t.url || ''
                              result.push({
                                 ...item,
                                 url: t.url || ''
                              })
                           }
                        }
@@ -231,7 +255,9 @@
                        // console.log('error',e)
                     }
                  }
                  this.banners = result
               }
               console.log('this.banners', this.banners)
            }
         })
@@ -257,10 +283,21 @@
         }, 2000)
         //公告
         this.$http.request('get', '/api/pub/announcement/list', {
         var type = ''
         // #ifdef PUB_CUSTOMER
         type = 'customer'
         // #endif
         // #ifdef PUB_SUPPLIER
         type = 'supplier'
         // #endif
         // #ifdef PUB_PARTNER
         type = 'partner'
         // #endif
         this.$http.request('get', '/api/pub/announcement/list/' + type, {
            params: {
               size: 5,
               // status: 'A'
               status: 'A'
            }
         }).then(res => {
            if (res.code === 0) {
@@ -301,6 +338,15 @@
      },
      methods: {
         clickBanner(item) {
            if (item.id) {
               uni.navigateTo({
                  url: '/pages/home/components/home-banner-detail?id=' + item.id
               })
            } else if (item.url) {
               this.previewImg(item.url)
            }
         },
         goToAddress() {
            if (!this.currentInfo.id) {
               this.$message.showToast('请先前往登录')