星光碎语

Typecho handsome主题一言接口修改使用自己的一言服务

作者头像
星光 本文作者

2022-4-12 阅读 56 约 2分钟读完

评论0

搭建一个自己的 “一言” 接口服务,支持PHP和JS调用

开始部署
下载代码上传至你的网站目录,把解压出来的文件夹改名为hitokoto
然后访问https://域名及文件路径/hitokoto查看效果
源码下载:
https://xgiw.lanzouq.com/i83eW1f8lvcj (提取码:xgiw)
调用方法
PHP调用方法
添加如下代码到页面头部

<?php $hitokoto = file_get_contents('https://域名/other/hitokoto/'); ?>

注意:
需要把代码中的URL地址替换为你自己的URL
然后在需要显示“一言”的标签,插入如下代码:

<?php echo $hitokoto; ?>

JS调用方法
添加如下代码到页面底部;

$.post("https://域名/other/hitokoto/", function(hitokoto) {
    $(".content").html(hitokoto);
});

注意
需要把代码中的URL地址替换为你自己的URL
一言输出内容修改hitokoto.txt文件即可,一行一句
JS调用需要jquery.min.js一般主题都有,无需再引用

Typecho handsome主题一言接口修改使用自己的一言服务

handsome主题默认使用的是 https://v1.hitokoto.cn 一言接口
博主感觉不是太满意,于是想换成自己的“一言”服务接口
首先需要自己搭建一个“一言”服务接口
搭建好了后就可以按下面的方法替换成自己的接口即可;

修改主题“一言”接口
修改路径位于网站根目录下/usr/themes/handsome/index.php修改index.php文件即可;
原始代码为:

<!--/公告位置-->
          <?php endif; ?>
        <header class="bg-light lter b-b wrapper-md">
          <h1 class="m-n font-thin h3 text-black l-h"><?php $this->options->title(); ?></h1>
          <small class="text-muted letterspacing indexWords"><?php
              if (@!in_array('hitokoto',$this->options->featuresetup)) {
                  $this->options->Indexwords();
              }else{
                  echo '加载中……';
                  echo '<script>
                         $.ajax({
                            type: \'Get\',
                            url: \'https://v1.hitokoto.cn/\',
                            success: function(data) {
                               var hitokoto = data.hitokoto;
                              $(\'.indexWords\').text(hitokoto);
                            }
                         });
</script>';
              }
              ?></small>
          </header>
        <div class="wrapper-md" id="post-panel">
            <!--首页输出文章-->

方法一:使用JS调用

<!--/公告位置-->
          <?php endif; ?>
        <header class="bg-light lter b-b wrapper-md">
          <h1 class="m-n font-thin h3 text-black l-h"><?php $this->options->title(); ?></h1>
          <small class="text-muted letterspacing indexWords"><?php
              if (@!in_array('hitokoto',$this->options->featuresetup)) {
                  $this->options->Indexwords();
              }else{
                  echo '加载中……';
                  echo '<script>
                         $.post("https://域名/other/hitokoto/", function(hitokoto) {
                            $(".indexWords").html(hitokoto);
                         });
</script>';
              }
              ?></small>
          </header>
        <div class="wrapper-md" id="post-panel">
            <!--首页输出文章-->

方法二:使用PHP调用

<!--/公告位置-->
          <?php endif; ?>
        <header class="bg-light lter b-b wrapper-md">
          <h1 class="m-n font-thin h3 text-black l-h"><?php $this->options->title(); ?></h1>
          <?php $hitokoto = file_get_contents('https://域名/other/hitokoto/'); ?>
          <?php echo $hitokoto; ?>
        </header>
        <div class="wrapper-md" id="post-panel">
            <!--首页输出文章-->

注意
修改代码中的链接地址需要修改成自己的接口链接

上一篇 「电脑壁纸」二十四节气壁纸 下一篇 只为在用而够用 Typecho1.1版本下载
评论