"我叫琦玉,是一名兴趣使然的英雄。"

11月 18

前言

家里需要一台主机搭建nas和硬件互联以及同步数据等操作,为了不让树莓派积灰。强行把树莓派搭建起来。

树莓派拓展&优点

说起树莓派,开发方式还是很多的,比如做nas 同步下数据 做做小网站 链接家里其他硬件智能家居等等。

正文

准备工作

树莓派主体(包括电源) 这里用的是3b+
外接硬盘线
240g固态硬盘
microSD卡 推荐8gb以上 这里用的是16g 闪迪的普通microSD

硬盘检测

这个硬盘是我在双11买的 拿回来第一件事情就是测试一下
DSC06318.jpg

阅读全文 >>

9月 24

刷新一下就会变哦

一言(Hitokoto/ヒトコト)api

前 言

最近中二病愈加严重 所以要收集一些中二点的话用来使用
于是本loli就把目光投向了一言这个项目里,找了下开源项目 都没有找到合适的大多数都是 nodejs的 但是我又不熟悉node.js 就在收集数据的时候 我把目光投向了@小霖的hitokoto。
但是小霖的是极简api 简介的只剩下文字 这样并不能满足(个人喜欢)我的需求 于是给予小霖的hitokoto做了修改

php源码

<?php
require_once __DIR__ . '/vendor/autoload.php';
function get_data()
{
    $db = new \Buki\Pdox([
        'host' => '127.0.0.1',
        'port' => 3306,
        'username' => 'username',
        'password' => 'password',
        'database' => 'database',
    ]);
    $num = rand(1,$db->table('hitokoto')->count('id','total_row')->get()->total_row);
    return $db->table('hitokoto')->where('id',$num)->get();
}
if (@mb_convert_case($_GET['charset'],MB_CASE_UPPER) == 'UTF-8') $charset = 'UTF-8'; else $charset = 'GBK';
if (empty($_GET['code'])) $code = 'text'; else $code = $_GET['code'];
switch ($code)
{
    case 'js':
        $str = "document.getElementById('hitokoto').innerText='" . trim(get_data()->content) . "';";
        break;
    default:
        $str = trim(get_data()->content);
        break;
}
header("Content-type: text/html; charset={$charset}");
if ($charset == 'UTF-8') echo $str; else echo mb_convert_encoding($str,$charset);
?>

修改内容

<?php
require_once __DIR__ . '/vendor/autoload.php';
function get_data()
{
    $db = new \Buki\Pdox([
        'host' => 'localhost',
        'port' => 3306,
        'username' => 'username',
        'password' => 'password',
        'database' => 'database',
    ]);
    $num = rand(1,$db->table('hitokoto')->count('num','total_row')->get()->total_row);
    return $db->table('hitokoto')->where('num',$num)->get();
}
if (@mb_convert_case($_GET['charset'],MB_CASE_UPPER) == 'GBK') 
    $charset = 'GBK'; 
else 
    $charset = 'UTF-8';
if (empty($_GET['id'])) 
    $id = 'hitokoto'; 
else 
    $id = $_GET['id'];

if (empty($_GET['code'])) $code = 'text'; 
else $code = $_GET['code'];
switch ($code)
{

    case 'js':
        $str = "document.getElementById('$id').innerText='『" . trim(get_data()->text) . "』-「" . trim(get_data()->source) . "」';";
        break;
    default:
        $str = " 『" . trim(get_data()->text) . "』-「" . trim(get_data()->source) . "」";
        break;
}
header("Content-type: text/html; charset={$charset}");
if ($charset == 'UTF-8') echo $str; else echo mb_convert_encoding($str,$charset);
?>

这里我对数据表的字段进行了修改

原数据库结构

create table hitokoto
(
  id      int auto_increment
    primary key,
  content longtext        null,
  score   float default '2.5' null,
  author  text            null,
  origin  text            null
);

数据结构修改

我将数据表的 id content 字段修改成了numtext 并并且新增作者source字段
并且适应了@毛与向日葵的一言数据库。
和新增了js id

使用方式

数据获取

请求地址:https://api.ohyhello.com/hitokoto
请求方式:GET
使用文档https://api.ohyhello.com/hitokoto.html

实例 js

js调用源码

<p id="hitokotoss"></p>
<script type="text/javascript" src="https://api.ohyhello.com/hitokoto/?code=js&id=hitokotoss"></script>

#依赖

composer require izniburak/pdox

数据库下载

阅读全文 >>