fuc-new/src/Controllers/User/ServerController.php
hellcat 1fe8673f62 1
2025-10-01 13:34:29 +08:00

50 lines
1.5 KiB
PHP
Executable File

<?php
declare(strict_types=1);
namespace App\Controllers\User;
use App\Controllers\BaseController;
use App\Services\Subscribe;
use App\Utils\Tools;
use Exception;
use Psr\Http\Message\ResponseInterface;
use Slim\Http\Response;
use Slim\Http\ServerRequest;
final class ServerController extends BaseController
{
/**
* @throws Exception
*/
public function index(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$nodes = Subscribe::getUserNodes($this->user, true);
$node_list = [];
foreach ($nodes as $node) {
$node_list[] = [
'id' => $node->id,
'name' => $node->name,
'class' => (int) $node->node_class,
'color' => $node->color,
'connection_type' => $node->connection_type,
'sort' => $node->sort(),
'online_user' => $node->online_user,
'online' => $node->getNodeOnlineStatus(),
'traffic_rate' => $node->traffic_rate,
'is_dynamic_rate' => $node->is_dynamic_rate,
'node_bandwidth' => Tools::autoBytes($node->node_bandwidth),
'node_bandwidth_limit' => $node->node_bandwidth_limit === 0 ? '无限制' :
Tools::autoBytes($node->node_bandwidth_limit),
];
}
return $response->write(
$this->view()
->assign('servers', $node_list)
->fetch('user/server.tpl')
);
}
}