绿满眶商城微信小程序-uniapp
peng
2025-06-27 b6b1a34a610795ed5ea8dd8658955ea4c9a0d401
Merge remote-tracking branch 'origin/dev' into dev
7个文件已修改
85 ■■■■■ 已修改文件
components/custom-tabbar.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/health/healthVideo.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/kitchen/KitchenVideo.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/tabbar/cart/cartList.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/tabbar/index/home.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/tabbar/user/utils/tool.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/video/video-play.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/custom-tabbar.vue
@@ -1,17 +1,11 @@
<!-- components/custom-tabbar.vue -->
<template>
  <view class="custom-tabbar" :style="{backgroundColor: bgColor}">
    <view
      v-for="(item, index) in list"
      :key="index"
      class="tabbar-item"
      @click="switchTab(item)"
    >
      <image
        :src="selected === item.key ? item.selectedIconPath : item.iconPath"
        :class="{'tabbar-icon': true, 'video-add': item.key == 'video'}"
      />
      <text class="tabbar-text" v-if="item.text" :style="{color: selected === item.key ? selectedTextColor : color}">
    <view class="custom-tabbar" :style="{backgroundColor: bgColor, marginBottom: marginBottom + 'px'}">
        <view v-for="(item, index) in list" :key="index" class="tabbar-item" @click="switchTab(item)">
            <image :src="selected === item.key ? item.selectedIconPath : item.iconPath"
                :class="{'tabbar-icon': true, 'video-add': item.key == 'video'}" />
            <text class="tabbar-text" v-if="item.text"
                :style="{color: selected === item.key ? selectedTextColor : color}">
        {{item.text}}
      </text>
    </view>
