Commit 98f2b622 authored by June's avatar June

优化滚动监听。

parent 77f88714
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
"path": "pages/home/index", "path": "pages/home/index",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTextStyle":"white" "navigationBarTextStyle":"white",
"enablePullDownRefresh": true,
"onReachBottomDistance": 45
} }
}, },
{ {
......
<template> <template>
<scroll-view <view
class="wrapper w-100" class="wrapper w-100"
scroll-y
@scroll="scrolling"
> >
<c-nav_bar <c-nav_bar
...@@ -151,7 +149,7 @@ ...@@ -151,7 +149,7 @@
<!-- 购物弹窗 --> <!-- 购物弹窗 -->
<goods-popup ref="popup" /> <goods-popup ref="popup" />
</scroll-view> </view>
</template> </template>
<script> <script>
...@@ -231,11 +229,13 @@ export default { ...@@ -231,11 +229,13 @@ export default {
image: goods_thumb ? `${this.baseUrl}/${goods_thumb}` : '' image: goods_thumb ? `${this.baseUrl}/${goods_thumb}` : ''
} }
}, },
methods: { onPageScroll: throttle(function(e) {
scrolling: throttle(function(e) { const scrollTop = e.scrollTop
const opacity = (e.detail.scrollTop / 375).toFixed(1) if(scrollTop > 400) return
const opacity = (scrollTop / 375).toFixed(1)
this.navBg = `rgba(255, 255, 255, ${opacity})` this.navBg = `rgba(255, 255, 255, ${opacity})`
}, 300), }, 300),
methods: {
// 富文本预览事件 // 富文本预览事件
preview(src, e) { preview(src, e) {
// do something // do something
...@@ -337,7 +337,6 @@ export default { ...@@ -337,7 +337,6 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import url("/components/parse/parse.css"); @import url("/components/parse/parse.css");
.wrapper { .wrapper {
height: 100vh;
margin-bottom: 98rpx; margin-bottom: 98rpx;
.swiper-wrap { .swiper-wrap {
position: relative; position: relative;
......
...@@ -50,34 +50,9 @@ function checkShowAll(Obj) { ...@@ -50,34 +50,9 @@ function checkShowAll(Obj) {
} }
} }
// 上拉加载更多
function scrolltolower() {
console.log('触底')
const cate_data = this.cate_data
if(this.checkShowAll(cate_data)) {
console.log('pass')
this.searchData()
}
}
function refresherrefresh() {
uni.showLoading({
title: '加载中...'
})
this.refresherTriggered = true
this.getStoreInfo()
this.getHomeCate()
let timer = setTimeout(() => {
this.refresherTriggered = false
uni.hideLoading()
timer = null
},500)
}
export default { export default {
searchData, searchData,
getHomeCate, getHomeCate,
checkShowAll, checkShowAll
scrolltolower,
refresherrefresh
} }
\ No newline at end of file
<template> <template>
<view> <view>
<!-- 顶部图片 -->
<image class="top-bg" src="/static/images/common/home-bg.png" mode="widthFix"></image>
<!-- 导航栏 -->
<c-nav_bar <c-nav_bar
:color="navColor" :color="navColor"
:title="storeInfo.shop_name" :title="storeInfo.shop_name"
:bg="navBg" :bg="navBg"
/> />
<scroll-view
style="height:100vh"
scroll-y
@scroll="scrolling"
@scrolltolower="scrolltolower"
refresher-enabled
:refresher-triggered="refresherTriggered"
@refresherrefresh="refresherrefresh"
>
<image class="top-bg" src="/static/images/common/home-bg.png" mode="widthFix"></image>
<view :style="{height: systemInfo.menuButtonInfo.bottom + 15 + 'px'}"></view> <view :style="{height: systemInfo.menuButtonInfo.bottom + 15 + 'px'}"></view>
<!-- 店铺信息 --> <!-- 店铺信息 -->
<view class="store-wrap"> <view class="store-wrap">
...@@ -178,7 +169,6 @@ ...@@ -178,7 +169,6 @@
</view> </view>
</template> </template>
</scroll-view>
<!-- 购物弹窗 --> <!-- 购物弹窗 -->
<goods-popup ref="popup" /> <goods-popup ref="popup" />
<button type="default" open-type="share" id="share"></button> <button type="default" open-type="share" id="share"></button>
...@@ -210,7 +200,6 @@ export default { ...@@ -210,7 +200,6 @@ export default {
searchList: [], searchList: [],
navBg: "rgba(255, 255, 255, 0)", navBg: "rgba(255, 255, 255, 0)",
navColor: '#fff', navColor: '#fff',
refresherTriggered: false
} }
}, },
...@@ -283,19 +272,8 @@ export default { ...@@ -283,19 +272,8 @@ export default {
}, 800) }, 800)
}, },
onShareAppMessage() { onPageScroll: throttle(function(e) {
return { const scrollTop = e.scrollTop
title: this.storeInfo.shop_name || ''
}
},
methods: {
...mapActions('cart', ['setCount']),
...mapActions('user', ['getStoreInfo']),
...indexModule,
scrolling: throttle(function(e) {
const scrollTop = e.detail.scrollTop
if(scrollTop > 100) { if(scrollTop > 100) {
uni.setNavigationBarColor({ uni.setNavigationBarColor({
frontColor: '#000000', frontColor: '#000000',
...@@ -316,6 +294,26 @@ export default { ...@@ -316,6 +294,26 @@ export default {
} }
}, 300), }, 300),
onShareAppMessage() {
return {
title: this.storeInfo.shop_name || ''
}
},
onReachBottom() {
console.log('触底')
const cate_data = this.cate_data
if(this.checkShowAll(cate_data)) {
console.log('pass')
this.searchData()
}
},
methods: {
...mapActions('cart', ['setCount']),
...mapActions('user', ['getStoreInfo']),
...indexModule,
purchase(e) { purchase(e) {
this.$refs.popup.show(e) this.$refs.popup.show(e)
}, },
......
...@@ -28,17 +28,8 @@ ...@@ -28,17 +28,8 @@
#### warning #### warning
+ 2021/6/29,本日起的代码可能会引起不适,but all can run(效率和质量不会成正比关系) + 2021/6/29,本日起的代码可能会引起不适,but all can run(效率和质量不会成正比关系)
#### 未完成
+ 支付
+ 订单管理
+ 订单详情
+ 精度处理
#### unFinish, but not important #### unFinish, but not important
+ 自定义的导航栏的样式计算可以在vuex中处理(wxs计算) + 自定义的导航栏的样式计算可以在vuex中处理(wxs计算)
+ 详情有个深拷贝的问题。暂时通过JSON.stringify()处理 + 详情有个深拷贝的问题。暂时通过JSON.stringify()处理
+ 所有的价格都是通过toFixed会可能出现精度问题。一般发现不了 + 所有的价格都是通过toFixed会可能出现精度问题。一般发现不了
+ 确认订单页面要跳到地址列表页面选择 + 确认订单页面要跳到地址列表页面选择
\ No newline at end of file
签收退款 + 退款成功状态显示
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment