给博客添加一言Hitokoto

    选择打赏方式

说明

一言网创立于2016年,隶属于萌创Team,主要提供一句话服务。

动漫也好,小说也好,网络也好,无论在哪里,我们总会看到有那么一个两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。
简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。(来源于一言官方网站)

时间规划

时间版本影响接口调整技术栈
2018年6月测试api.hitokoto.cn 和 sslapi.hitokoto.cn互连重定向至v1接口。老接口将不做额外保证。的PHP
2018年7月v1v1.hitokoto.cnv1接口锁定功能结构,若无重要原因将不会增减功能。接口将稳定存在直至v2上线后一年。Node.js和Docker
预计2021年v2不详上线v2接口Node.js,Go或者Swoole

目前v1接口已进入功能锁定阶段。

请求地址

地址协议方法QPS限制线路
v1.hitokoto.cnHTTPS任何3.5全球
international.v1.hitokoto.cnHTTPS任何10国外

请注意:一言域名已加入HSTS预加载计划,所有请求一律以HTTPS方法进行。

请求参数

参数任选说明
C见后表句子类型
编码见后表返回编码
字符集见后表字符集
打回来如:moe调用的异步函数
选择默认值:.hitokoto选择器。配合encode=js使用
min_length默认值:0返回句子的最小长度(包含)
最长长度默认值:30返回句子的最大长度(包含)

返回:(默认json格式)

返回参数名称描述
ID一言标识
一人一言正文。编码方式unicode。使用utf-8。
类型类型。请参考第三节参数的表格
一言的出处
从谁一言的作者
创作者添加者
creator_uid添加者用户标识
审稿人审核员标识
uid一言唯一标识;可以链接到https://hitokoto.cn?uuid=[uuid] (在新窗口中打开) 查看这个一言的完整信息
commit_from提交方式
created_at添加时间
长度句子长度

示例:

https://v1.hitokoto.cn/(从7种分类中随机抽取)

https://v1.hitokoto.cn/?c=b (请求获得一个分类是漫画的句子)

https://v1.hitokoto.cn/?c=f&encode=text (请求获得一个来自网络的句子,并以纯文本格式输出)

网页使用示例:

<!-- 请注意,以下的示例包含超链接,您可能需要手动配置样式使其不变色。如果您嫌麻烦,可以移除。 -->
<p id="hitokoto"><a href="#" id="hitokoto_text">:D 获取中...</a></p>
<!-- 以下写法,选取一种即可 -->

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

<!-- 如果你配置了 axios -->
<script>
  axios.get('https://v1.hitokoto.cn')
    .then(({ data }) => {
      const hitokoto = document.getElementById('hitokoto_text')
      hitokoto.href = 'https://hitokoto.cn/?uuid=' + data.uuid
      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').attr('href', 'https://hitokoto.cn/?uuid=' + data.uuid)
      $('#hitokoto_text').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_text');
      hitokoto.href = 'https://hitokoto.cn/?uuid=' + data.uuid
      hitokoto.innerText = data.hitokoto;
    }
  }
  xhr.send();
</script>

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

参考使用方法:

<p id="hitokoto">正在加载一言...</p>
<!-- 一言API -->
<!-- 现代写法,推荐 -->
<!-- 兼容低版本浏览器 (包括 IE),可移除 -->
<script src="https://cdn.jsdelivr.net/npm/bluebird@3/js/browser/bluebird.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/whatwg-fetch@2.0.3/fetch.min.js"></script>
<!--End-->
<script>
  fetch('https://v1.hitokoto.cn')
    .then(function (res){
      return res.json();
    })
    .then(function (data) {
      var hitokoto = document.getElementById('hitokoto');
      hitokoto.innerText = data.hitokoto + '——【' + data.from + '】';
    })
    .catch(function (err) {
      console.error(err);
    })
</script>
版权声明:若无特殊注明,本文为《寒星皓月》原创,转载请保留文章出处。
本文链接:https://www.wanghanyue.com/post-51.html
本作品采用 知识共享署名 4.0 国际许可协议 进行许可。
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!