API 接口列表

本站对外开放的接口一览,全部返回 JSON,支持跨域调用。点击接口路径即可查看真实返回数据。

公开接口

无需登录,任何人、任何站点都可以直接调用。

14 个

需登录接口

需要登录账号(例如图床的上传接口)。

1 个

管理员接口

需要管理员账号登录后携带会话 Cookie 才能调用。

5 个

接口一览

方法 路径 说明 权限
GET /api
API 列表
本页面:列出站点所有可用的 API 接口,加 ?format=json 可获取 JSON 版本。 公开
GET /api/admin/health
健康检查
探活接口,返回站点是否正常及站点名称。 公开
GET /api/donate/config
赞助支付配置
赞助页可用的支付方式、快捷金额与金额范围(不含商户密钥),方便自定义前端页面。 公开
POST /api/donate/create
创建赞助订单
创建一笔易支付订单并返回收银台地址 pay_url(GET 打开即可付款)。支付成功后由易支付异步通知入账,并自动显示在赞助公示里。 公开
GET POST /api/donate/notify
易支付异步通知
易支付服务器回调地址:验签 + 核对金额通过后把订单写入赞助公示,并返回纯文本 success。商户后台填这个地址。 公开
GET /api/donate/order
赞助订单状态
按商户订单号查询订单状态(pending / paid),赞助页用它轮询支付结果。 公开
GET /api/donate/return
易支付同步跳转
用户支付完成后浏览器跳回的页面,展示订单状态并自动轮询确认。 公开
GET /api/donate_info
赞助信息
赞助公示记录列表 + 汇总数据(总笔数、总金额、最近一次赞助时间)。 公开
GET /api/server_info
服务器信息
站点信息 + 服务器列表(名称、类型、地区、连接地址),可选附带实时在线状态。 公开
GET /api/server_player_history
在线人数历史
按 30 秒采样(页面展示近 24 小时)的各服务器在线人数历史数据。 公开
GET /api/server_status
服务器状态(页面轮询用)
服务器状态页使用的接口,返回各服务器状态与在线人数历史。 公开
GET /api/server_status_image
服务器状态图(图片)
把服务器画成一张 PNG 长图:每台服务器一块,左侧是 IP / 版本 / MOTD / 在线状态 / 在线人数 / 全部在线玩家名单,右侧是这台服务器自己的 24 小时在线人数趋势图,顶部还有全站汇总。不带 server 参数时只画后台勾选了「出现在状态图」的线路,带 server 参数只画指定的一台(一张图一台服务器,不受开关限制)。 公开
GET /api/server_status_image/<int:server_id>
服务器状态图(图片)
把服务器画成一张 PNG 长图:每台服务器一块,左侧是 IP / 版本 / MOTD / 在线状态 / 在线人数 / 全部在线玩家名单,右侧是这台服务器自己的 24 小时在线人数趋势图,顶部还有全站汇总。不带 server 参数时只画后台勾选了「出现在状态图」的线路,带 server 参数只画指定的一台(一张图一台服务器,不受开关限制)。 公开
GET /api/tuchuang
图床文件列表
列出图床目录里的图片和视频,返回直链 / Markdown / BBCode / HTML,可直接用于其它接口调用。 公开
GET POST /api/admin/donations
赞助记录管理
GET 返回全部赞助记录;POST JSON 传入 action 进行 create / edit / delete。 管理员
GET POST /api/admin/servers
服务器节点管理
GET 返回全部服务器节点;POST JSON 传入 action 进行 create / edit / delete。 管理员
GET POST /api/admin/updates
更新日志管理
GET 返回全部更新日志;POST JSON 传入 action 进行 create / edit / delete。 管理员
POST /api/tuchuang/delete
图床删除
删除图床里的图片或视频,POST JSON:{"file": "a.png"} 或 {"files": ["a.png", "b.png"]}。 管理员
POST /api/tuchuang/rename
图床重命名
重命名图床里的图片或视频,POST JSON:{"file": "avatar/a.png", "name": "b.png"}。 管理员
POST /api/tuchuang/upload
图床上传
上传图片或视频到图床目录,multipart/form-data,字段名为 file,可一次传多个。 登录用户

参数说明

创建赞助订单 /api/donate/create

参数默认值说明
money - 赞助金额,需在后台设置的最低 / 最高金额之间
pay_type 第一个通道 支付通道标识,如 alipay / wxpay / qqpay
game_id - 游戏 ID,支付成功后显示在赞助公示里
name - 昵称 / 留言,没填 game_id 时用它占位

赞助订单状态 /api/donate/order

参数默认值说明
out_trade_no - 创建订单时返回的商户订单号

赞助信息 /api/donate_info

参数默认值说明
limit 0 返回条数,0 表示全部
offset 0 起始偏移,配合 limit 分页

服务器信息 /api/server_info

参数默认值说明
status 1 是否附带实时状态(在线人数 / 版本 / 延迟 / MOTD / 玩家名单);0 只返回静态信息,更快

