<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    購物車優化建議

    管理 管理 編輯 刪除

    目前是每次點擊底部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}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    2039
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服