sys преди 2 години
родител
ревизия
0fd1dbc8bd
променени са 8 файла, в които са добавени 397 реда и са изтрити 147 реда
  1. 40 12
      components/dgex-tantan/dgex-tantan.vue
  2. 187 1
      package-lock.json
  3. 1 0
      package.json
  4. 5 1
      pages.json
  5. 10 0
      pages/index/index.vue
  6. 10 0
      pages/index/model/slide-item.vue
  7. 46 40
      pages/index/model/user-content.vue
  8. 98 93
      yarn.lock

+ 40 - 12
components/dgex-tantan/dgex-tantan.vue

@@ -7,9 +7,9 @@
 <!--     @longpress="longPress($event,currentIndex)"-->
 		<view
 
-			@touchmove.stop.capture="touchMove($event,currentIndex)"
-			@touchend.stop.capture="touchEnd(currentIndex)"
-      @touchstart.stop.capture="touchStart($event,currentIndex)"
+			@touchmove.stop="touchMove($event,currentIndex)"
+			@touchend.stop="touchEnd(currentIndex)"
+      @touchstart.stop="touchStart($event,currentIndex)"
           class="tantan-slide-box">
 			<template v-for="(item, index) in list">
 				<view class="tantan-slide-box-item"
@@ -25,7 +25,7 @@
 					 <!-- 加载图片会闪屏 双if避免 -->
 					<template v-if="currentIndex + visible >= index && currentIndex <= index">
             <view :animation="animationData"  class="tantan-slide-img-box"   :style="{height: winHeight + 'px'}">
-              <scroll-view class="tantan-slide-img-scroll-box" :bindscroll="endScroll"  :scroll-y="!ifLongTap" :style="{height: item.boxHeight + 'px',width:item.boxWidth+'px'}">
+              <scroll-view :enhanced="true"  :bounces="false" :show-scrollbar="false" refresher-default-style="none" class="tantan-slide-img-scroll-box" @scroll="endScroll"  :scroll-y="!ifLongTap" :style="{height: item.boxHeight + 'px',width:item.boxWidth+'px'}">
               <view class="img-list tantan-slide-img">
                   <swiper  :style="{height: item.boxHeight + 'px',width:item.boxWidth+'px'}" class="swiper" :current="item.imgIndex" :indicator-dots="false" :autoplay="false" :interval="0"
                            :duration="0">
@@ -101,7 +101,7 @@
 <script>
 	import tools from "@/service/tools";
   import UserContent from "@/pages/index/model/user-content";
-
+  import inobounce from "inobounce";
   export default {
 		name: "slide",
     components: {UserContent},
@@ -133,13 +133,12 @@
 				slideing: false,
 				love: 0,
 				dislike: 0,
-
         imgKey:0,
         overturnType:0,
         animationData:{},
-        animationIndex:0,
-        animationItem:{},
         ifLongTap: false,
+        isSlide:false,
+        slideServe:false,
       }
 		},
     watch:{
@@ -154,6 +153,15 @@
 
         this.setBox(this.currentIndex,1)
       }
