前段时间基本上折腾的都是胡言乱语
页面。在制作主题的时候,关于这个页面的哔哔方案选择了不下 3 种。最终还是采用原生评论系统来做的。虽然用原生评论开一个独立页面确实能实现一个很简单的哔哔页面,但是后期一旦内容多了,就不好回顾和搜索,毕竟 typecho 自带的搜索只能搜索文章,不能搜索评论。只有发布
,却没有归类和搜索
,后期就知道好不好用了。
所以就要加强哔哔页面的功能,让它拥有 tag 归类和搜索功能。还好 typecho 大佬多,写了不少好的插件,直接使用 api 插件给哔哔(评论方案)内容输出为 json,前端再去操作数据就很简单了。php 不熟悉,就只好用 js 开搞。
精简版 API 插件说明
有且只有这一个 comments api 请求,其他接口都没有。专为哔哔页面而精简。
原版为:typecho-plugin-Restful,功能挺多的,但是想完整体验整个功能,得使用 typecho 1.1 版本。1.2 版本的 typecho 发送评论和获取文章列表都会引起 typecho 的直接报错。
因为我不想回滚 1.1 版本,再加上 1.1 版本会引起主题和其他新版插件的报错,于是就萌发了精简这个 API 插件的想法(毕竟原版插件的大佬已经不更新插件了)。
我只需要评论列表的 api ,也不需要什么个人配置项,直接启用插件就生效。虽说不会 php 和 sql ,但是删代码谁不会?直接一段一段的删,报错再返回重新排查。最终从 1000 多行代码精简到 180 行。
评论列表 API 使用参数
使用 GET
请求获取 json 数据,请求后缀 /api/comments
参数 | 类型 | 描述 | 可选/必选 |
---|---|---|---|
page | int | 当前页 | 可选 |
pageSize | int | 分页数 | 可选 |
order | string | 评论显示顺序 | 可选 |
cid | int | 文章 ID | 二选一 |
slug | string | 文章别名 | 二选一 |
请求链接如下,请记得加文章 cid 或者 页面的缩略名 slug 。必填项。
//获取页面缩略名为 talk ,50 篇评论内容
https://yourdomain.com/api/comments?slug=talk&pageSize=50
PS: 如果带上 Cookie 请求,会显示当前 Cookie 记住的用户所发布的待审核的评论。
其他同类型的 API 插件
大概看了一眼,基本上都是从公子插件lizheming/JSON上删删改改来的,因为每个人最后一句话都是致敬公子。倒是我删改的这个原版插件是另一套代码。不是从公子插件衍生来的。也只有这一个 API 插件能够获取某篇文章和某篇页面的全部评论,而且还给父评论子评论 tree 树化了。
那么我也来致敬下这两个大佬,因为这个删改插件同时借鉴他们俩的代码。
评论已关闭