时光一言
一言官方网站:https://developer.hitokoto.cn/
调用示例
| <p id="hitokoto">
<a href="#" id="hitokoto_text">:D 获取中...</a>
</p>
|
| var xhr = new XMLHttpRequest();
xhr.open('get', 'https://v1.hitokoto.cn');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
const data = JSON.parse(xhr.responseText);
const hitokoto = document.querySelector('#hitokoto_text');
hitokoto.href = `https://hitokoto.cn/?uuid=${data.uuid}`
hitokoto.innerText = data.hitokoto;
}
}
xhr.send();
|
| <p id="hitokoto">
<a href="#" id="hitokoto_text">:D 获取中...</a>
</p>
|
| // 如果你的站点使用了 jQuery,
// 如果想使用的 jQuery 版本 >= 3.x, 你必须引入完整的 jQuery,
// 如果你没此操作权限,请考虑其他引入方式。
// 一般来说,我们不推荐使用 jQuery Ajax。更推荐使用 Fetch API 或者 Axios
$.ajax({
type: 'GET',
url: 'https://v1.hitokoto.cn',
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'hitokoto',
success (data) {
$('#hitokoto_text').attr('href', `https://hitokoto.cn/?uuid=${data.uuid}`)
$('#hitokoto_text').text(data.hitokoto)
},
error (jqXHR, textStatus, errorThrown) {
// 错误信息处理
console.error(textStatus, errorThrown)
}
})
|
| <p id="hitokoto">
<a href="#" id="hitokoto_text">:D 获取中...</a>
</p>
|
| axios.get('https://v1.hitokoto.cn')
.then(({ data }) => {
const hitokoto = document.querySelector('#hitokoto_text')
hitokoto.href = `https://hitokoto.cn/?uuid=${data.uuid}`
hitokoto.innerText = data.hitokoto
})
.catch(console.error)
|
| <p id="hitokoto">
<a href="#" id="hitokoto_text">:D 获取中...</a>
</p>
|
| // 请注意此 Web API 的兼容性,
// 不支持 IE, iOS Safari < 10.1,
// 完整支持列表参考:https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
fetch('https://v1.hitokoto.cn')
.then(response => response.json())
.then(data => {
const hitokoto = document.querySelector('#hitokoto_text')
hitokoto.href = `https://hitokoto.cn/?uuid=${data.uuid}`
hitokoto.innerText = data.hitokoto
})
.catch(console.error)
|
请求地址
地址 | 协议 | 方法 | QPS限制 | 线路 |
v1.hitokoto.cn | HTTPS | Any | 3.5 | 全球 |
请求参数
参数 | 值 | 可选 | 说明 |
c | 见后表 | 是 | 句子类型 |
encode | 见后表 | 是 | 返回编码 |
charset | 见后表 | 是 | 字符集 |
callback | 如:moe | 是 | 调用的异步函数 |
select | 默认:.hitokoto | 是 | 选择器。配合 encode=js 使用 |
min_length | 默认:0 | 是 | 返回句子的最小长度(包含) |
max_length | 默认:30 | 是 | 返回句子的最大长度(包含) |
句子类型(参数)
参数 | 说明 |
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] 查看这个一言的完整信息 |
commit_from | 提交方式 |
created_at | 添加时间 |
length | 句子长度 |