在线商城项目11-商品列表页的排序实现

简介

本篇主要目的如下:

  1. 实现商品列表页的后端排序逻辑
  2. 前后端联调排序逻辑

1. 实现商品列表页的后端排序逻辑

分别启动前后端项目,我们在浏览器打开商城地址,如下:



请求后台接口会带上三种排序参数default,priceDown和priceUp。另外,如果不带参数,我们默认排序也是default。
这里,我们做一个简单的处理,就是对于后端的处理逻辑,defalut和priceUp等价。当然现实中,我们肯定是有一个复杂的算法,比如计算热度啊,距离啊,或者最近浏览啊等等计算出一个默认排序。
修改routes/goods.js如下:

/* GET goods */
router.get('/', function (req, res, next) {
    // 只有接口请求带参数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 || '服务器错误'
            })
        } else {
            res.json({
                code: '000',
                msg: '',
                result: doc
            })
        }
    });
});

2. 前后端联调排序逻辑


可以看到前端之前的逻辑并不需要改动。

总结

可以看到,前一节和本节,对前端逻辑的调整基本没有,仅仅将请求从mock换到真实后台接口地址即可,这就是前后端分离的好处。
我们提交代码:
six-tao-server

git status
git diff
git commit -am 'goodslist sort logic done'
git push
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简介 本篇,我们做一些商品列表页的前端逻辑功能。 价格过滤列表的点击逻辑 价格过滤列表的露出逻辑 排序点击的逻辑 ...
    love丁酥酥阅读 7,475评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,576评论 25 709
  • 2018年2月22日,今天上新年过后第一天上班,感觉说好不好,说坏不坏。早上开视频会议,做一些杂七杂八的工作,由于...
    阿雪啊白阅读 606评论 0 0
  • 爱是什么? 世界上最远的距离 不是 生与死的距离 而是 我站在你面前 你不知道我爱你 ...
    上管鸿影阅读 3,012评论 2 1
  • 那年的车坐上了船十五六岁的年纪向南 向南花儿一样的俏皮自由飞翔的心意我们在天上相遇你住进我的心里我的眼是你的窗...
    XXKY阅读 3,785评论 7 19

友情链接更多精彩内容