Skip to content

Commit

Permalink
Actualizacion 8
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeLG90 committed Aug 2, 2024
1 parent 61ddc1a commit 8e4c1b0
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 1 deletion.
31 changes: 31 additions & 0 deletions app/Http/Controllers/DashController.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,4 +118,35 @@ public function index()

return view('barebone', compact('conteo_hoy','chart', 'conteo_permitido', 'conteo_denegado', 'porcentaje_perm', 'porcentaje_deneg'));
}

public function pollAccessCount(Request $request)
{
// definimos la variable de inicio
$start = time();
// definimos el tiempo maximo de espera en segundos
$timeout = 30;
// variable para obtener el ultimo conteo
$lastAccessCount = $request->input('lastAccessCount', 0);

//Iniciar conteo dentro de un ciclo while

while(true) {
//obtenemos el conteo actual
$accessCount = DB::table('eventos_acceso')
->whereDate('created_at', Carbon::today())
->count();

if($accessCount > $lastAccessCount) {
return response()->json(['accessCount' => $accessCount]);
}

if ((time() - $start) >= $timeout) {
return response()->json(['accessCount' => $lastAccessCount]);
}

//Dormir medio segundo para volver a verificar

usleep(500000);
}
}
}
20 changes: 19 additions & 1 deletion resources/views/barebone.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@

<div class="balance-info">
<h6>Intentos de acceso hoy</h6>
<p>{{ $conteo_hoy }}</p>
<p id="access-count">{{ $conteo_hoy }}</p>
</div>
</div>

Expand Down Expand Up @@ -219,6 +219,24 @@

<!-- BEGIN CUSTOM SCRIPTS FILE -->
<x-slot:footerFiles>

<script>
let lastAccessCount = {{ $conteo_hoy }};
function pollAccessCount() {
fetch('poll-access-count?lastAccessCount=' + lastAccessCount)
.then(response => response.json())
.then(data => {
if (data.accessCount > lastAccessCount) {
lastAccessCount = data.accessCount;
document.getElementById('access-count').innerHTML = lastAccessCount;
}
pollAccessCount();
})
.catch(error => console.error('Error:', error));
}
pollAccessCount(); //iniciar el long polling
</script>
<script src="{{asset('plugins/apex/apexcharts.min.js')}}"></script>


Expand Down
2 changes: 2 additions & 0 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
Route::get('/principal', [DashController::class, 'index'])->name('dash');
});

Route::get('/poll-access-count', [DashController::class, 'pollAccessCount'])->name('poll');

Route::middleware('auth')->group(function () {
Route::get('/historial', [EventosController::class, 'index'])->name('eventos');
});
Expand Down

0 comments on commit 8e4c1b0

Please sign in to comment.