Skip to content

使用Node.js搭建的随机图片后端,通过读取多个本地文件的方式实现丰富API配置

Notifications You must be signed in to change notification settings

RichardTang2003/node-random-images

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于Node.js的随机图片后端程序

Made with ❤️ by illlights && Made for freedom to come.

特色

  • 相较于绝大多数随机图程序,拥有可自定义的路径配置,可以实现分辨率分类、画师名、作品名分类。
  • 使用文本文件储存数据,相较于数据库版本部署简单,同时节约数据库返回时间,加快返回速度
  • 重定向到外链图床链接,节约服务器带宽、存储
  • nodejs节约服务器资源,提供更高并发数
  • 每小时记录调用数,帮助您监控api调用情况。

部署

部署到服务器

以Debian11服务器演示,请根据对应系统修改语句内容!

  1. 安装必要程序
sudo apt-get install nodejs git screen
  1. 通过git拉取源码内容
  git clone https://github.com/RichardTang2003/node-random-images.git
  cd /node-random-images  
  1. 配置本地文本文件

首先,程序运行必须在app.js文件同级新建一个名为log.txt的文本文件!!

然后可以根据实际需要创建多个txt文件用于储存图片链接。其中一条链接占用一行

  1. 配置源码内容

请打开app.js并找到下图代码位置(大约在40行):

image

请将原有的四条定义删除,并以相同格式配置文件。

object变量名可以自由定义,time和port变量名不能更改。例如,图片中定义了fileObject540等一系列变量。如果要支持?format=raw参数,需要新建变量,变量名为‘原变量名 + raw’,如第43行示例。

函数参数的意义分别是:路径名、读取文件名、在log数组中的位置。

const fileObject540 = new FileObject('path', 'data540.txt', 1);

const port = 8080;
const time = '0 * * * *'

上例中,可以通过http://yourIP:8080/path访问data540.txt中随机一条链接,并将调用次数记录储存在log.txt中第一个位置上。

  1. 安装依赖并启动程序
npm i
# 然后等待安装结束
node app.js

现在,可以通过http://yourIP:port访问简介,使用你配置好的文件调用随机图片。另外,http://yourIP:port/random可以随机到所有文件中的一条链接。如果需要保持程序后台运行,可以使用screen命令:

screen -R images
npm i
node app.js
# 然后按Ctrl+A+D退出该窗口(挂在后台)
screen -r app #需要重新显示窗口时运行

部署至Replit

Replit项目:https://replit.com/team/lemonlabo/images-dev

About

使用Node.js搭建的随机图片后端,通过读取多个本地文件的方式实现丰富API配置

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published