@@ -38,8 +32,8 @@
  data() {
    return {
      color: '#999999',
      list: [
            {
                marginBottom: 0,
                list: [{
                "pagePath": "/pages/tabbar/index/home",
                "iconPath": "/static/tabbar/home.png",
                "selectedIconPath": "/static/tabbar/home-s.png",
@@ -78,6 +72,10 @@
      ]
    }
  },
        created() {
            console.log("底部安全区域", uni.getSystemInfoSync().safeAreaInsets);
            this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
        },
  methods: {
    switchTab(item) {
        console.log("执行力", item);
@@ -110,10 +108,12 @@
  align-items: center;
  justify-content: center;
}
.video-add {
  width: 30px !important;
  height: 30px !important;
}
.tabbar-icon {
  width: 24px;
  height: 24px;
pages/health/healthVideo.vue
@@ -53,6 +53,7 @@
                @touchstart.stop="handleTouchStart"
                @touchmove.stop="handleTouchMove"
                @touchend.stop="handleTouchEnd"
                :style="{bottom: marginBottom + 'px'}"
                class="container">
                <!-- 进度条 - 整个区域可拖动 -->
                <view class="process-warp" :style="{ opacity: showProcess ? 1 : 0 }">
@@ -118,7 +119,7 @@
        <!-- 视频信息层 -->
        <view class="video-info">
        <view class="video-info" :style="{bottom: marginBottom + 20 + 'px'}">
          <view>
              <text class="video-author">@{{item.authorName}}</text>
          </view>
@@ -325,7 +326,8 @@
            pageNumber: 1,
            pageSize: 10,
            videoFrom: 'recommend'
        }
        },
        marginBottom: 0 // 底部安全区域
    }
  },
  onShow() {
@@ -347,6 +349,7 @@
      this.startHidenTime = Date.now()
  },
  onLoad(option) {
      this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
      const token = storage.getAccessToken();
      if (! token) {
          this.wxSilentLogin(() => {
pages/kitchen/KitchenVideo.vue
@@ -56,6 +56,7 @@
              @touchstart.stop="handleTouchStart"
              @touchmove.stop="handleTouchMove"
              @touchend.stop="handleTouchEnd"
              :style="{bottom: marginBottom + 'px'}"
              class="container">
            <!-- 进度条 - 整个区域可拖动 -->
            <view class="process-warp" :style="{ opacity: showProcess ? 1 : 0 }">
@@ -121,7 +122,7 @@
        <!-- 视频信息层 -->
        <view class="video-info">
        <view class="video-info" :style="{bottom: marginBottom + 20 + 'px'}">
          <view>
            <text class="video-author">@{{item.authorName}}</text>
          </view>
@@ -349,7 +350,8 @@
        pageSize: 6,
        videoFrom: 'recommend',
        videoType: 'cook'
      }
      },
      marginBottom: 0 // 底部安全区域
    }
  },
  onShow() {
@@ -365,6 +367,7 @@
    this.startHidenTime = Date.now()
  },
  onLoad() {
    this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
      // 获取状态栏高度
      const systemInfo = uni.getSystemInfoSync();
      this.buttonHeight = systemInfo.statusBarHeight;
@@ -963,7 +966,6 @@
.video-item {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.play-icon {
pages/tabbar/cart/cartList.vue
@@ -6,7 +6,7 @@
      </div>
    </u-navbar> 
    <!-- 空白页-->
    <view v-if="!loading && (cartDetail.cartList == '' || cartDetail.cartList == [] || !cartDetail)" class="empty">
    <view v-if="!loading && (cartDetail.cartList == '' || cartDetail.cartList == [] || !cartDetail)" class="empty"  :style="{height: windowHeight - marginBottom - 50 + 'px'}">
      <image src="/static/emptyCart.png" mode="aspectFit"></image>
      <view class="empty-tips">
        空空如也
@@ -14,7 +14,7 @@
      </view>
    </view>
    <!-- 店铺商品信息 -->
    <div class="content">
    <div class="content" :style="{height: windowHeight - marginBottom - 50 + 'px'}">
      <div class="box box2" :class="{ invalid: isInvalid(item) }" v-for="(item, index) in cartDetail.cartList"
        :key="index">
        <view class="tab">
@@ -126,7 +126,7 @@
    <u-modal v-model="deleteShow" :confirm-style="{'color':lightColor}" @confirm="deleteConfirm" show-cancel-button
      :content="deleteContent" :async-close="true"></u-modal>
    <!-- 结账 -->
    <div class="box box6">
    <div class="box box6" :style="{bottom: marginBottom + 50 + 'px'}">
      <view class="navL">
        <u-checkbox shape="circle" :active-color="lightColor" v-model="checkout" @change="checkOut()" label-size="24">全选
        </u-checkbox>
@@ -219,10 +219,14 @@
      isEdit: false, // 是否是编辑
      checkout: false, //全选按钮
      WEIXIN_num: "", //购物车兼容微信步进器
      marginBottom: 0 ,// 底部安全区域
      windowHeight: 0 // 可使用屏幕高度
    };
  },
  mounted() {
      this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
      this.windowHeight = uni.getSystemInfoSync().windowHeight
    // #ifdef MP-WEIXIN
    // 小程序默认分享
    uni.showShareMenu({ withShareTicket: true });
pages/tabbar/index/home.vue
@@ -53,6 +53,7 @@
                @touchstart.stop="handleTouchStart"
                @touchmove.stop="handleTouchMove"
                @touchend.stop="handleTouchEnd"
                :style="{bottom: marginBottom + 'px'}"
                class="container">
                <!-- 进度条 - 整个区域可拖动 -->
                <view class="process-warp" :style="{ opacity: showProcess ? 1 : 0 }">
@@ -118,7 +119,7 @@
        <!-- 视频信息层 -->
        <view class="video-info">
        <view class="video-info" :style="{bottom: marginBottom + 20 + 'px'}">
          <view>
              <text class="video-author">@{{item.authorName}}</text>
          </view>
@@ -326,7 +327,8 @@
            pageNumber: 1,
            pageSize: 10,
            videoFrom: 'recommend'
        }
        },
        marginBottom: 0 // 底部安全区域
    }
  },
  onShow() {
@@ -348,6 +350,7 @@
      this.startHidenTime = Date.now()
  },
  onLoad(option) {
      this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
      const token = storage.getAccessToken();
      if (! token) {
          this.wxSilentLogin(() => {
pages/tabbar/user/utils/tool.vue
@@ -52,11 +52,6 @@
                        <view>我的活动</view>
                    </view>
                    <view class="interact-item" @click="navigateTo('/pages/mine/activity/reportActivity')">
                        <image src="/static/mine/shensu.png" mode=""></image>
                        <view>活动</view>
                    </view>
                    <view class="interact-item" @click="navigateTo('/pages/mine/myCollect/myCollect')">
                        <image src="/static/mine/shensu.png" mode=""></image>
                        <view>我的收藏</view>
@@ -88,10 +83,10 @@
                    <view class="interact-item" @click="navigateTo('/pages/mine/signIn')">
<!--                     <view class="interact-item" @click="navigateTo('/pages/mine/signIn')">
                        <image src="/static/mine/sign.png" mode=""></image>
                        <view>每日签到</view>
                    </view>
                    </view> -->
                    <view class="interact-item" @click="navigateTo('/pages/cart/coupon/couponCenter')">
                        <image src="/static/mine/couponcenter.png" mode=""></image>
@@ -100,10 +95,10 @@
                    <view class="interact-item" @click="navigateTo('/pages/promotion/bargain/log')">
<!--                     <view class="interact-item" @click="navigateTo('/pages/promotion/bargain/log')">
                        <image src="/static/mine/kanjia.png" mode=""></image>
                        <view>砍价记录</view>
                    </view>
                    </view> -->
pages/video/video-play.vue
@@ -18,7 +18,7 @@
        @touchmove="handleSwiperMove"
        @touchend="handleSwiperEnd(item)"
         >
          <view style="width: 100%;height: 100%;" v-if="item.videoContentType === 'video'">
          <view :style="{width: '100%', height: windowHeight - marginBottom + 'px'}" v-if="item.videoContentType === 'video'">
                <!-- 播放按钮(仅当视频暂停时显示) -->
                <view 
                  class="play-icon" 
@@ -319,7 +319,9 @@
            pageSize: 10,
            authorId: '',
            videoFrom: ''
        }
        },
        marginBottom: 0, // 底部安全区域
        windowHeight: 0 // 可使用屏幕高度
    }
  },
  onShow() {
@@ -340,6 +342,8 @@
      
  },
  onLoad(option) {
      this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
      this.windowHeight = uni.getSystemInfoSync().windowHeight
      const playInfo = uni.getStorageSync("playInfo", playInfo);
      if(playInfo) {
          this.currentIndex = playInfo.playIndex;
@@ -951,7 +955,7 @@
    .video-info {
      width: 70%;
      position: absolute;
      bottom: 20px;
      bottom: 40px;
      left: 20px;
      color: #f8f8f8;
      z-index: 10;
@@ -1294,7 +1298,7 @@
      flex-direction: column;
      align-items: center;
      position: absolute;
      bottom: 0;
      bottom: 20px;
      width: 100%;
    }