浅谈一言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>
Comments | NOTHING