MrShi
2 天以前 5e8f70caf25beb34657f34a7ee06e1e1ff541cdb
mini-program/pages/index/index.vue
@@ -1,12 +1,11 @@
<template>
   <view class="index">
      <view class="head" :style="{ height: 'calc(' + (navHeight + statusbarHeight + 'px + 248rpx)') }">
         <view :style="{ width: '100%', height: navHeight + statusbarHeight + 'px' }"></view>
         <view class="head-bar" :style="{ height: navHeight + statusbarHeight + 'px' }">
            <view :style="{ width: '100%', height: statusbarHeight + 'px' }"></view>
            <view class="head-bar-nav" :style="{ height: navHeight + 'px' }" @click="openLoacing">
               <image src="/static/icon/home_ic_location@2x.png" mode="widthFix"></image>
               <text>莲花科技创新产业园F座</text>
               <text>{{position.formatted_addresses.recommend || '点击定位'}}</text>
               <u-icon name="arrow-right" color="#222222" size="13"></u-icon>
            </view>
         </view>
@@ -20,7 +19,7 @@
         <u-scroll-list indicatorActiveColor="#004096">
            <view class="scroll-list">
               <view class="scroll-list__line" v-for="(item, index) in labels" :key="index">
                  <view class="cate-item" v-for="(child, index) in item" :key="index">
                  <view class="cate-item" v-for="(child, a) in item" :key="a" @click="jumpSearch1(child, 1)">
                     <view class="cate-item-image">
                        <image :src="child.imgUrl" mode="widthFix"></image>
                     </view>
@@ -35,7 +34,7 @@
         <u-scroll-list indicatorActiveColor="#004096">
            <view class="scroll-list" style="padding: 0;">
               <view class="scroll-list__line" v-for="(item, index) in brand" :key="index">
                  <view class="cate-item1" v-for="(child, index) in item" :key="index">
                  <view class="cate-item1" v-for="(child, a) in item" :key="a" @click="jumpSearch1(child, 2)">
                     <image :src="child.imgUrl" mode="widthFix"></image>
                     <text>{{child.name}}</text>
                  </view>
@@ -44,22 +43,22 @@
         </u-scroll-list>
         <view class="title">
            <view class="title-left">品质专区</view>
            <view class="title-right">
            <view class="title-right" @click="toZhuanqu">
               <text>更多</text>
               <u-icon name="arrow-right" color="#AAAAAA" size="10"></u-icon>
            </view>
         </view>
         <view class="quality">
            <view class="quality-item" @click="jumpShopZ(specialZone[0])">
               <image class="quality-item-image" :src="specialZone[0].imgUrl" mode="widthFix"></image>
               <image class="quality-item-image" :src="specialZone[0].imgUrl || '/static/icon/default2.png'" mode="widthFix"></image>
            </view>
            <view style="width: 22rpx; height: 100%;"></view>
            <view class="quality-item">
               <view class="quality-item-row" @click="jumpShopZ(specialZone[1])">
                  <image class="quality-item-row-image" :src="specialZone[1].imgUrl" mode="widthFix"></image>
                  <image class="quality-item-row-image" :src="specialZone[1].imgUrl || '/static/icon/default2.png'" mode="widthFix"></image>
               </view>
               <view class="quality-item-row" @click="jumpShopZ(specialZone[2])">
                  <image class="quality-item-row-image" :src="specialZone[2].imgUrl" mode="widthFix"></image>
                  <image class="quality-item-row-image" :src="specialZone[2].imgUrl || '/static/icon/default2.png'" mode="widthFix"></image>
               </view>
            </view>
         </view>
@@ -69,7 +68,7 @@
         <view class="commodity">
            <view class="commodity-item" v-for="(item, i) in goodsList" :key="i" @click="jumpDetails(item.id)">
               <view class="commodity-item-image">
                  <image :src="item.imgurl" mode="widthFix"></image>
                  <image :src="item.imgurl || '/static/icon/default2.png'" mode="widthFix"></image>
               </view>
               <view class="commodity-item-box">
                  <view class="commodity-item-box-title">
@@ -92,7 +91,7 @@
            </view>
         </view>
      </view>
      <view class="dingwei" v-if="!position">
      <view class="dingwei" v-if="isShow">
         <view class="dingwei-left">
            <text>未授权定位</text>
            <text>我们无法获得您当前位置信息为您推荐附近经销商</text>
