diff --git a/app/Http/Controllers/Admin/NodeController.php b/app/Http/Controllers/Admin/NodeController.php index 077e8c4b..07a8d59b 100644 --- a/app/Http/Controllers/Admin/NodeController.php +++ b/app/Http/Controllers/Admin/NodeController.php @@ -231,21 +231,34 @@ class NodeController extends Controller } } - if (! empty($ret)) { + if ($ret) { return Response::json(['status' => 'success', 'message' => '获取地理位置更新成功!']); } - return Response::json(['status' => 'fail', 'message' => '获取地理位置更新失败!']); + return Response::json(['status' => 'fail', 'message' => '【存在】获取地理位置更新失败!']); } // 重载节点 - public function reload(Node $node): JsonResponse + public function reload($id): JsonResponse { - if (reloadNode::dispatchNow($node)) { + $ret = false; + if ($id) { + $node = Node::findOrFail($id); + $ret = reloadNode::dispatchNow($node); + } else { + foreach (Node::whereStatus(1)->whereType(4)->get() as $node) { + $result = reloadNode::dispatchNow($node); + if ($result && ! $ret) { + $ret = true; + } + } + } + + if ($ret) { return Response::json(['status' => 'success', 'message' => '重载成功!']); } - return Response::json(['status' => 'fail', 'message' => '重载失败!']); + return Response::json(['status' => 'fail', 'message' => '【存在】重载失败!']); } // 节点流量监控 diff --git a/resources/views/admin/node/index.blade.php b/resources/views/admin/node/index.blade.php index 5ebaa004..4dd98dee 100644 --- a/resources/views/admin/node/index.blade.php +++ b/resources/views/admin/node/index.blade.php @@ -18,9 +18,16 @@

节点列表

@canany(['admin.node.geo', 'admin.node.create'])
+ @can('admin.node.reload') + @if($nodeList->where('type',4)->count()) + + @endif + @endcan @can('admin.node.geo') - @endcan @can('admin.node.create') @@ -84,16 +91,15 @@ @endif @else @if ($node->status) - {{-- 节点完全不可见 --}} - + @else - {{-- 节点 关闭 --}} - + @endif @endif - @canany(['admin.node.edit', 'admin.node.destroy', 'admin.node.monitor', 'admin.node.geo', 'admin.node.ping', 'admin.node.check', 'admin.node.reload']) + @canany(['admin.node.edit', 'admin.node.clone', 'admin.node.destroy', 'admin.node.monitor', 'admin.node.geo', 'admin.node.ping', 'admin.node + .check', 'admin.node.reload']) @@ -126,19 +132,19 @@ @endcan @can('admin.node.ping') - 检测延迟 + 检测延迟 @endcan @can('admin.node.check') - 连通性检测 + 连通性检测 @endcan @if($node->type === 4) @can('admin.node.reload')
- 重载后端 + 重载后端 @endcan @endif @@ -166,8 +172,13 @@ @endif - - @canany(['admin.node.edit', 'admin.node.destroy', 'admin.node.monitor', 'admin.node.geo', 'admin.node.ping', 'admin.node.check', 'admin.node.reload']) + + @if (!$childNode->status || !$node->status) + + @endif + + + @canany(['admin.node.edit', 'admin.node.clone', 'admin.node.destroy', 'admin.node.monitor', 'admin.node.geo', 'admin.node.ping', 'admin.node.check']) @@ -196,27 +207,19 @@
@can('admin.node.geo') - 刷新地理 + 刷新地理 @endcan @can('admin.node.ping') - 检测延迟 + 检测延迟 @endcan @can('admin.node.check') - 连通性检测 + 连通性检测 @endcan - @if($childNode->type === 4) - @can('admin.node.reload') -
- - 重载后端 - - @endcan - @endif
@endcan @@ -254,7 +257,7 @@ url: '{{route('admin.node.check', '')}}/' + id, data: {_token: '{{csrf_token()}}'}, beforeSend: function() { - $('#node' + id).removeClass('wb-signal').addClass('wb-loop icon-spin'); + $('#node_' + id).removeClass('wb-signal').addClass('wb-loop icon-spin'); }, success: function(ret) { if (ret.status === 'success') { @@ -273,7 +276,7 @@ } }, complete: function() { - $('#node' + id).removeClass('wb-loop icon-spin').addClass('wb-signal'); + $('#node_' + id).removeClass('wb-loop icon-spin').addClass('wb-signal'); }, }); } @@ -287,7 +290,7 @@ url: '{{route('admin.node.ping', '')}}/' + id, data: {_token: '{{csrf_token()}}'}, beforeSend: function() { - $('#ping' + id).removeClass('wb-order').addClass('wb-loop icon-spin'); + $('#ping_' + id).removeClass('wb-order').addClass('wb-loop icon-spin'); }, success: function(ret) { if (ret.status === 'success') { @@ -301,7 +304,7 @@ } }, complete: function() { - $('#ping' + id).removeClass('wb-loop icon-spin').addClass('wb-order'); + $('#ping_' + id).removeClass('wb-loop icon-spin').addClass('wb-order'); }, }); } @@ -323,7 +326,7 @@ url: '{{route('admin.node.reload', '')}}/' + id, data: {_token: '{{csrf_token()}}'}, beforeSend: function() { - $('#reload' + id).removeClass('wb-reload').addClass('wb-loop icon-spin'); + $('#reload_' + id).removeClass('wb-reload').addClass('wb-loop icon-spin'); }, success: function(ret) { if (ret.status === 'success') { @@ -333,7 +336,7 @@ } }, complete: function() { - $('#reload' + id).removeClass('wb-loop icon-spin').addClass('wb-reload'); + $('#reload_' + id).removeClass('wb-loop icon-spin').addClass('wb-reload'); }, }); } @@ -349,7 +352,7 @@ url: '{{route('admin.node.geo', '')}}/' + id, data: {_token: '{{csrf_token()}}'}, beforeSend: function() { - $('#geo' + id).removeClass('wb-map').addClass('wb-loop icon-spin'); + $('#geo_' + id).removeClass('wb-map').addClass('wb-loop icon-spin'); }, success: function(ret) { if (ret.status === 'success') { @@ -359,7 +362,7 @@ } }, complete: function() { - $('#geo' + id).removeClass('wb-loop icon-spin').addClass('wb-map'); + $('#geo_' + id).removeClass('wb-loop icon-spin').addClass('wb-map'); }, }); } diff --git a/routes/admin.php b/routes/admin.php index d953190d..eef6c3f7 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -44,7 +44,7 @@ Route::prefix('admin')->name('admin.')->group(function () { Route::post('check/{node}', 'NodeController@checkNode')->name('check'); // 节点阻断检测 Route::post('ping/{node}', 'NodeController@pingNode')->name('ping'); // 节点ping测速 Route::get('refreshGeo/{id}', 'NodeController@refreshGeo')->name('geo'); // 更新节点 - Route::post('reload/{node}', 'NodeController@reload')->name('reload'); // 更新节点 + Route::post('reload/{id}', 'NodeController@reload')->name('reload'); // 更新节点 Route::resource('auth', 'NodeAuthController')->except(['create', 'show', 'edit']); // 节点授权相关 Route::resource('cert', 'CertController')->except('show'); // 节点域名tls相关