feat(api): 新增节点墙检测自动托管与显隐
新增定时墙检测命令与节点托管字段,自动为开启托管的父 节点创建检测任务,并在 blocked 时自动隐藏节点、normal 时仅恢复由墙检测自动隐藏的节点 更新自动上线服务以尊重 blocked 与自动隐藏状态,避免疑 似被墙节点被重新发布;同时补齐管理端墙检测托管开关、 刷新入口、批量设置与相关测试和知识库同步
This commit is contained in:
@@ -59,6 +59,10 @@ class ManageController extends Controller
|
||||
return $this->fail([400202, '服务器不存在']);
|
||||
}
|
||||
try {
|
||||
if (array_key_exists('show', $params)) {
|
||||
$params['gfw_auto_hidden'] = false;
|
||||
$params['gfw_auto_action_at'] = null;
|
||||
}
|
||||
$server->update($params);
|
||||
return $this->success(true);
|
||||
} catch (\Exception $e) {
|
||||
@@ -82,6 +86,7 @@ class ManageController extends Controller
|
||||
'id' => 'required|integer',
|
||||
'show' => 'nullable|integer',
|
||||
'auto_online' => 'nullable|boolean',
|
||||
'gfw_check_enabled' => 'nullable|boolean',
|
||||
'machine_id' => 'nullable|integer',
|
||||
'enabled' => 'nullable|boolean',
|
||||
]);
|
||||
@@ -93,10 +98,15 @@ class ManageController extends Controller
|
||||
|
||||
if (array_key_exists('show', $params)) {
|
||||
$server->show = (int) $params['show'];
|
||||
$server->gfw_auto_hidden = false;
|
||||
$server->gfw_auto_action_at = null;
|
||||
}
|
||||
if (array_key_exists('auto_online', $params)) {
|
||||
$server->auto_online = (bool) $params['auto_online'];
|
||||
}
|
||||
if (array_key_exists('gfw_check_enabled', $params)) {
|
||||
$server->gfw_check_enabled = (bool) $params['gfw_check_enabled'];
|
||||
}
|
||||
if (array_key_exists('machine_id', $params)) {
|
||||
$server->machine_id = $params['machine_id'] ?: null;
|
||||
}
|
||||
@@ -231,6 +241,7 @@ class ManageController extends Controller
|
||||
'ids.*' => 'integer',
|
||||
'show' => 'nullable|integer|in:0,1',
|
||||
'auto_online' => 'nullable|boolean',
|
||||
'gfw_check_enabled' => 'nullable|boolean',
|
||||
'enabled' => 'nullable|boolean',
|
||||
'machine_id' => 'nullable|integer',
|
||||
'host' => 'sometimes|required|string',
|
||||
@@ -247,10 +258,15 @@ class ManageController extends Controller
|
||||
$update = [];
|
||||
if (array_key_exists('show', $params) && $params['show'] !== null) {
|
||||
$update['show'] = (int) $params['show'];
|
||||
$update['gfw_auto_hidden'] = false;
|
||||
$update['gfw_auto_action_at'] = null;
|
||||
}
|
||||
if (array_key_exists('auto_online', $params) && $params['auto_online'] !== null) {
|
||||
$update['auto_online'] = (bool) $params['auto_online'];
|
||||
}
|
||||
if (array_key_exists('gfw_check_enabled', $params) && $params['gfw_check_enabled'] !== null) {
|
||||
$update['gfw_check_enabled'] = (bool) $params['gfw_check_enabled'];
|
||||
}
|
||||
if (array_key_exists('enabled', $params) && $params['enabled'] !== null) {
|
||||
$update['enabled'] = (bool) $params['enabled'];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user