目前在开发搜索页面的业务逻辑。由于之前很少做接口,现在业务逻辑有点不大明白。希望大神能说说具体的业务逻辑,解决我的顾虑(比如销量排序:如何做到升序和降序,是用变量控制用户是点击升序还是降序?是不是每次点击的时候都要去后端请求一次接口?)。
接口文档如下:
目前在开发搜索页面的业务逻辑。由于之前很少做接口,现在业务逻辑有点不大明白。希望大神能说说具体的业务逻辑,解决我的顾虑(比如销量排序:如何做到升序和降序,是用变量控制用户是点击升序还是降序?是不是每次点击的时候都要去后端请求一次接口?)。
接口文档如下:
需要每次想后台请求接口的,比如说销量,这个是实时变化的,可能下一次请求的时候数据就变了。价格这个排序,假如第一次是升序,下一次是降序,数据量只有一页的时候可以在本地排序,但是当数据量超过一页,其余数据还未获取的时候,本地排序的数据就是错的了。
10 回答11.1k 阅读
15 回答8.3k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
如果你只是问单纯的是否要去后端请求接口, 那么答案是"是的"
说到业务逻辑怎么实现的问题, 根据你系统的复杂程度, 会采用不同的方法
首先, 考虑到会对这种问题感觉到困惑, 想必这个系统的数据规模肯定还没有上去并且你是第一次接触此类业务的开发, 在这种情况下, 首先可以考虑直接采用数据库的内建的排序 (在数据规模只有几万以及以下, 或者系统毫无访问压力的情况下可以考虑), 你可以从前端传一个排序字段到后端, 后端使用数据库的 order by 语句进行排序
(注意不要直接采用前端的值, 防止SQL注入!)
到数据上一定规模的之后, 你可能需要考虑给这个排序字段来设计索引提高性能
再后面, 数据和访问压力更上一个规模之后, 你开始需要考虑采用搜索引擎的技术(elasticsearch, solr, sphinx, xunsearch等)来设计一个索引, 并用这个索引来进行排序