编写一个JS评论组件

TOC
  1. 1. 前言
  2. 2. 效果
  3. 3. 大概需求
  4. 4. 其他

前言

当初在太平洋网络搬砖的时候, 刚好负责评论系统这一块的前端重构(说多都是泪), 刚好17年年中那会, 国家法律要求所有能够发表言论的地方, 都得接入实名制, 于是用了很久的”多说”,也不免中枪,挂了.本来想着自己要不用前后端都写了, 弄一套开源的评论系统好了,结果从离职后到现在种种忙活都没能完成(自我检讨中).

刚好前段时间做外包项目的时候用到LeanCloud这个还不错的产品(真没打广告), 继而发现了Valine这个评论组件, 原来多说关闭不久, 就有人开发了这套评论系统. 想起以前和别人交接工作的时候写了一份评论的原型代码, 于是我干脆也把它改造一下, 接入了LeanCloud. 算是一个入门级别的评论组件编写教程吧.

另外说一句, Valine已经很完善了, 包括后面有人完善Valine-admin这样的辅助工具.说这些也并非不建议大家重复造轮子. 只不过提醒自己, 一个人可能走得快, 但是多个人, 可能走得更远.

效果

因为算是一个简单的教程, 用ES6和css3开发, 只能用高级浏览器看.
https://thinkerchan.github.io/cmt/

大概需求

因为只有LeanCloud,没有自己的后台, 所以有些功能没法做(其实也不是没法做, 只是效果不好)

@k 评论原型

主要部分
1.评论框复用 //√
2.对用户输入进行转义 //√
3.评论数据结构复用 //√
4.异步加载样式表 // √
5.Ajax // 因为用了leancloud,所以直接用它的SDK
6.留言排序可选 // × 直接从旧到新
7. 基于localstorage存储网友的昵称/邮箱/网址
8. md5拼接邮箱生成头像 //基于gavatar
...

TODO
1. 留言点赞功能 //非限定次数(删除cookie依然可以点赞)
2. 用户登录/注册 // 要做吗?
3. 验证码 //需要后端配合
5.表情处理(类似新浪微博处理方式比较合理) //✘
6.楼层嵌套 //类似biliili
7.分页
8.楼层ID处理 // normal则不需要处理, 楼层嵌套则要过滤不含有targetFloor的cid

其他

把手头的活干完, 再继续完善Todo吧.

访客评论