@@ -114,7 +113,7 @@
         Login
      },
      computed: {
         ...mapState(['navHeight', 'statusbarHeight', 'position'])
         ...mapState(['navHeight', 'statusbarHeight', 'position', 'userInfo'])
      },
      data() {
         return {
@@ -130,11 +129,15 @@
            specialZone: [],
            goodsList: [],
            page: 1,
            next: true
            next: true,
            isShow: false
         }
      },
      async onLoad() {
         await this.$onLaunched;
         if (!this.position) {
            this.isShow = true
         }
         this.getBanner()
         this.getLabels()
         this.getGoodsList()
@@ -143,10 +146,19 @@
         this.getGoodsList()
      },
      methods: {
         toZhuanqu() {
            uni.navigateTo({
               url: '/pages/zhuanqu/zhuanqu'
            })
         },
         addCard(e) {
            if (!this.userInfo) {
               this.$refs.loginRef.open()
               return
            }
            this.$u.api.addCart({
               goodsId: e.id,
               goodsSkuId: e.skuResponsesList[0].id,
               goodsSkuId: e.goodsSkuResponseList[0].id,
               num: 1
            }).then(res => {
               if (res.code === 200) {
@@ -190,7 +202,7 @@
            this.$u.api.getGoodsLabelsByType({ type: 12 })
               .then(res => {
                  if (res.code === 200) {
                     this.specialZone = res.data
                     this.specialZone = res.data.length > 0 ? res.data.slice(0, 3) : []
                  }
               })
         },
@@ -239,8 +251,12 @@
                  countInCurrentChunk = 0; // 重置计数器
               }
            }
            return result;
            if (result[1].length === 0) {
               return [result[0]]
            } else {
               return result;
            }
         },
         goToAppSetting() {
            var that = this;
@@ -260,10 +276,19 @@
               highAccuracyExpireTime: 3000,
               isHighAccuracy: true,
               success: function(addr) {
               }
            });
         },
         openLoacing() {
            var that = this;
            uni.chooseLocation({
               success(res1) {
                  const locParam = {
                     latitude: addr.latitude,
                     longitude: addr.longitude
                     latitude: res1.latitude,
                     longitude: res1.longitude
                  };
                  console.log(locParam)
                  const qqmapsdk = new QQMapWX({
                     key: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'
                  });
@@ -271,19 +296,13 @@
                  qqmapsdk.reverseGeocoder({
                     locParam,
                     success: function(res) {
                        console.log(res, '==================获取地址');
                        console.log(res,  '==================index获取地址')
                        that.$store.commit('setPosition', res.result)
                     },
                     fail: (err) => {
                        console.error('获取位置失败===========', err);
                     }
                  });
               }
            });
         },
         openLoacing() {
            uni.chooseLocation({
               success(res) {
                  console.log(res)
               }
            })
         },
@@ -291,6 +310,18 @@
            uni.navigateTo({
               url: '/pages/search/search'
            })
         },
         jumpSearch1(row, type) {
            console.log(row)
            if (type === 1) {
               uni.navigateTo({
                  url: '/pages/search/search?categoryId=' + row.id
               })
            } else {
               uni.navigateTo({
                  url: '/pages/search/search?applicableBrandId=' + row.id
               })
            }
         }
      }
   }
@@ -360,12 +391,6 @@
         .head-bar {
            width: 100%;
            position: fixed;
            padding: 0 30rpx;
            box-sizing: border-box;
            top: 0;
            left: 0;
            z-index: 999;
            // background-color: #ffffff;
            .head-bar-nav {
@@ -380,10 +405,14 @@
               }
               text {
                  max-width: 400rpx;
                  font-weight: 500;
                  font-size: 32rpx;
                  color: #111111;
                  margin-right: 8rpx;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
               }
            }
         }
@@ -476,6 +505,7 @@
               .commodity-item-image {
                  width: 100%;
                  height: 336rpx;
                  overflow: hidden;
                  display: flex;
                  align-items: center;
                  justify-content: center;
@@ -599,14 +629,14 @@
            }
            .cate-item {
               width: calc(100vw / 4 - 96rpx);
               width: calc(100vw / 4 - 86rpx);
               height: auto;
               display: flex;
               flex-direction: column;
               align-items: center;
               justify-content: center;
               margin-bottom: 30rpx;
               margin-right: 96rpx;
               margin-right: 86rpx;
               &:last-child {
                  margin-right: 0 !important;
@@ -627,6 +657,10 @@
               }
               text {
                  width: 100%;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  font-weight: 400;
                  font-size: 26rpx;
                  color: #333333;