例如 SegmentFalut 的标签这个页面:http://.com/tags
假设网站管理是可以手工安排各个标签的顺序的,那么数据库应该如何设计?修改顺序时的 API 请求应该如何设计?
index + modify_time
自己答一个我的想法。
数据库中,每个标签上储存一个实数,从小到大地标识标签的顺序。例如第一个标签是 -5, 排在第一个;第二个是 -2, 第三个是 0, 第四个是 4.
查询的时候很好办,直接按这个字段排序即可。
修改顺序的时候,请求的内容是类似于「将标签 A 置于 B 和 C 之间」这样的,然后后端把 A 的顺序设置为 B + (C - B) / 2
.