import axios, { AxiosInstance, AxiosResponse, GenericAbortSignal } from 'axios'; import { DeviceList } from 'v2/ButtonScan/ButtonScan.vue.d'; export interface ServiceOptions { headers?: Record; params?: Record; signal?: GenericAbortSignal; } interface ScannerResponse { deviceList: DeviceList; } const API = ({ headers = {}, params = {}, signal = undefined, }: ServiceOptions = {}): AxiosInstance => { const instance = axios.create({ baseURL: 'https://localhost:9001', headers: { // Authorization: `Bearer ${user.token}`, ...headers, }, params, signal, }); return instance; }; const ScannerServices = { connectDevice(): Promise> { return API().get('/connect'); }, scan( type: 'RFID' | 'QR', signal: GenericAbortSignal, sn: string, version: string, ): Promise> { return API({ signal, params: { sn } }).get( `/${version}/${type === 'RFID' ? 'scan' : 'qrscan'}`, ); }, stopScan(): Promise { return API().get('/stopscan'); }, }; /* * Const scan = (controlller: any, serialNumber: string, version: string) => { * return API({ signal: controlller, params: { sn: serialNumber } }).get( * `/${version}/scan`, * ); * }; */ /* * Const connectDevice = () => { * return API().get('/connect'); * }; */ /* * Const connect = () => { * return API().get('/connect'); * }; */ /* * Const scanQr = (controlller: any, serialNumber: string) => { * return API({ signal: controlller, params: { sn: serialNumber } }).get( * '/v1/qrscan', * ); * }; */ /* * Const connectHandheld = () => { * return API().get('/v2/connect'); * }; */ /* * Const scanHandheld = (controlller: any) => { * return API({ signal: controlller }).get('/v2/scan'); * }; */ // /* // * Const bulkScan = () => { // * Return API().get('/bulkscan'); // * }; // */ /* * Const stopScan = () => { * // Console.log('stop scan'); * return API().get('/stopscan'); * }; */ /* * Const ScanAPIs = { * connectDevice, * connect, * scan, * scanQr, * connectHandheld, * scanHandheld, * // BulkScan, * stopScan, * }; */ export default ScannerServices;