Finb / V2ex-Swift

An iOS client written in Swift for V2EX
MIT License
1.55k stars 223 forks source link

有没有可能把评论列表做成盖楼的样子 #56

Closed atjiu closed 6 years ago

atjiu commented 6 years ago

网站上有个js插件可以实现,不知道app里有没有可能做成,难度大不

我看现在app里已经实现了上下文的查看了

Finb commented 6 years ago

实现界面倒没难度,实现不了评论关联关系,有些情况会不确定

A: bala 1 A: bala 2 B: @A

B这条不能确定放在 bala1 还是 bala2下面,所以现在就是把这三条都列出来让看的人自行判断

atjiu commented 6 years ago

@Finb 我看了一下V2EXcellent.js 源码,它的做法是先找到第一个评论,第一个评论就是父级的

也就是说

A: bala1 A: bala2 B: @A balabala

那么处理后的结果就是

A: bala1 B: @A balabala A: bala2

另外那个脚本里还加了个辅助功能,用脚本的人回复别人的评论,会在前面加上一个 #楼层 这样它在找父级的时候,先找有 #楼层 的,然后再找评论里被提到的用户,也就是被 At 的

atjiu commented 6 years ago

另外,评论后要刷新才看到自己评论的记录,台否加上评论完后就直接验追加到评论列表里

Finb commented 6 years ago

这样有可能会让人困惑,比如回复的bala99,但是却显示在前面bala1下面了,上下文就错了 A: bala1 B: @A 回复 bala99 bala100 ... ... ... A: bala99

只有一部分情况下上下文关系是正确的, 还有一部分会让人误解, 树结构的话 前面加标记又可以解决一部分,但大多数人还是没有加标记的插件的。

如果树结构导致某些评论放错了位置,我个人觉得不如就线性结构把保证不会出错的关联大的列出来