先随便聊聊
这几天准备开学了。上个寒假如同以往,没有完成想象中的很多任务,时间管理有点欠缺。本来想学锡焊但又懒得买工具了,这一拖也就不知多久了,那就先放放吧。这些日子主要是写代码了。
一开始重构 bili-auth 项目,弄了个 OAuth 2.0 的支持,现在看着勉强能用了,之前的 API 太简陋了我自己都不想花功夫接入,毕竟什么都要自己实现怪累人的。现在只需要按照 OAuth 2.0的标准弄好即可,也不复杂。内部关于鉴权的细节都不必暴露了,client 只需关心跳转到 OAuth Center,然后处理下回调即可。
搞上面这个的动力之一,便是我想给博客加上可以登录的评论系统。当然我为什么执着于“记名”的评论,这个下面说吧。总之,给自己的博客系统修修补补,增加了独立的评论功能(略微有点麻烦)。
现在感觉自己又有长进了... 正在逐渐适应用 git 这个强大的工具管理自己的项目。以前用命令行操作 git 感觉是天方夜谭,现在也慢慢熟悉了。不过,现在这段时间还是偏爱 GitHub Desktop ,如同不会用命令行时。
关于评论系统

博客加入评论功能有十几天了吧,这是现在的评论系统。当然,不止这几个 OAuth ,会尽快加入 Email 登录。
我设计自己的评论功能,正如同我开发了自用的博客系统一样,因为我需要一些特殊的特性与功能,与其拿现成的改,不如直接撸一个不一样的轮子,顺便锻炼自己开发能力。
为何必须登录
- 让评论者能够自助删除自己的评论。这个其实是为我这样的人设计的,发了评论之后生怕自己说错了什么,或者纯粹是觉得某条评论有点尴尬。
- 减少垃圾评论。事实上提高了评论门槛,减少了我这样本就门可罗雀的小站,访客评论的欲望。不过与其是充斥垃圾评论,我个人倾向于少量的真实讨论。以后也会加入验证码功能。
bili-auth 项目写好了想找个地方试试。其实这才是直接目的来着。- 提高评论者对自己评论负责的意识。我不知道像大多数博客的评论区,填写信息无需多加验证,会不会有些疏漏。个人博客作为如今已经没有什么人访问的地方,它们的评论区大多有不错的氛围。我这样... 似乎对评论者太过于提防了。大部分评论者都是友善的,但防人之心不可无嘛,而且验证也不是太复杂。指不定我以后写点背道而行的,招来了不怀好意的人呢。就这样吧。
回复功能的设计

以下的有些概念可能是我自创的,不过都是顾名思义,这里就不做解释了。
我限制了回复层级为一层,就和 B站 和 知乎 一样,有楼中楼,没有楼中楼中楼。 至于多层回复,Disqus 和 Reddit 便是支持多层回复的例子。个人感受,逻辑是很清晰的,就像编程语言中语句块的嵌套缩进。但问题也和后者一样,嵌套过多了看着就很乱了,且若是层数多了左边空间会很大,在移动设备上问题尤为明显。因此,二级评论就不再继续缩进了,与这一层的回复评论并列。
二级以上的评论,由于显示时失去层级关系,故在头部加上回复的评论号。在这样的处理中有几种方案:
- 知乎:在评论头加入回复的用户名。若是A用户向B用户发送了多个评论,这些评论并非递进而是并列,此时B用户回复时只能指定回复对象,而不是回复的具体评论。虽然说这样的场景并不常见,但我比较倾向针对某条回复,而不是某个人。
- B站:在评论正文前加上“回复 @某人”。这样除了上述问题外,还因为回复对象声明和正文并列(且格式相同,这意味着可以在正文中仿造这样的回复声明,类似于欺骗人眼的 SQL 注入),造成了“虚空索敌”的可能。
别的设计比较普通。比如说评论右边的序号,每一个评论都有序号,主要是方便在数据库中存储(这样方便线性储存一个树结构,每个评论带有自己的编号和回复对象的编号)。另外不同于B站删除一个根评论(直接从属于评论列表,如图中 #1)后底下的子评论都被删除,原评论下的一级回复将晋升为一个个根评论,二级评论晋升为一级评论,以此类推。匿名评论,也不多说了,就是字面意思。
后端返回的时间戳,精确到12分钟。因为过于精确的时间戳可能会暴露很多信息。
评论政策,与我的想法
加入评论系统后,我写了一个评论政策。我希望能够给评论区营造友好、自由的讨论氛围。在上述政策中,我只是阐述了应该怎么做,没有说明为什么。那我就在这里随便写写,我关于管理评论区的一些原则和思考。
我推崇自由发言,我不会限制与我观点不同的声音。我无法保证我的观点与所有人相同,因此难免有矛盾和辩论。在遇到冲突时我主张友好讨论,若是发现分歧的原因是价值观不同之类的,那就互相尊重。毕竟我也不能强求任何人接受我的看法。自由发言,在某地目前形势下还是挺有阻力的。删评控评现象太普遍,政治正确审核太严重。这也是我开发自己的评论系统的一大目的,以后我会加上针对政治不正确评论的保护(不是优待),让评论者能够稍微放下顾忌。
另外,我也在评论政策中穿插了很多内容,尽力维护友善的讨论氛围。我希望讨论的过程中能多点宽容和尊重。自我感觉,我自己近两年的言论变化还是挺大的。以前还是挺容易因为网上的很多言论生气,和别人对喷的。再过不久是阴阳怪气(这比直球骂人还不好),现在的状态是看到某些言论一开始还是会心跳加快、有些情绪,不过稍加冷静还是会举例论证,和对方讲道理。我希望以后能够忽略掉这些言论给我心理上的影响,最好是能选择忽视。因为我不总是有精力与别人争论,很多事也无法辩论出结果,因为每个人思考角度不同。
目前还是没有做 SEO 优化(不过由于 Google bot 每天辛勤爬取,也是我网站的主要流量来源,本站还是可以被 Google 搜索到的),也没怎么费力宣传过我的博客,目前访客几乎没有。同样,评论区在未来很长一段时间里也不会有人留下痕迹。评论功能是我期望了很久的功能,虽然说开启了和不开启没什么两样,但是我还是放着,等待某位访客留下点文字。有可以互相交流的人,将博客变成双向沟通的地方,我自然会是十分高兴的。不知道第一条评论,会在什么时候出现呢。