商城購物車開發(fā)難度:整體中等,看你要做到什么程度
一句話總結(jié):基礎(chǔ)購物車不難;完整商用、多端同步、庫存 / 優(yōu)惠聯(lián)動的購物車屬于中等偏上,坑很多。
一、簡版購物車(新手 / 小 demo,難度?)
功能清單:
- 加入購物車、增減數(shù)量、刪除單品、全選 / 反選
- 本地存儲(瀏覽器 localStorage),不用登錄也能存
- 選中商品合計(jì)價(jià)格計(jì)算
特點(diǎn):
- 不用數(shù)據(jù)庫存購物車數(shù)據(jù),前端就能搞定
- 缺點(diǎn):換瀏覽器 / 清緩存就丟失,登錄后無法同步適用:演示網(wǎng)站、簡單產(chǎn)品展示,不推薦正式賣貨。
二、標(biāo)準(zhǔn)商用購物車(常規(guī)商城,難度???)
這是絕大多數(shù)商城用的方案,需要前后端配合核心能力:
- 未登錄:購物車存在瀏覽器本地;登錄后自動把本地購物車合并到數(shù)據(jù)庫
- 登錄用戶:購物車數(shù)據(jù)存在后端數(shù)據(jù)庫,換設(shè)備打開都能看到
- 基礎(chǔ)校驗(yàn):
- 加入購物車時(shí)校驗(yàn)庫存,不能超庫存加購
- 商品下架 / 價(jià)格變動,進(jìn)入購物車自動提示刷新價(jià)格
- 選中商品計(jì)算總價(jià)、支持勾選多個(gè)商品結(jié)算、跳轉(zhuǎn)下單頁
- 購物車列表:商品圖片、規(guī)格(顏色 / 尺寸)、單價(jià)、數(shù)量
技術(shù)要點(diǎn)
數(shù)據(jù)庫一般設(shè)計(jì):購物車表(用戶 ID、商品 ID、規(guī)格 ID、數(shù)量、選中狀態(tài)、創(chuàng)建時(shí)間)
注意:購物車不存實(shí)時(shí)商品名稱圖片,只存 ID,展示時(shí)關(guān)聯(lián)商品表查詢,避免商品改價(jià)后購物車數(shù)據(jù)錯亂。
難點(diǎn)(容易踩坑):
- 登錄前后購物車合并:本地購物車和數(shù)據(jù)庫購物車有相同商品時(shí),數(shù)量合并,不能重復(fù)新增
- 商品狀態(tài)實(shí)時(shí)校驗(yàn):商品下架、庫存不足、規(guī)格刪除,購物車要標(biāo)記失效商品,不能讓用戶結(jié)算
- 多規(guī)格處理:同一個(gè)商品多個(gè) SKU,購物車一條記錄對應(yīng)一個(gè) SKU,不能混在一起
三、高級購物車(復(fù)雜商城,難度????)
疊加營銷規(guī)則之后,難度明顯上升:
- 滿減、優(yōu)惠券、會員折扣、活動價(jià),購物車實(shí)時(shí)預(yù)計(jì)算優(yōu)惠(購物車價(jià)格只是預(yù)估價(jià),最終價(jià)格以訂單結(jié)算頁為準(zhǔn))
- 限時(shí)活動、秒殺商品購物車特殊限制(不能加購,或者加購保留很短時(shí)間)
- 多門店、多倉庫庫存、預(yù)售商品
- 購物車商品過期清理(比如保留 30 天,清理無效商品)
- 多端同步:小程序、APP、H5 商城共用一套購物車
- 批量操作、批量勾選、購物車推薦商品
重點(diǎn)坑:優(yōu)惠邏輯非常容易出 BUG,購物車只是預(yù)覽,真正計(jì)算優(yōu)惠一定要在結(jié)算頁重新計(jì)算,防止前端篡改價(jià)格。
四、開發(fā)工時(shí)參考(標(biāo)準(zhǔn)商用版)
- 前端:1~3 天(頁面、加減數(shù)量、本地存儲、合并邏輯)
- 后端:2~4 天(接口、數(shù)據(jù)庫、庫存校驗(yàn)、登錄合并、商品狀態(tài)校驗(yàn))
如果疊加優(yōu)惠、多 SKU,再多 2~3 天測試。
五、兩種選擇對比
- 自己從零開發(fā)優(yōu)點(diǎn):高度自定義;缺點(diǎn):需要前后端,還要處理庫存、合并、價(jià)格校驗(yàn),后期維護(hù)成本高。
- 用現(xiàn)成商城框架(CRMEB、ShopXO、CRUDAdmin 商城模塊等)? 推薦中小企業(yè):購物車、下單、支付全部內(nèi)置,直接用,幾乎不用自己寫購物車邏輯,只改頁面樣式。
六、額外提醒
購物車不等于訂單:購物車只是臨時(shí)收藏,鎖定庫存一般不在購物車做,通常是到提交訂單那一刻才鎖庫存。如果購物車就鎖庫存,很容易被惡意加購把庫存占死。




