web 开发: 目录排序问题设计

2019-06-06 12:24:09 +08:00
 Mrkon
如题:
该功能类似与有道云笔记的笔记管理,特殊的点在于排序功能

1.我需要可以对文件夹或笔记进行随意排序.
2.将笔记移动到另一个文件夹下(在移动到其他文件夹下后也需要排序)


但是,排序结构我同一个简单粗暴的' ['1', '2', '3'] '结构存储 id 来保证笔记的排序. 这样的结构造成了较为麻烦的问题:
1.我必须在每一层文件夹下储存一次 [] 作为排序依据.
2.在排序时, 前端方面在给予后端的也是 ['1', '2'] 这样的结构. 特别是跨文件夹移动排序,前端获取 ['1', '2'] 较为麻烦.
3.在删除笔记时,我必须重新构建 ['', '']

我觉得这样设计很不优雅, 大家有什么好的经验吗? 希望能得到一些指点,先谢谢大家.
1589 次点击
所在节点    Python
4 条回复
thesharjah
2019-06-06 16:41:10 +08:00
没做过,说个想法仅供参考
设计两个字段,sort,sort_uptime
thesharjah
2019-06-06 16:54:56 +08:00
@thesharjah
嗯,貌似这样也不行
可以考虑链表的思想
https://www.v2ex.com/t/387001
HuasLeung
2019-06-06 16:58:40 +08:00
drag and drop 拖放方式,组件位置、属性交换
ebingtel
2019-06-06 17:07:12 +08:00
明白 lz 的意思……假如用的是关系型数据库,可以保存<article_id, folder_id, order_id>,每次顺序有改动,就调整该 folder_id 下的所有 article 的 article_id 即可…… insert into ... on duplicate key update ...order_id = VALUES(`order_id`)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/571458

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX