错误处理

This commit is contained in:
iVampireSP.com 2022-12-06 17:35:57 +08:00
parent 2336eb5754
commit 13730c5dea
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
2 changed files with 75 additions and 65 deletions

View File

@ -2,8 +2,10 @@
namespace App\Http\Controllers\Admin;
use App\Exceptions\EmqxSupportException;
use App\Http\Controllers\Controller;
use App\Support\EmqxSupport;
use Illuminate\Http\Client\ConnectionException;
use Illuminate\Http\Request;
use Illuminate\Pagination\Paginator;
@ -15,11 +17,15 @@ public function index(Request $request)
{
$emqx = new EmqxSupport();
$clients = $emqx->clients([
'clientid' => $request->client_id,
'username' => $request->username,
'page' => $request->page,
]);
try {
$clients = $emqx->clients([
'clientid' => $request->client_id,
'username' => $request->username,
'page' => $request->page,
]);
} catch (EmqxSupportException|ConnectionException $e) {
return back()->with('error', $e->getMessage());
}
// dd($clients);
return view('admin.device.index', compact('clients'));

View File

@ -35,71 +35,75 @@
</thead>
<tbody>
@foreach($clients['data'] as $c)
<tr>
<td>
{{ $c['clientid'] }}
</td>
<td>
<a href="?username={{ $c['username'] }}">{{ $c['username'] }}</a>
</td>
<td>
{{ $c['node'] }}
</td>
<td>
{{ $c['proto_name'] . ' v' . $c['proto_ver'] }}
</td>
<td>
{{ $c['ip_address'] }}
</td>
<td>
@if ($c['clean_start'])
<span class="badge text-success">干净启动</span>
@endif
@if ($c['recv_oct'])
<br/>
<span class="badge text-success">接收字节: {{ $c['recv_oct'] }}</span>
@endif
@if ($c['send_oct'])
<br/>
<span class="badge text-success">发送字节: {{ $c['send_oct'] }}</span>
@endif
</td>
<td>
@if ($c['subscriptions_cnt'] > 0)
<span class="text-success">{{ $c['subscriptions_cnt'] }} </span>
@else
<span class="text-danger">没有</span>
@endif
</td>
<td>
<form action="{{ route('admin.devices.destroy', $c['clientid']) }}" method="post">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm">踢出</button>
</form>
</td>
</tr>
@endforeach
@if(isset($clients))
@foreach($clients['data'] as $c)
<tr>
<td>
{{ $c['clientid'] }}
</td>
<td>
<a href="?username={{ $c['username'] }}">{{ $c['username'] }}</a>
</td>
<td>
{{ $c['node'] }}
</td>
<td>
{{ $c['proto_name'] . ' v' . $c['proto_ver'] }}
</td>
<td>
{{ $c['ip_address'] }}
</td>
<td>
@if ($c['clean_start'])
<span class="badge text-success">干净启动</span>
@endif
@if ($c['recv_oct'])
<br/>
<span class="badge text-success">接收字节: {{ $c['recv_oct'] }}</span>
@endif
@if ($c['send_oct'])
<br/>
<span class="badge text-success">发送字节: {{ $c['send_oct'] }}</span>
@endif
</td>
<td>
@if ($c['subscriptions_cnt'] > 0)
<span class="text-success">{{ $c['subscriptions_cnt'] }} </span>
@else
<span class="text-danger">没有</span>
@endif
</td>
<td>
<form action="{{ route('admin.devices.destroy', $c['clientid']) }}" method="post">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm">踢出</button>
</form>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
<div class="d-none flex-sm-fill d-sm-flex align-items-sm-center justify-content-sm-end">
<div>
<ul class="pagination">
@if ($clients['meta']['page'] > 1)
@if(isset($clients))
<div class="d-none flex-sm-fill d-sm-flex align-items-sm-center justify-content-sm-end">
<div>
<ul class="pagination">
@if ($clients['meta']['page'] > 1)
<li class="page-item">
<a class="page-link" href="?page={{ $clients['meta']['page'] - 1 }}">上一页</a>
</li>
@endif
<li class="page-item">
<a class="page-link" href="?page={{ $clients['meta']['page'] - 1 }}">上一页</a>
<a class="page-link" href="?page={{ $clients['meta']['page'] + 1}}" rel="next"
aria-label="下一页 &raquo;">下一页</a>
</li>
@endif
<li class="page-item">
<a class="page-link" href="?page={{ $clients['meta']['page'] + 1}}" rel="next"
aria-label="下一页 &raquo;">下一页</a>
</li>
</ul>
</ul>
</div>
</div>
</div>
@endif
@endsection