2022-11-29 更新 392 阅读 进入沉浸

前段时间基本上折腾的都是胡言乱语页面。在制作主题的时候,关于这个页面的哔哔方案选择了不下 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

插件资源下载 - Json.zip 📥 📥-link

参数类型描述可选/必选
pageint当前页可选
pageSizeint分页数可选
orderstring评论显示顺序(asc/desc)可选
cidint文章 ID二选一
slugstring文章别名二选一

请求链接如下,请记得加文章 cid 或者 页面的缩略名 slug 。必填项。

//获取页面缩略名为 talk ,50 篇评论内容
https://yourdomain.com/api/comments?slug=talk&pageSize=50

PS: 如果带上 Cookie 请求,会显示当前 Cookie 记住的用户所发布的待审核的评论。

其他同类型的 API 插件

大概看了一眼,基本上都是从公子插件lizheming/JSON上删删改改来的,因为每个人最后一句话都是致敬公子。倒是我删改的这个原版插件是另一套代码。不是从公子插件衍生来的。也只有这一个 API 插件能够获取某篇文章和某篇页面的全部评论,而且还给父评论子评论 tree 树化了。

那么我也来致敬下这两个大佬,因为这个删改插件同时借鉴他们俩的代码。