doum
15 小时以前 b902b40fda2f1dccca0825277d07908119deecfd
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>{{position.formatted_addresses.recommend}}</text>
               <text>{{position.formatted_addresses.recommend || '点击定位'}}</text>
               <u-icon name="arrow-right" color="#222222" size="13"></u-icon>
            </view>
         </view>
@@ -15,12 +14,12 @@
               bgColor="rgba(255,255,255,0.9)" :showAction="false" />
         </view>
         <view class="banner">
            <u-swiper :list="list" keyName="imgurl" height="150"></u-swiper>
            <u-swiper :list="list" keyName="imgurl" height="150" indicator indicatorMode="dot"></u-swiper>
         </view>
         <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" @click="jumpSearch(child, 1)">
                  <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" @click="jumpSearch(child, 2)">
                  <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>
@@ -51,15 +50,15 @@
         </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()
@@ -149,9 +152,13 @@
            })
         },
         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) {
@@ -195,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) : []
                  }
               })
         },
@@ -244,8 +251,12 @@
                  countInCurrentChunk = 0; // 重置计数器
               }
            }
            return result;
            if (result[1].length === 0) {
               return [result[0]]
            } else {
               return result;
            }
         },
         goToAppSetting() {
            var that = this;
@@ -277,7 +288,6 @@
                     latitude: res1.latitude,
                     longitude: res1.longitude
                  };
                  console.log(locParam)
                  const qqmapsdk = new QQMapWX({
                     key: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'
                  });
@@ -286,6 +296,7 @@
                     locParam,
                     success: function(res) {
                        console.log(res,  '==================index获取地址')
                        console.log(locParam)
                        that.$store.commit('setPosition', res.result)
                     },
                     fail: (err) => {
@@ -295,20 +306,20 @@
               }
            })
         },
         jumpSearch(row, type) {
            if (row) {
               if (type === 1) {
                  uni.navigateTo({
                     url: '/pages/search/search?categoryId=' + row.id
                  })
               } else {
                  uni.navigateTo({
                     url: '/pages/search/search?applicableBrandId=' + row.id
                  })
               }
         jumpSearch() {
            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'
                  url: '/pages/search/search?applicableBrandId=' + row.id
               })
            }
         }
@@ -380,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 {
@@ -500,6 +505,7 @@
               .commodity-item-image {
                  width: 100%;
                  height: 336rpx;
                  overflow: hidden;
                  display: flex;
                  align-items: center;
                  justify-content: center;
@@ -623,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;
@@ -651,6 +657,10 @@
               }
               text {
                  width: 100%;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  font-weight: 400;
                  font-size: 26rpx;
                  color: #333333;