Хорошо, я взял, я добавил к помощнику
function base64url_encode($s) {
return str_replace(array('+', '/'), array('-', '_'), base64_encode($s));
}
function base64url_decode($s) {
return base64_decode(str_replace(array('-', '_'), array('+', '/'), $s));
}
И затем я получаю URI из запроса на просмотр как
<a href="#" data-url="{{ base64url_encode($request->getRequestUri()) }}">Click me</a>
Из JS я посылаю параметры в QrController
public function qrCode(Request $request, $data = null, $type = null, $size = 200) {
$data = (empty($data)) ? env('APP_URL') : $data;
if ($type == 'url') $data = env('APP_URL') . base64url_decode($data);
return view('qr.code')->with('qr', QrCode::size($size)->generate($data));
}
И отлично работает.Base64 имеет + или / иногда, поэтому нужно заменить и - и _, а во-вторых, я добавляю базовый URL из env, чтобы создать полный адрес.
Thx