在线人数历史 /api/server_player_history

参数默认值说明
hours 24 时间范围(小时),1-168

服务器状态(页面轮询用) /api/server_status

参数默认值说明
hours 24 在线人数历史范围(小时),1-168

服务器状态图(图片) /api/server_status_image

参数默认值说明
server (空) 只画这一台服务器,可用 id 或名称,例如 ?server=3 或 ?server=GTL;路径写法 /api/server_status_image/3 等价
status 1 是否附带实时状态;0 只画最近一次缓存的数据,响应更快
refresh 0 1 = 强制重新查询服务器,忽略缓存
theme light 图片配色:light 浅色 / dark 深色
style compact 排版:compact 紧凑版(一行一台服务器,图更短)/ classic 经典大卡片版
layout wide 服务器块排法:wide 一横一竖(每行一台,信息在左、趋势图在右)/ grid 一横两竖(每行两台,信息在上、趋势图在下);默认取后台设置
total 1 是否在汇总下面画「全站总人数趋势图」(所有线路合计),0 表示不画
players 1 是否画在线玩家名单;0 只显示人数
players_limit 0(不限制) 每台服务器最多取几个玩家名;0 或不填 = 不限制。图上标签最多铺 2 行,放不下的折成「+N 人」
history 24 在线人数趋势图的时间范围(小时,0-168),0 表示不画趋势图
width 1200 图片宽度(760-2000)
format png png 直接返回图片 / json 返回图片地址与数据 / url 返回纯文本直链 / html 预览页
download 0 1 = 按附件下载图片

服务器状态图(图片) /api/server_status_image/<int:server_id>

参数默认值说明
server (空) 只画这一台服务器,可用 id 或名称,例如 ?server=3 或 ?server=GTL;路径写法 /api/server_status_image/3 等价
status 1 是否附带实时状态;0 只画最近一次缓存的数据,响应更快
refresh 0 1 = 强制重新查询服务器,忽略缓存
theme light 图片配色:light 浅色 / dark 深色
style compact 排版:compact 紧凑版(一行一台服务器,图更短)/ classic 经典大卡片版
layout wide 服务器块排法:wide 一横一竖(每行一台,信息在左、趋势图在右)/ grid 一横两竖(每行两台,信息在上、趋势图在下);默认取后台设置
total 1 是否在汇总下面画「全站总人数趋势图」(所有线路合计),0 表示不画
players 1 是否画在线玩家名单;0 只显示人数
players_limit 0(不限制) 每台服务器最多取几个玩家名;0 或不填 = 不限制。图上标签最多铺 2 行,放不下的折成「+N 人」
history 24 在线人数趋势图的时间范围(小时,0-168),0 表示不画趋势图
width 1200 图片宽度(760-2000)
format png png 直接返回图片 / json 返回图片地址与数据 / url 返回纯文本直链 / html 预览页
download 0 1 = 按附件下载图片

图床文件列表 /api/tuchuang

参数默认值说明
folder - 只列出某个子目录,例如 avatar;留空表示全部
q - 按文件名或路径关键字过滤
kind 全部 kind=image 只看图片,kind=video 只看视频
limit 最多 1000 最多返回多少张
base 当前站点 自定义链接前缀,例如 https://img.example.com
format json format=list 时返回纯文本直链,每行一个,方便脚本使用

赞助记录管理 /api/admin/donations

参数默认值说明
action - POST JSON:不传为新增,edit 修改,delete 删除
game_id / money / pay_type / remark / id - 赞助人游戏 ID、金额、支付方式、备注、记录 ID

服务器节点管理 /api/admin/servers

参数默认值说明
action - POST JSON:不传为新增,edit 修改,delete 删除
server_type / name / domain / ip / port / query_port / area - 节点类型、名称、域名、IP、端口、Query 端口、地区
show_in_status 1 是否画进 /api/server_status_image 的总览图(0 / false 表示隐藏)

更新日志管理 /api/admin/updates

参数默认值说明
action - POST JSON:不传为新增,edit 修改,delete 删除
title / content / id - 标题、正文、记录 ID

图床删除 /api/tuchuang/delete

参数默认值说明
file - 要删除的图片,支持一次删多张时用 files 数组
token - 配置 TUCHUANG_UPLOAD_TOKEN 后可用它免登录调用

图床重命名 /api/tuchuang/rename

参数默认值说明
file - 图片在图床目录中的相对路径
name - 新文件名,可省略后缀
token - 配置 TUCHUANG_UPLOAD_TOKEN 后可用它免登录调用

图床上传 /api/tuchuang/upload

参数默认值说明
file - 要上传的文件,可重复出现;图片支持 png / jpg / gif / webp 等,视频支持 mp4 / webm / mov / mkv 等
folder 根目录 上传到哪个已存在的子目录,例如 avatar
name - 只传一张时可自定义文件名,可省略后缀
overwrite 0 同名时是否覆盖,默认自动追加序号
token - 配置 TUCHUANG_UPLOAD_TOKEN 后可用它免登录调用

