491 字
2 分钟
搭建一言api接口教程
Random Cover
一.使用docker直接部署
此方案需要先预先安装好Redis,项目将直接使用本地redis。
docker run -e edis.host=127.0.0.1 -e redis.port=6379 # - e redis.password=xxx(如没设密码请删除此属性) \-v /path/to/your/data/dir:/usr/src/app/data \ #可以改成自定义目录-p 8000:8000 \--network host \hitokoto/apidocker-compose 部署
此处docker-compose文件
version: '3'networks: hitokoto_api: driver: bridge
services: hitokoto_api: networks: - hitokoto_api image: hitokoto/api:release container_name: hitokoto_api hostname: hitokoto_api environment: NODE_ENV: production # 服务配置 url: # 请修改为您想要部署的域名 api_name: sh-01-X23Hwoc # 改一个好听的标识吧 requests.hosts: "[']" # 改成你想统计的主机名列表 redis.host: redis # Redis 连接地址,如果您使用本文件提供的 Redis 的话您无需修改此项 redis.port: 6379 # Redis 连接端口 # redis.password: # redis.database: 0 ports: - 8000:8000 links: - redis restart: unless-stopped volumes: - ./etc/api:/usr/src/app/data
redis: networks: - hitokoto_api image: redis restart: unless-stopped container_name: redis hostname: redis volumes: - ./etc/redis.conf:/etc/redis/redis.conf # 一定要记得把 redis.conf 先放在这个位置哦 - ./data/redis:/data command: redis-server /etc/redis/redis.conf # ports: # - 6379:6379 # 如果有必要请取消注释本行二.使用方法
直接使用
或者使用nginx反代也可以,以下为参考nginx反代配置:
#PROXY-START/
location ^~ /{ proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1; # proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_fileyCr0FUky 0; if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) { set $static_fileyCr0FUky 1; expires 1m; } if ( $static_fileyCr0FUky = 0 ) { add_header Cache-Control no-cache; }}
#PROXY-END/三.接口参数定义
请参考官方文档: 一言
4.接入网站教程
请在需要处加入以下代码(自行替换里面的api链接):
1.标准版
<p id="hitokoto"> <a href="#" id="hitokoto_text">:D 获取中...</a></p><script> 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}` ##请替换api链接 hitokoto.innerText = data.hitokoto }) .catch(console.error)</script>2.简洁版
<p id="hitokoto"> 加载中...</a><script> var xhr = new XMLHttpRequest(); xhr.open('get', 'https://hitokoto.cn/?c=b'); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var data = JSON.parse(xhr.responseText); var hitokoto = document.getElementById('hitokoto'); var from = document.getElementById('fromfrom'); hitokoto.innerText = data.hitokoto + " —— " +data.from; } } xhr.send();</script>教程到这里就结束了。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
最后更新于 2024-07-15,距今已过 563 天
部分内容可能已过时
风尘落微雨