全部
常见问题
产品动态
精选推荐

购物车优化建议

管理 管理 编辑 删除

目前是每次点击底部tab都向服务器获取一遍购物车列表,哪怕用户近期没有加入或者减少购物车行为,每次主观上故意点击或者误点都是无效行为,白白消耗服务器资源。。。。

我只是做个臆,想假设有同行搞你。自己搞自己测试了一下,手机上安装个点击软件,几十毫秒点一下,反复点击底部tab各种页面跳转各种点击,就会反复请求,我测试了一下很快服务器内存和cpu就爆满了。。。当然你可以在服务器端安装防火墙防护


我下面讲的只是针对购物车的优化(购物车页,和商品分类的那个购物车组件cartList都适用)

给购物车 定义一个刷新开关 可以放在全局app里,或者缓存里。。。

①初次打开购物车页面~onLoad() 获取最新购物车列表,获取成功回调uin.setStorageSync(“cart”,false) 关闭购物车自动刷新开关


②后期  每次打开购物车时  

show()检查 如果uni.getStorageSync(“cart”) 为false

则不进行购物车刷新操作,不请求服务器,反复多次点击都不进行任何操作。节省服务器资源



③在组件productWindow,cartList 监测到用户有加购行为,则 uin.setStorageSync(“cart”,true) 开启购物车刷新开关


④再次打开购物车列表时

show()检查,如果uni.getStorageSync(“cart”) 为true 则 刷新获取一遍最新购物车列表,

成功回调 uin.setStorageSync(“cart”,false) ,关闭购物车刷新开关

这样就实现了 按需要刷新。




还有一点,现在购物车 -   + 点击起来不够顺滑,点快点就很卡顿,影响体验。虽然函数节流防抖可以防止客户恶意快速点击,但确实影响体验。


这方面的优化建议

首先每次点击 -  + 操作时 ,

优先在本地用户端实时计算 购物车总数

that.cartCount++;

wx.setTabBarBadge({index: 2,text: this.count + ''})


和 对应的  sku购物车数量

item.cart_num = Number(item.cart_num) + 1

便他怎么点击使劲点都不请求服务器,只优先本地计算 眼睛看得见的数据,视觉上感觉非常丝滑 。。。。


然后把 函数节流防抖 只针对修改购物车的的请求接口setCartNum上

78e78202304181005187855.png

那个pro版有一些优惠规则

①看看能不能把那个优惠规则也放到本地实时计算,然后500毫秒内只执行最后一次点击的时候向服务器效验一遍,返回最新数据

②如果优惠规则放本地计算行不通的话,

那就点击 - + 的时候,getTotalPrice实时计算优惠前的金额显示在那里(或者金额那里改成一个计算中的加载动画),优惠后的金额 在节流函数Debounce 请求服务器后 再返回数据


请登录后查看

浮云先生 最后编辑于2023-04-18 10:19:24

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
1453
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服