lin
2026-05-12 8871e7afdd529807d181b679287778c29a02ed0b
pages/index/index.vue
@@ -2,6 +2,20 @@
  <view class="page-container index">
    <image class="page-bg" src="@/static/imgs/index-top.png" mode="scaleToFill"></image>
    <view class="content" style="padding-bottom: 200rpx;">
      <!-- #ifdef APP-PLUS -->
      <view class="uni-popup" :style="{top:isNativeHead?'':StatusBar}" v-if="contactsFlag">
        <view class="ani uni-custom uni-popup__wrapper">
         <view class="uni-popup__wrapper-box">
           <view class="title">通讯权限</view>
           <view class="content">便于实现好友推荐、联系人同步等功能</view>
           <view class="btn-group">
            <button class="cancel-btn" @click="handleReject">拒绝</button>
            <button class="allow-btn" @click="handleAuthorize">允许</button>
           </view>
         </view>
        </view>
      </view>
      <!-- #endif -->
      <view class="hLogo">
         <view class="hLogoView">
            <view class="hLogo-1">
@@ -15,15 +29,77 @@
         </view>
      </view>
      <view class="cates" v-if="catesNavData" style="margin-top: 0;">
         <view class="cates-v" v-for="(item, index) in catesNavData" @tap="$util.goPages('/pages/catesList/catesList?catesId=' + item.id + '&title=' + item.title)">
      <!-- <view class="cates" v-if="catesNavData">
         <view class="cates-v" v-for="(item, index) in catesNavData" :key="item.id" @tap="$util.goPages('/pages/catesList/catesList?catesId=' + item.id + '&title=' + item.title)">
            <image class="cates-v-icon" :src="item.icon" mode=""></image>
            <view class="">{{item.title}}</view>
         </view>
         <view class="cates-v" @tap="$util.goSwitch('/pages/cates/cates')">
            <image class="cates-v-icon" src="/static/imgs/more.png" mode=""></image>
            <view class="">更多</view>
         </view>
      </view> -->
      <view v-if="catesNavData" style="padding: 0 30rpx;background-color: #ffffff;margin-top: 422rpx;">
         <uv-scroll-list indicatorColor="#fff0f0" indicatorActiveColor="#37AA25">
            <view class="cates-v" v-for="(item, index) in catesNavData" :key="item.id" @tap="$util.goPages('/pages/catesList/catesList?catesId=' + item.id + '&title=' + item.title)">
               <image class="cates-v-icon" :src="item.icon" mode="heightFix"></image>
               <view class="">{{item.title}}</view>
            </view>
         </uv-scroll-list>
      </view>
      <!-- <view class="ad1" @tap="$util.goPages('/pages/catesList/catesList?catesId=11' + '&title=' + '服装鞋包')">
         <image src="/static/imgs/ad1.png" mode=""></image>
      </view> -->
      <view class="ad2" @tap="$util.goPages('/pages/catesList/catesList?catesId=3' + '&title=' + '手机数码')">
         <image src="/static/imgs/ad2.png" mode=""></image>
      </view>
      <view class="d3-wrap">
         <view class="ad3" @tap="$util.goPages('/pages/catesList/catesList?catesId=2' + '&title=' + '家用电器')">
            <image src="/static/imgs/ad3.png" mode=""></image>
         </view>
         <view class="ad4" @tap="$util.goPages('/pages/catesList/catesList?catesId=4' + '&title=' + '美妆个护')">
            <image src="/static/imgs/ad4.png" mode=""></image>
         </view>
      </view>
      <!-- <view class="c-goods" v-if="hotCates" v-for="(item, index) in hotCates">
         <view class="ca-ad" v-if="index % 2 == 0">
            <image src="/static/imgs/c1.png" mode=""></image>
         </view>
         <view class="ca-ad" v-else>
            <image src="/static/imgs/c2.png" mode=""></image>
         </view>
         <view class="cGoods">
            <scroll-view class="scroll-view_H" scroll-x="true">
               <view class="scroll-view-item_H" v-for="(itm, index) in item.goods" @tap="$util.goPages('/pages/ginfo/ginfo?id=' + itm.id)">
                  <image lazy-load class="goods-icon" :src="itm.icon" mode=""></image>
                  <view class="goods-title">{{itm.title}}</view>
                  <view class="goods-price">
                     <view>¥</view>
                     <view class="red">{{itm.price}}</view>
                  </view>
               </view>
            </scroll-view>
         </view>
      </view> -->
      <!-- <view class="c-goods" v-if="hotGoods">
         <view class="cGoods">
            <scroll-view class="scroll-view_H" scroll-x="true">
               <view class="scroll-view-item_H" v-for="(itm, index) in hotGoods" @tap="$util.goPages('/pages/ginfo/ginfo?id=' + itm.id)">
                  <image lazy-load class="goods-icon" :src="itm.icon" mode=""></image>
                  <view class="goods-title">{{itm.title}}</view>
                  <view class="goods-price">
                     <view>¥</view>
                     <view class="red">{{itm.price}}</view>
                  </view>
               </view>
            </scroll-view>
         </view>
      </view> -->
      <view class="cateNav">
         <view class="cateNav-item" :class="{active:actIndex===index}" v-for="(item, index) in cateNavList" :key="index" @click="navClick(item,index)">
            <view class="cateNav-title">{{item.title}}</view>
@@ -47,7 +123,26 @@
            </view>
         </view>
      </view>
      <view class="login-desc" v-if="!userInfo" @tap="$util.goPages('../login/login')">
         <image class="login-icon" src="/static/imgs/logo-icon.png" mode=""></image>
         <view class="login-font">登录购有趣,打开美好生活</view>
         <view class="login-btn">立即登录</view>
      </view>
    </view>
    <uni-popup ref="popup2" type="center" :is-mask-click="false">
      <view class="popup-content">
        <view class="edu-view edu-view2">
          <view class="edu-view-desc2">认证领取额度</view>
          <image class="edu-icon-succ" src="/static/imgs/auths.png" mode=""></image>
          <view class="edu-view-desc3">
            请您先认证个人信息,然后立即领取额度
          </view>
          <view class="edu-btns" @tap="go_auth">立即领取</view>
          <!-- <view class="edu-btns" @tap="$util.goPages('/pages/idcard/idcard')">立即领取</view> -->
        </view>
      </view>
    </uni-popup>
  </view>
</template>
@@ -72,11 +167,12 @@
  },
  data() {
    return {
      indicator: true,
      contactsFlag: false,
      staHeight: 0,
      paddingHeight: 0,
      indicatorDots: true,
      indicatorColor: '#e3b400',
      indicatorColor: '#37AA25',
      indicatorActiveColor: '#ffffff',
      autoplay: true,
      interval: 3000,
@@ -98,15 +194,15 @@
      goodsData: [],
      cateNavList: [
         {
            title: '精选',
            desc: '猜你喜欢',
            skey: '手机数码',
            catesId: 11,
         },{
            title: '人气',
            desc: '好物精选',
            skey: '家用电器',
            catesId: 2,
         },{
            title: '精选',
            desc: '猜你喜欢',
            skey: '服装鞋包',
            catesId: 15,
         },{
            title: '休闲',
            desc: '天天低价',
@@ -131,8 +227,7 @@
   // #endif
  },
  created() {
     this.actIndex = 0;
     this.catesId = 11;
      this.catesId = this.cateNavList[0]['catesId']
     this.catesGoods()
  },
  onLoad() {
@@ -352,11 +447,11 @@
      }
      .cateNav-item.active {
         .cateNav-title {
            color: #4766FE;
            color: #37AA25;
         }
         .cateNav-desc {
            color: #ffffff;
            background-color: #4766FE;
            background-color: #37AA25;
            border-radius: 50rpx;
            padding: 12rpx 0;
         }