浅谈一言API模块的调用

发布于 2020-04-02  32 次阅读


浅谈一言API模块的调用

动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。

简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

简单的API调用,即可在你的站点添加一个——随刷新而刷新的句子模块

文末附小白教程

例子

(此处有一张已丢失的图片)

(此处有一张已丢失的图片)

每次打开,都是不一样的惊喜

 

 使用方法

地址 协议 方法 QPS 限制 线路
v1.hitokoto.cn HTTPS Any 10 全球
international.v1.hitokoto.cn HTTPS Any 25 国外

 请求参数

c 见后表 句子类型
encode 见后表 返回编码
charset 见后表 字符集
callback 如:moe 调用的异步函数
select 默认:.hitokoto 选择器。配合 encode=js 使用

 

句子类型(参数)

参数 说明
a 动画
b 漫画
c 游戏
d 文学
e 原创
f 来自网络
g 其他
h 影视
i 诗词
j 网易云
k 哲学
l 抖机灵
其他 作为 动画 类型处理

可选择多个分类,例如: ?c=a&c=c

 

返回编码(参数)

参数 说明
text 返回纯洁文本
json 返回格式化后的 JSON 文本
js 返回指定选择器的同步调用函数。默认选择器为:.hitokoto
其他 返回格式化后的 JSON 文本

字符集(参数)

参数 说明
utf-8 返回 utf-8 编码的内容
gbk 返回 gbk 编码的内容。不支持与异步函数同用
其他 返回 utf-8 编码的内容

 

返回格式

返回参数名称 描述
id 一言标识
hitokoto 一言正文。编码方式 unicode。使用 utf-8。
type 类型。请参考第三节参数的表格
from 一言的出处
from_who 一言的作者
creator 添加者
creator_uid 添加者用户标识
reviewer 审核员标识
uuid 一言唯一标识;可以链接到 https://hitokoto.cn?uuid=[uuid] 查看这个一言的完整信息
created_at 添加时间

 

 

使用示例(写法)

调用

<p id="hitokoto">:D 获取中...</p>

写法

<!-- 现代写法,推荐(不支持 IE) -->
<script>fetch('https://v1.hitokoto.cn')
    .then(response => response.json())
    .then(data => {
      const hitokoto = document.getElementById('hitokoto')
      hitokoto.innerText = data.hitokoto
    })
    .catch(console.error)</script>

<!-- 如果你配置了 axios -->
<script>axios.get('https://v1.hitokoto.cn')
    .then(({ data }) => {
      const hitokoto = document.getElementById('hitokoto')
      hitokoto.innerText = data.hitokoto
    })
    .catch(console.error)</script>

<!-- 如果你的站点使用了 jQuery(如果是 JQ 3.x 以及更新的版本, 你得使用完整版的 JQ), 那么你可以... -->
<script>$.ajax({
    type: 'GET',
    url: 'https://v1.hitokoto.cn',
    dataType: 'jsonp',
    jsonp: 'callback',
    jsonpCallback: 'hitokoto',
    success (data) {
      $('#hitokoto').text(data.hitokoto)
    },
    error (jqXHR, textStatus, errorThrown) {
      // 错误信息处理
      console.error(textStatus, errorThrown)
    }
  })</script>
<!-- P.S 我们不推荐使用 jQuery Ajax。 推荐使用 fetch api 或者 axios.js-->

<!-- 老式写法,兼容性最好; 支持 IE -->
<script>var xhr = new XMLHttpRequest();
  xhr.open('get', 'https://v1.hitokoto.cn');
  xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
      var data = JSON.parse(xhr.responseText);
      var hitokoto = document.getElementById('hitokoto');
      hitokoto.innerText = data.hitokoto;
    }
  }
  xhr.send();</script>

<!-- 新 API 方法, 十分简洁 -->
<script src="https://v1.hitokoto.cn/?encode=js&select=%23hitokoto" defer></script>

 

 

如果身为小白白的你发现什么都看不懂那么照着以下的步骤做就OK了!

 

小白白使用教程

 

在<head>中插入

<script>
var xhr = new XMLHttpRequest();
xhr.open('get', 'https://v1.hitokoto.cn');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
var data = JSON.parse(xhr.responseText);
var hitokoto = document.getElementById('hitokoto');
hitokoto.innerText = data.hitokoto;
}
}
xhr.send();
</script>

然后在需要调用的地方插入
<p id="hitokoto">:D 获取中...</p>

 

WordPress小工具栏中,选择HTML模块

直接插入

<script>var xhr = new XMLHttpRequest();
  xhr.open('get', 'https://v1.hitokoto.cn');
  xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
      var data = JSON.parse(xhr.responseText);
      var hitokoto = document.getElementById('hitokoto');
      hitokoto.innerText = data.hitokoto;
    }
  }
  xhr.send();</script><p id="hitokoto">:D 获取中...</p>

以上!


目前在看简媜,最喜欢的乐队是Portugal the Man

查看评论 - NOTHING

Comments | NOTHING

暂无评论

Markdown Supported while Forbidden

戳我试试 OωO 嘿嘿嘿 ヾ(≧∇≦*)ゝ

  切换主题 | SCHEME TOOL