Add errror handling on device that use MyKad scanner without driver/services
- Provide download link of the driver in the handling modal
This commit is contained in:
@@ -31,9 +31,9 @@ class NoHttpCache
|
||||
/**
|
||||
* @var $headers \Symfony\Component\HttpFoundation\HeaderBag
|
||||
*/
|
||||
$response->header('Pragma', 'no-cache');
|
||||
$response->header('Expires', 'Fri, 01 Jan 1990 00:00:00 GMT');
|
||||
$response->header('Cache-Control', 'no-cache, must-revalidate, no-store, max-age=0, private');
|
||||
$response->headers->set('Pragma', 'no-cache');
|
||||
$response->headers->set('Expires', 'Fri, 01 Jan 1990 00:00:00 GMT');
|
||||
$response->headers->set('Cache-Control', 'no-cache, must-revalidate, no-store, max-age=0, private');
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
@@ -48,6 +48,11 @@ return [
|
||||
'root' => storage_path('app'),
|
||||
],
|
||||
|
||||
'supports' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('drivers'),
|
||||
],
|
||||
|
||||
'public' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/public'),
|
||||
|
||||
+36
@@ -27,6 +27,42 @@ WebSocketManager = {
|
||||
callback(data, obj.RespCode);
|
||||
};
|
||||
|
||||
wsocket.onerror = evt => {
|
||||
let hideLoader = () => {
|
||||
let pageLoader = document.getElementById('page_loader');
|
||||
pageLoader.removeAttribute('class');
|
||||
};
|
||||
|
||||
hideLoader();
|
||||
wsocket.close();
|
||||
Swal.fire({
|
||||
icon: 'error',
|
||||
title: 'MyKad driver/services not found, please install driver',
|
||||
html: `
|
||||
<div class="mt-2">
|
||||
<button type="button" class="btn-download-driver btn btn-outline-secondary btn-lg mb-2">
|
||||
Download driver <i class="fa fa-download"></i>
|
||||
</button><br>
|
||||
<button type="button" class="btn-yes swal2-confirm swal2-styled">OK</button><br>
|
||||
</div>
|
||||
`,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
willOpen: () => {
|
||||
const yes = document.querySelector('button.btn-yes')
|
||||
const download_driver = document.querySelector('button.btn-download-driver')
|
||||
|
||||
yes.addEventListener('click', () => {
|
||||
swal.close();
|
||||
})
|
||||
|
||||
download_driver.addEventListener('click', () => {
|
||||
window.location.href = mykad_reader_driver_endpoint;
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
},
|
||||
close: function(callback) {
|
||||
wsocket = new WebSocket(WebSocketManager.url);
|
||||
|
||||
@@ -1206,6 +1206,7 @@
|
||||
// mycard-read endpoint initialization
|
||||
let mykad_reader_endpoint = "{{ config('mykad-reader.endpoint') }}";
|
||||
let wakil_caricustomer_endpoint = "{{ route('wakil.caricustomer') }}";
|
||||
let mykad_reader_driver_endpoint = "{{ route('mykadreader.driver.download') }}";
|
||||
</script>
|
||||
<script src="{{ asset('js/iris-mykad-websocket-client-api.js') }}"></script>
|
||||
<script src="{{ asset('js/mykad-reader-customer.js') }}"></script>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Services\ImbangdugaServices;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Web Routes
|
||||
@@ -375,3 +376,7 @@ Route::get('admin/searchpelanggan',['as'=>'admin.searchpelanggan','uses'=>'Khaza
|
||||
Route::get('admin/poskod',['as'=>'admin.poskod','uses'=>'HomeController@poskod']);
|
||||
|
||||
Route::get('pembeliannotifykomuditi',['as'=>'beli.notifyKomoditi','uses'=>'OperasiController@notifyKomoditi'])->middleware('auth','operasi');
|
||||
|
||||
Route::get('supports/driver/mykad-reader',['as'=>'mykadreader.driver.download', function(){
|
||||
return Storage::disk('supports')->download('MykadReaderDriver.zip');
|
||||
}])->middleware('auth','teller');
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user