实现一个博客系统的评论互动功能

615 阅读2分钟

背景

上一篇文章说到利用github一些开放api进行第三方授权,从第三方获得客户端信息,从而进行评论功能的实现,这种实现方法有一些我本人可能想到的弊端。明显的有两点 ,例如 一些同学如果不了解mysql或者后端语言掌握基础不是太好的话,那么对于复杂的评论系统来说可能实现起来难度较大,还有一点是容易有被进行注入或者攻击的风险 考虑到这两点,本人最后也没有选择去手动搭写评论系统的后台 (觉得自己目前没有能力去实现,后期会尝试手动去写), 而是采用了今天要推荐给大家的 giTalk 当然现在也有一些成熟的评论服务 例如畅言等,如果感兴趣的话 大家都可以去了解一下。

应用场景

虽然评论功能很淳朴,但是场景还是有不同的, 比如一些同学自己总结的技术类文章下面都会暴漏评论的入口 互相推送建议,还有一些留言墙,留言板等可能也会使用到,我的使用场景是为网站新增了一个留言板的功能。

实现步骤

1.引入giTalk

外部资源加载

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css">
 <script src="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js"></script>

镜像下载

npm i --save gitalk
import 'gitalk/dist/gitalk.css'
import Gitalk from 'gitalk'

因为网站是拿angular写的所以直接采用第二种方法,附上代码如下

2.创建容器元素

插件内部已经封装好 只需要创建模板元素就行 如图

最下面那个id为gitalk-container的元素就是最后的模板容器

3.实例化应用

模板容器已经创建完毕,就需要去实例化giTalk 先贴上图吧,再说具体的配置项

  • clientID 和 clientSecret

    分别代表的是 应用程序客户端ID 与 应用程序客户端机密。 需要再github先进行仓库信息描述最后才关联生成

  • repo

    github上对应的仓库名称

  • owner 和 admin

    声明所有者和管理员的名称

更多配置项请参考下面

giTalk配置

至此为止,我们打开页面就可以看见一个现成的评论界面了,此处还需要提及 就是如果看到 初始化未成功 请登录等字样 需要登陆一下git账号就可以了,最终结果如下

附上博客地址 一起学习吧。