- Düzenlendi
Merhaba,
API üzerinden total kontrolü yapıyorum. Eğer sayı session'a kayıt ettiğimden büyükse belli bir kaç JS kodu çalıştırıyorum.
Fakat şöyle bir sorun var. Kayıt girildi 14 olan total 15 oldu ve kod çalıştı. Çalışan kodda da o kullanıcı hakkında bilgi de alıyorum. Diyelim ki aynı anda 3 giriş oldu. 14 olan total 17 oldu. Ama JS kodu bir kere çekildi. Diğer kullanıcıların bilgilerini alamadım sadece bir tanesi. Nasıl kuyruğa alabilirim? Umarım anlatabilmişimdir
PHP kod örneği
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 kod örneği
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);