编辑 /home/wwwroot/sspanel/config/.routes.php ,找到注释“// Home”,在适当位置添加如下内容

//check status
$app->get('/check', 'App\Controllers\HomeController:check');
编辑 /home/wwwroot/sspanel/app/Controllers/HomeController.php ,在适当位置插入如下内容

use App\Models\Node;
同样是该文件,在适当位置插入如下内容
public function check($request,$response, $args)
{
$id = $request->getParam("id");
$node = Node::where('id',"=",$id)->first();
if ($node=="")
{
$status="unknown";
}
else
{
if ($node->isNodeOnline() !== null) {
if ($node->isNodeOnline() == false) {
$status="offline";
} else {
$status="online";
}
} else {
$status="unknown";
}
}
return $this->view()->assign('status', $status)->display('check.tpl');
最后,在 /home/wwwroot/sspanel/public 下创建文件 check.tpl ,内容如下
{$status}
如何使用
验证效果:在浏览器访问 https://你的域名/check?id=你的一个节点编号
- 返回
offline表示离线 - 返回
online表示在线 - 返回
unknown表示没有这个节点
节点上写一个脚本,就可以配合 crontab 定时任务利用这个 Api 实现节点离线的 自动重启/上报 了
发表回复