跳转至

时光一言

一言官方网站:https://developer.hitokoto.cn/

调用示例

1
2
3
<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();

1
2
3
<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)
    }
})

1
2
3
<p id="hitokoto">
    <a href="#" id="hitokoto_text">:D 获取中...</a>
</p>
1
2
3
4
5
6
7
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)

1
2
3
<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 句子长度