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:
afiq.hamzah
2023-03-08 16:17:08 +08:00
parent def687b3a0
commit 454bf9a931
6 changed files with 223 additions and 176 deletions
+3 -3
View File
@@ -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;
}
+5
View File
@@ -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
View File
@@ -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>
+5
View File
@@ -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.