图床 API(上传 / 列表 / 改名 / 删除)

图床不再放在首页入口,改为纯 API 调用:可以上传图片和视频,拿到直链、Markdown、BBCode、 HTML 几种现成写法,直接发群或嵌进论坛帖子。

GET /api/tuchuang 列出文件与直链(支持 folder / q / kind / limit / format=list)
公开
POST /api/tuchuang/upload 上传图片 / 视频,multipart/form-data,字段名 file(可多张)
登录用户
POST /api/tuchuang/rename 重命名,JSON:{"file": "a.png", "name": "b.png"}
管理员
POST /api/tuchuang/delete 删除,JSON:{"file": "a.png"} 或 {"files": ["a.png", "b.png"]}
管理员

图片格式:avif、bmp、gif、ico、jpeg、jpg、png、svg、webp;视频格式:avi、m4v、mkv、mov、mp4、ogv、webm。 单张图片最大 8.0 MB,单个视频最大 64.0 MB。

# 1. 列出图床文件(返回直链 / Markdown / BBCode / HTML)
curl "https://locraft.cn/api/tuchuang?limit=20"
curl "https://locraft.cn/api/tuchuang?kind=image&folder=avatar"
curl "https://locraft.cn/api/tuchuang?format=list"   # 纯文本直链,每行一个

# 2. 上传(需要登录会话;配置 TUCHUANG_UPLOAD_TOKEN 后也可用 token 免登录)
curl -X POST "https://locraft.cn/api/tuchuang/upload" \
  -F "file=@screenshot.png" -F "folder=" -F "name="

# 3. 改名 / 删除(管理员)
curl -X POST "https://locraft.cn/api/tuchuang/rename" \
  -H "Content-Type: application/json" \
  -d "{\"file\": \"a.png\", \"name\": \"b.png\"}"
curl -X POST "https://locraft.cn/api/tuchuang/delete" \
  -H "Content-Type: application/json" \
  -d "{\"files\": [\"a.png\", \"b.png\"]}"
原来的图床上传页 /tuchuang 已从导航隐藏,只能在浏览器里直接输入地址访问(仅供自己管理用); 对外统一走上面的 API。

服务器状态图链接

第一个是全部服务器总览图,下面是每台服务器单独的图片(一图一台,内容包含在线状态、地址、版本、延迟、 在线人数、MOTD、在线玩家和近 24 小时人数趋势)。图片可以直接发到群里、嵌入网页或论坛。

LOcraft 全部服务器(总览) 所有服务器画在一张图上,含全站汇总与每台服务器的人数趋势
![LOcraft 全部服务器(总览)](https://locraft.cn/api/server_status_image)
GTNH 主线路(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTNH 主线路(单服务器)](https://locraft.cn/api/server_status_image/2)
原版 SMP(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![原版 SMP(单服务器)](https://locraft.cn/api/server_status_image/6)
GTNH 山东线路(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTNH 山东线路(单服务器)](https://locraft.cn/api/server_status_image/7)
GTNH 江苏线路(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTNH 江苏线路(单服务器)](https://locraft.cn/api/server_status_image/8)
GTNH 广东线路(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTNH 广东线路(单服务器)](https://locraft.cn/api/server_status_image/9)
GTNH 德国线路(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTNH 德国线路(单服务器)](https://locraft.cn/api/server_status_image/10)
GTO 主线路(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTO 主线路(单服务器)](https://locraft.cn/api/server_status_image/11)
GTO 备用线路(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTO 备用线路(单服务器)](https://locraft.cn/api/server_status_image/12)
GTNH主线(单服务器) 只画这一台服务器:状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势
![GTNH主线(单服务器)](https://locraft.cn/api/server_status_image/13)

调用示例

所有响应都带 Access-Control-Allow-Origin: *,可以直接在其他站点或机器人里跨域调用。
# 服务器信息(含实时在线状态)
curl "https://locraft.cn/api/server_info"

# 只要静态信息,响应更快
curl "https://locraft.cn/api/server_info?status=0"

# 赞助信息,最近 10 条
curl "https://locraft.cn/api/donate_info?limit=10"
# 服务器状态图:直接返回一张 PNG 长图,可以发群 / 嵌入网页
curl -o status.png "https://locraft.cn/api/server_status_image"

# 只要某一台服务器的图(换成对应 id 或名称即可)
curl -o server3.png "https://locraft.cn/api/server_status_image/3"
curl -o gtL.png "https://locraft.cn/api/server_status_image?server=GTL"

# 深色版 + 强制刷新 + 不画玩家名单
curl -o status.png "https://locraft.cn/api/server_status_image?theme=dark&refresh=1&players=0"

# 只要图片直链,附带 Markdown / HTML / BBCode 现成写法
curl "https://locraft.cn/api/server_status_image?format=json"
const res = await fetch("https://locraft.cn/api/server_info?status=0");
const data = await res.json();
console.log(data.summary.online, "/", data.summary.total);