+    },
+    created() {
+      let u = navigator.userAgent
+      if (u.indexOf('iPhone') > -1) {
+        inobounce.enable()
+      }
+    },
+    beforeDestroy() {
+      inobounce.disable()
     },
 		mounted() {
 			const res = uni.getSystemInfoSync()
@@ -276,11 +284,25 @@
 				return css
 			},
       endScroll(){
+        if(!this.isSlide){
+          this.isSlide=true
+          if(!this.slideServe){
+            this.slideServe=setTimeout(()=>{
+              this.isSlide=false
+              clearTimeout( this.slideServe)
+              this.slideServe=null
+            },50)
+          }
+        }
+
         console.log('滚动结束')
       },
 
 			touchStart(e, index) {
+        console.log(e)
+        console.log('外层滑动事件')
 				if (this.slideing) return;
+        if (this.isSlide) return
 				if (typeof this.list[index].x === 'undefined' && typeof this.list[index].y === 'undefined') {
 					this.$set(this.list[index], 'y', 0)
 					this.$set(this.list[index], 'x', 0)
@@ -294,6 +316,7 @@
 			touchMove(e, index) {
 
 				if (this.slideing) return
+				if (this.isSlide) return
 				// 滑动状态/最后一个就不滑动
 				if (this.list.length === index + 1) {
 					return;
@@ -305,17 +328,17 @@
         this.list[index].x = this.x.move - this.x.start
         this.list[index].y = this.y.move - this.y.start
         let moveX= Math.abs(this.list[index].x)
-        if(moveX>10){
+        if(moveX>30){
           this.ifLongTap=true
           this.setBox(this.currentIndex,2)
           let angleNum= this.getAngleNum(moveX)
           if (Number.parseInt(this.list[index].x) > 0) {
             this.love = Number.parseInt(this.list[index].x) / (100 * 2)
-            this.list[index].moveX=this.list[index].x - 10
+            this.list[index].moveX=this.list[index].x - 30
             this.list[index].angleNum=angleNum*-1
           } else {
             this.dislike = Math.abs(Number.parseInt(this.list[index].x) / (100 * 2))
-            this.list[index].moveX=this.list[index].x+10
+            this.list[index].moveX=this.list[index].x+30
             this.list[index].angleNum=angleNum
           }
         }
@@ -334,9 +357,10 @@
         if(this.ifLongTap){
           this.ifLongTap=false
         }
+        if (this.isSlide) return
 				if (this.slideing) return
 				this.swipering = false;
-				if (this.list.length == index + 1) {
+				if (this.list.length === index + 1) {
 					return;
 				}
 				if (
@@ -473,6 +497,8 @@
     height: 100%;
     border-radius: 20rpx;
     overflow: hidden;
+    -webkit-overflow-scrolling: touch;
+    overscroll-behavior: none;
     display: flex;
     justify-content: center;
     align-items: center;
@@ -481,6 +507,8 @@
       width: 100%;
       height: 100%;
       overflow: hidden;
+      -webkit-overflow-scrolling: touch;
+      overscroll-behavior: none;
       border-radius: 20rpx;
       transition: width 100ms,height 100ms;
     }

+ 187 - 1
package-lock.json

@@ -1,6 +1,187 @@
 {
+  "name": "lcoco",
+  "lockfileVersion": 2,
   "requires": true,
-  "lockfileVersion": 1,
+  "packages": {
+    "": {
+      "dependencies": {
+        "inobounce": "^0.2.1",
+        "jquery": "^3.6.4",
+        "uni-read-pages": "^1.0.5",
+        "uni-simple-router": "^2.0.7",
+        "uploading-oss": "^1.0.3"
+      },
+      "devDependencies": {
+        "@types/html5plus": "^1.0.2",
+        "@types/uni-app": "^1.4.4",
+        "vue-waterfall-easy": "^2.4.4"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.19.0",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
+      "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@types/html5plus": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.2.tgz",
+      "integrity": "sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag==",
+      "dev": true
+    },
+    "node_modules/@types/uni-app": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.4.tgz",
+      "integrity": "sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ==",
+      "dev": true,
+      "dependencies": {
+        "vue": "^2.6.8"
+      }
+    },
+    "node_modules/@vue/compiler-sfc": {
+      "version": "2.7.10",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz",
+      "integrity": "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/parser": "^7.18.4",
+        "postcss": "^8.4.14",
+        "source-map": "^0.6.1"
+      }
+    },
+    "node_modules/crypto-js": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
+      "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
+    },
+    "node_modules/csstype": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
+      "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
+      "dev": true
+    },
+    "node_modules/inobounce": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/inobounce/-/inobounce-0.2.1.tgz",
+      "integrity": "sha512-dmKhRDbUS3zGD8HDGchsZBuxaXnfFM+2jXrZpnEnBToEWCgcs3lBfCQe0wzkbpIoJwU/lufaMquSyWoX8OXTRw=="
+    },
+    "node_modules/jquery": {
+      "version": "3.6.4",
+      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz",
+      "integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ=="
+    },
+    "node_modules/js-base64": {
+      "version": "2.6.4",
+      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+      "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "node_modules/picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "dev": true
+    },
+    "node_modules/postcss": {
+      "version": "8.4.16",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+      "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss"
+        }
+      ],
+      "dependencies": {
+        "nanoid": "^3.3.4",
+        "picocolors": "^1.0.0",
+        "source-map-js": "^1.0.2"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/uni-read-pages": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz",
+      "integrity": "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==",
+      "hasInstallScript": true
+    },
+    "node_modules/uni-simple-router": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz",
+      "integrity": "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA=="
+    },
+    "node_modules/uploading-oss": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/uploading-oss/-/uploading-oss-1.0.3.tgz",
+      "integrity": "sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ==",
+      "dependencies": {
+        "crypto-js": "^4.1.1",
+        "js-base64": "^2.6.4"
+      }
+    },
+    "node_modules/vue": {
+      "version": "2.7.10",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
+      "integrity": "sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg==",
+      "dev": true,
+      "dependencies": {
+        "@vue/compiler-sfc": "2.7.10",
+        "csstype": "^3.1.0"
+      }
+    },
+    "node_modules/vue-waterfall-easy": {
+      "version": "2.4.4",
+      "resolved": "https://registry.npmjs.org/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz",
+      "integrity": "sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6.0.0",
+        "npm": ">= 3.0.0"
+      }
+    }
+  },
   "dependencies": {
     "@babel/parser": {
       "version": "7.19.0",
@@ -45,6 +226,11 @@
       "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
       "dev": true
     },
+    "inobounce": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/inobounce/-/inobounce-0.2.1.tgz",
+      "integrity": "sha512-dmKhRDbUS3zGD8HDGchsZBuxaXnfFM+2jXrZpnEnBToEWCgcs3lBfCQe0wzkbpIoJwU/lufaMquSyWoX8OXTRw=="
+    },
     "jquery": {
       "version": "3.6.4",
       "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz",

+ 1 - 0
package.json

@@ -1,5 +1,6 @@
 {
   "dependencies": {
+    "inobounce": "^0.2.1",
     "jquery": "^3.6.4",
     "uni-read-pages": "^1.0.5",
     "uni-simple-router": "^2.0.7",

+ 5 - 1
pages.json

@@ -70,7 +70,11 @@
       "path": "pages/index/index",
       "style": {
         "navigationBarTitleText": "",
-        "enablePullDownRefresh": false
+        "enablePullDownRefresh": false,
+        "app-plus": {
+          "bounce": "none",
+          "popGesture": "close"
+        }
       }
     },
     {

+ 10 - 0
pages/index/index.vue

@@ -19,6 +19,7 @@
 import IndexNav from "@/pages/index/model/index-nav";
 import AttachmentList from "@/pages/index/model/attachment-list";
 import SlideItem from "@/pages/index/model/slide-item";
+import inobounce from 'inobounce'
 export default {
   components: {SlideItem, AttachmentList, IndexNav},
   data() {
@@ -26,6 +27,15 @@ export default {
       tabNum:0
     }
   },
+  created() {
+    let u = navigator.userAgent
+    if (u.indexOf('iPhone') > -1) {
+      inobounce.enable()
+    }
+  },
+  beforeDestroy() {
+    inobounce.disable()
+  },
   methods: {
     setTabNum(tabNum){
       this.tabNum=tabNum

+ 10 - 0
pages/index/model/slide-item.vue

@@ -6,6 +6,7 @@
 
 <script>
 import tantan from '@/components/dgex-tantan/dgex-tantan.vue'
+import inobounce from "inobounce";
 export default {
   name: "slide-item",
   components: {
@@ -18,6 +19,15 @@ export default {
     }
   },
   watch: {},
+  created() {
+    let u = navigator.userAgent
+    if (u.indexOf('iPhone') > -1) {
+      inobounce.enable()
+    }
+  },
+  beforeDestroy() {
+    inobounce.disable()
+  },
   mounted() {
 
     this.change({'currentIndex':1})

+ 46 - 40
pages/index/model/user-content.vue

@@ -15,7 +15,7 @@
       </view>
     </view>
     <view class="user-wire"></view>
-    <view class="gift-box">
+    <view class="gift-box" @touchmove.stop="stopTouche" @touchend.stop="stopTouche"  @touchstart.stop="stopTouche">
       <view class="gift-title">
         <view class="gift-title-left sys-weight-600">心动礼物</view>
         <view class="gift-title-right">
@@ -23,7 +23,7 @@
           <image  class="gift-right-img"   mode="aspectFill" src="/static/img/index/right.png" ></image>
         </view>
       </view>
-      <view class="gift-list">
+      <view class="gift-list" id="gift-list" >
         <view class="gift-item" v-for="giftItem in giftList">
           <image  class="gift-item-img"  :class="{'gift-item-img-gray':giftItem.num<=0}"  mode="aspectFill" :src="giftItem.url" ></image>
           <view class="gift-num sys-color-white" v-if="giftItem.num>0">
@@ -33,54 +33,56 @@
           <view class="gift-but sys-background-yellow sys-color-black sys-weight-500" v-else>点亮</view>
         </view>
       </view>
-      <view class="dynamic-list">
-        <view class="dynamic-item" v-for="(item,itemIndex) in list">
-          <view class="dynamic-title">
-            <view class="dynamic-title-left">
-              <text class="dynamic-title-text sys-color-white sys-weight-400">12</text>
-              <text class="dynamic-title-text sys-color-white sys-weight-400">04月</text>
-              <text class="dynamic-title-text sys-color-white sys-weight-400">2020年</text>
+
+    </view>
+
+    <view class="dynamic-list">
+      <view class="dynamic-item" v-for="(item,itemIndex) in list">
+        <view class="dynamic-title">
+          <view class="dynamic-title-left">
+            <text class="dynamic-title-text sys-color-white sys-weight-400">12</text>
+            <text class="dynamic-title-text sys-color-white sys-weight-400">04月</text>
+            <text class="dynamic-title-text sys-color-white sys-weight-400">2020年</text>
+          </view>
+          <view class="dynamic-title-right">
+            <image  class="dynamic-right-img"   mode="aspectFill" src="/static/img/index/dynamic-all.png" ></image>
+          </view>
+        </view>
+        <view class="dynamic-data">
+          <view class="data-text">
+            <text class="text-item sys-color-white ">{{item.text}}</text>
+          </view>
+          <view class="data-img" v-if="item.img.length>0">
+            <view class="one-img" v-if="item.img.length===1">
+              <img-one :file-list="item.img"></img-one>
             </view>
-            <view class="dynamic-title-right">
-              <image  class="dynamic-right-img"   mode="aspectFill" src="/static/img/index/dynamic-all.png" ></image>
+            <view class="two-img" v-else-if="item.img.length===2 || item.img.length===4">
+              <img-two :file-list="item.img"></img-two>
             </view>
-          </view>
-          <view class="dynamic-data">
-            <view class="data-text">
-              <text class="text-item sys-color-white ">{{item.text}}</text>
+            <view class="three-img" v-else>
+              <img-three :file-list="item.img"></img-three>
             </view>
-            <view class="data-img" v-if="item.img.length>0">
-              <view class="one-img" v-if="item.img.length===1">
-                <img-one :file-list="item.img"></img-one>
-              </view>
-              <view class="two-img" v-else-if="item.img.length===2 || item.img.length===4">
-                <img-two :file-list="item.img"></img-two>
-              </view>
-              <view class="three-img" v-else>
-                <img-three :file-list="item.img"></img-three>
-              </view>
 
+          </view>
+          <view class="data-tag-list" 	>
+            <view class="data-tag" v-for="tag in item.tag">
+              <image  class="data-tag-img"   mode="aspectFill" :src="tag.icon" ></image>
+              <view class="data-tag-text sys-color-black-2 sys-weight-400">{{tag.text}}</view>
             </view>
-            <view class="data-tag-list">
-                <view class="data-tag" v-for="tag in item.tag">
-                  <image  class="data-tag-img"   mode="aspectFill" :src="tag.icon" ></image>
-                  <view class="data-tag-text sys-color-black-2 sys-weight-400">{{tag.text}}</view>
-                </view>
+          </view>
+          <view class="data-operation">
+            <view class="operation-item" @click="setLike(itemIndex)">
+              <image  class="operation-img"   mode="aspectFill" :src="'/static/img/index/like-'+(item.isLike?'ok':'no')+'.png'" ></image>
+              <view class="operation-text sys-color-white sys-weight-400">{{item.likeNum>0?item.likeNum:'点赞'}}</view>
             </view>
-            <view class="data-operation">
-              <view class="operation-item" @click="setLike(itemIndex)">
-                <image  class="operation-img"   mode="aspectFill" :src="'/static/img/index/like-'+(item.isLike?'ok':'no')+'.png'" ></image>
-                <view class="operation-text sys-color-white sys-weight-400">{{item.likeNum>0?item.likeNum:'点赞'}}</view>
-              </view>
-              <view class="operation-item">
-                <image  class="operation-img"   mode="aspectFill" src="/static/img/index/evaluate.png" ></image>
-                <view class="operation-text sys-color-white sys-weight-400">{{item.evaluateNum>0?item.evaluateNum:'评论'}}</view>
-              </view>
+            <view class="operation-item">
+              <image  class="operation-img"   mode="aspectFill" src="/static/img/index/evaluate.png" ></image>
+              <view class="operation-text sys-color-white sys-weight-400">{{item.evaluateNum>0?item.evaluateNum:'评论'}}</view>
             </view>
-
           </view>
 
         </view>
+
       </view>
     </view>
 
@@ -124,6 +126,10 @@ export default {
 
   },
   methods: {
+    stopTouche(){
+      // console.log('滑动事件阻止触发')
+      return false
+    },
     setLike(index){
       this.list[index].isLike=!this.list[index].isLike
       if(this.list[index].isLike){

+ 98 - 93
yarn.lock

@@ -3,107 +3,112 @@
 
 
 "@babel/parser@^7.18.4":
-  version "7.21.4"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
-  integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==
+  "integrity" "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw=="
+  "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz"
+  "version" "7.19.0"
 
 "@types/html5plus@^1.0.2":
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/@types/html5plus/-/html5plus-1.0.2.tgz#43e1aaca4584e7e2cf0db082389f42fbba98062c"
-  integrity sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag==
+  "integrity" "sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag=="
+  "resolved" "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.2.tgz"
+  "version" "1.0.2"
 
 "@types/uni-app@^1.4.4":
-  version "1.4.4"
-  resolved "https://registry.yarnpkg.com/@types/uni-app/-/uni-app-1.4.4.tgz#fe73d0e7c89d5e750605e088ff6695846e019c36"
-  integrity sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ==
+  "integrity" "sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ=="
+  "resolved" "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.4.tgz"
+  "version" "1.4.4"
   dependencies:
-    vue "^2.6.8"
+    "vue" "^2.6.8"
 
-"@vue/compiler-sfc@2.7.14":
-  version "2.7.14"
-  resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz#3446fd2fbb670d709277fc3ffa88efc5e10284fd"
-  integrity sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==
+"@vue/compiler-sfc@2.7.10":
+  "integrity" "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q=="
+  "resolved" "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz"
+  "version" "2.7.10"
   dependencies:
     "@babel/parser" "^7.18.4"
-    postcss "^8.4.14"
-    source-map "^0.6.1"
-
-crypto-js@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf"
-  integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
-
-csstype@^3.1.0:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
-  integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
-
-jquery@^3.6.4:
-  version "3.6.4"
-  resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.4.tgz#ba065c188142100be4833699852bf7c24dc0252f"
-  integrity sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==
-
-js-base64@^2.6.4:
-  version "2.6.4"
-  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
-  integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
-
-nanoid@^3.3.4:
-  version "3.3.6"
-  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
-  integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
-
-picocolors@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
-  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-postcss@^8.4.14:
-  version "8.4.21"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
-  integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
+    "postcss" "^8.4.14"
+    "source-map" "^0.6.1"
+
+"crypto-js@^4.1.1":
+  "integrity" "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
+  "resolved" "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz"
+  "version" "4.1.1"
+
+"csstype@^3.1.0":
+  "integrity" "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
+  "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz"
+  "version" "3.1.0"
+
+"inobounce@^0.2.1":
+  "integrity" "sha512-dmKhRDbUS3zGD8HDGchsZBuxaXnfFM+2jXrZpnEnBToEWCgcs3lBfCQe0wzkbpIoJwU/lufaMquSyWoX8OXTRw=="
+  "resolved" "https://registry.npmjs.org/inobounce/-/inobounce-0.2.1.tgz"
+  "version" "0.2.1"
+
+"jquery@^3.6.4":
+  "integrity" "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ=="
+  "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz"
+  "version" "3.6.4"
+
+"js-base64@^2.6.4":
+  "integrity" "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
+  "resolved" "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz"
+  "version" "2.6.4"
+
+"nanoid@^3.3.4":
+  "integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+  "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
+  "version" "3.3.4"
+
+"picocolors@^1.0.0":
+  "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+  "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
+  "version" "1.0.0"
+
+"postcss@^8.4.14":
+  "integrity" "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ=="
+  "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz"
+  "version" "8.4.16"
   dependencies:
-    nanoid "^3.3.4"
-    picocolors "^1.0.0"
-    source-map-js "^1.0.2"
-
-source-map-js@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
-  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-uni-read-pages@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
-  integrity sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==
-
-uni-simple-router@^2.0.7:
-  version "2.0.7"
-  resolved "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
-  integrity sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA==
-
-uploading-oss@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/uploading-oss/-/uploading-oss-1.0.3.tgz#87aaca65a4d2028f099f19ef9e45d412acf6e5e4"
-  integrity sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ==
+    "nanoid" "^3.3.4"
+    "picocolors" "^1.0.0"
+    "source-map-js" "^1.0.2"
+
+"source-map-js@^1.0.2":
+  "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+  "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
+  "version" "1.0.2"
+
+"source-map@^0.6.1":
+  "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+  "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+  "version" "0.6.1"
+
+"uni-read-pages@^1.0.5":
+  "integrity" "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA=="
+  "resolved" "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
+  "version" "1.0.5"
+
+"uni-simple-router@^2.0.7":
+  "integrity" "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA=="
+  "resolved" "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
+  "version" "2.0.7"
+
+"uploading-oss@^1.0.3":
+  "integrity" "sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ=="
+  "resolved" "https://registry.npmjs.org/uploading-oss/-/uploading-oss-1.0.3.tgz"
+  "version" "1.0.3"
   dependencies:
-    crypto-js "^4.1.1"
-    js-base64 "^2.6.4"
-
-vue-waterfall-easy@^2.4.4:
-  version "2.4.4"
-  resolved "https://registry.yarnpkg.com/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz#a990ef3f7f7eb88dedc5ef40e064c4e68908e84c"
-  integrity sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g==
-
-vue@^2.6.8:
-  version "2.7.14"
-  resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.14.tgz#3743dcd248fd3a34d421ae456b864a0246bafb17"
-  integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==
+    "crypto-js" "^4.1.1"
+    "js-base64" "^2.6.4"
+
+"vue-waterfall-easy@^2.4.4":
+  "integrity" "sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g=="
+  "resolved" "https://registry.npmjs.org/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz"
+  "version" "2.4.4"
+
+"vue@^2.6.8":
+  "integrity" "sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg=="
+  "resolved" "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz"
+  "version" "2.7.10"
   dependencies:
-    "@vue/compiler-sfc" "2.7.14"
-    csstype "^3.1.0"
+    "@vue/compiler-sfc" "2.7.10"
+    "csstype" "^3.1.0"