在線商城項目11-商品列表頁的排序?qū)崿F(xiàn)

簡介

本篇主要目的如下:

  1. 實現(xiàn)商品列表頁的后端排序邏輯
  2. 前后端聯(lián)調(diào)排序邏輯

1. 實現(xiàn)商品列表頁的后端排序邏輯

分別啟動前后端項目,我們在瀏覽器打開商城地址,如下:



請求后臺接口會帶上三種排序參數(shù)default,priceDown和priceUp。另外,如果不帶參數(shù),我們默認(rèn)排序也是default。
這里,我們做一個簡單的處理,就是對于后端的處理邏輯,defalut和priceUp等價。當(dāng)然現(xiàn)實中,我們肯定是有一個復(fù)雜的算法,比如計算熱度啊,距離啊,或者最近瀏覽啊等等計算出一個默認(rèn)排序。
修改routes/goods.js如下:

/* GET goods */
router.get('/', function (req, res, next) {
    // 只有接口請求帶參數(shù)sort=priceDown才會按價格降序
    let sort = req.query['sort'] === 'priceDown'?-1:1;
    let query = Good.find({});
    query.sort({salePrice: sort});
    query.exec((err, doc) => {
        if (err) {
            res.json({
                code: '900',
                msg: err.message || '服務(wù)器錯誤'
            })
        } else {
            res.json({
                code: '000',
                msg: '',
                result: doc
            })
        }
    });
});

2. 前后端聯(lián)調(diào)排序邏輯


可以看到前端之前的邏輯并不需要改動。

總結(jié)

可以看到,前一節(jié)和本節(jié),對前端邏輯的調(diào)整基本沒有,僅僅將請求從mock換到真實后臺接口地址即可,這就是前后端分離的好處。
我們提交代碼:
six-tao-server

git status
git diff
git commit -am 'goodslist sort logic done'
git push
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡介 本篇,我們做一些商品列表頁的前端邏輯功能。 價格過濾列表的點擊邏輯 價格過濾列表的露出邏輯 排序點擊的邏輯 ...
    love丁酥酥閱讀 2,713評論 0 1
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,160評論 25 708
  • 2018年2月22日,今天上新年過后第一天上班,感覺說好不好,說壞不壞。早上開視頻會議,做一些雜七雜八的工作,由于...
    阿雪啊白閱讀 77評論 0 0
  • 愛是什么? 世界上最遠(yuǎn)的距離 不是 生與死的距離 而是 我站在你面前 你不知道我愛你 ...
    上管鴻影閱讀 460評論 2 1
  • 那年的車坐上了船十五六歲的年紀(jì)向南 向南花兒一樣的俏皮自由飛翔的心意我們在天上相遇你住進(jìn)我的心里我的眼是你的窗...
    XXKY閱讀 685評論 7 19

友情鏈接更多精彩內(nèi)容