Я проверяю общее количество через API. Если число больше, чем я зарегистрировал в сеансе, я запускаю несколько JS кодов. Но есть проблема, подобная этой. Запись была введена, всего 14 было 15 и код работал. Я также получаю информацию об этом пользователе в рабочем коде. Допустим, было 3 записи одновременно. Всего их было 17. Но код JS был отозван один раз. Только один из них, что я не мог получить информацию других пользователей. Как я могу стоять в очереди? Я надеюсь, что смогу сказать.
PHP Код
public function fireworkCelebration(Request $request)
{
if (!$request->session()->has('token')) {
return response()->json('Ciddi misin?', 500);
}
$siteUrl = Config::get('app.site_url');
$client = new \GuzzleHttp\Client();
$guzzle = $client->request('GET', $siteUrl.'SalesBoard', [
'headers' => [
'content-type' => 'application/json',
'Authorization' => base64_encode('admin'.':'.'XxX')
]
]);
if($guzzle->getStatusCode() === 200) {
$crm = \GuzzleHttp\json_decode($guzzle->getBody()->getContents(), true);
if (Session::has('total')) {
$total = $request->session()->get('total');
if($crm['total'] > $total) {
$request->session()->put('total', $crm['total']);
return response()->json(false);
}else {
return response()->json(true);
}
}else {
$request->session()->put('total', $crm['total']);
}
}
return false;
}
JS Код
function fireworkCelebration() {
$.ajax({
url: '/get-firework-celebration',
type: 'get',
success: function(response) {
if(response === false) {
sound.play();
$('#canvas').css('display', 'block');
$('#app').css('opacity', 0.2);
}
}
});
}
setInterval(fireworkCelebration, 15000);