Как сделать API очереди с Laravel? - PullRequest
0 голосов
/ 12 февраля 2020

Я проверяю общее количество через 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...