artemis_acps 0.0.22
artemis_acps: ^0.0.22 copied to clipboard
A new Flutter package for acps printing
import 'dart:convert';
import 'dart:developer';
import 'package:artemis_acps/artemis_acps.dart';
import 'package:artemis_acps/classes/artemis_acps_bagtag_class.dart';
import 'package:artemis_acps/classes/artemis_acps_boarding_pass_class.dart';
import 'package:artemis_acps/classes/artemis_acps_device_config_class.dart';
import 'package:artemis_acps/classes/artemis_acps_workstation_class.dart';
import 'package:artemis_acps/widgets/general_buttom.dart';
import 'package:flutter/material.dart';
void main() {
// runApp(ArtemisAcpsStatusProvider(child: MyApp()));
runApp(MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(home: MyHomePage());
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
List<ArtemisAcpsWorkstation> ws = [];
List<ArtemisAcps> acpsList = [
ArtemisAcps(
airport: 'zzz',
baseUrl: 'https://printlayerapi.abomis.com',
airline: "zz",
onReceivedData: (a) {
log("recievied ${a.data}");
},
onError: (e) {
log("onErr ${e}");
},
),
ArtemisAcps(airport: 'zzz', baseUrl: 'http://192.168.45.72:45457', airline: "zz"),
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: Text("")),
body: Center(
child: SingleChildScrollView(
child: Column(
children: [
...acpsList
.sublist(0, 1)
.map(
(acps) => Column(
children: [
// ...(acps.kioskSettingMap??{}).keys.map((a)=>Text(a)),
// acps.getKioskWidget(),
// acps.getSocketStatusWidget(),
// acps.getKioskStatusWidget(),
// acps.getKioskDevicesWidget(filter: [],size: 35),
acps.getGeneralWidget(
generalWidgetBuilder: (_, __, ___, a, d) {
if (d.isEmpty) {
return Text("Empty");
}
return acps.getGeneralWidget();
},
),
acps.getVirtualDevicesWidget(
readersWidgetBuilder: (a, b, c, d, rd) {
return Column(
children:
rd.map((d) {
return Row(
children: [
d.getIcons(size:24),
TextButton(onPressed: () {
d.broadcastData("test");
}, child: Text("${d.readerType.name}")),
],
);
}).toList(),
);
},
),
GeneralButton(
onPressed: () async {
ArtemisAcpsBoardingPass bp = ArtemisAcpsBoardingPass(
name: "Mahmood BKH",
title: "MR",
seq: "1",
fromCity: "YVR",
toCity: "IST",
classType: "E",
passengerType: "ADL",
seat: "2A",
airlineCode: "ZZ",
flightNumber: "1010",
flightDate: '2020-12-12',
std: "18:10",
gate: '1',
fromCityName: '',
toCityName: '',
airlineName: 'ZZ',
referenceNo: '',
baggageCount: 1,
baggageWeight: 2,
barcodeData: 'dadsad',
btd: '',
);
ArtemisAcpsBagtag bt = ArtemisAcpsBagtag(
tagNumber: '1001001001',
sixDigitNumber: '001001',
name: 'Mahmood bkh',
referenceNo: '1234',
airlineThreeDigitCode: '001',
baggageCount: 1,
baggageWeight: 10,
weightUnit: 'KG',
firstAirportCode: 'ZZZ',
firstAirportName: 'ZZZ',
lastAirlineName: 'ZZ',
lastFlightNumber: '1010',
lastFlightDate: '07OCT',
lastAirportCode: 'ZZZ',
lastAirportName: 'ZZZ',
lastClassType: 'E',
);
await acps.controller.printApi(bpList: [bp], btList: [bt]);
// final res = await acps.controller.printData(bpList: [bp],btList: [bt]);
// log(res.isSuccessful.toString());
},
label: 'Print Data',
),
TextButton(
onPressed: () async {
try {
final a = await acps.controller.testAeaPrint(hasBp: true, hasBt: false);
if (!a.isSuccessful) {
log("errrrrrrr ${a.message} || ${a.description}");
}
log("a ${a.description}");
} catch (e) {}
},
child: Text("test print"),
),
TextButton(
onPressed: () async {
log("${acps.kiosk?.deviceId}");
log("${acps.kioskSettingAllMap}");
acps.controller.addVirtualScanner(ReaderDeviceType.ocDevice);
},
child: Text("connect as scanner"),
),
TextButton(
onPressed: () async {
log("${acps.kiosk?.deviceId}");
log("${acps.kioskSettingAllMap}");
// acps.controller.broadcastData("omid LoooLe kesh 2");
},
child: Text("broadcast data"),
),
TextButton(
onPressed: () async {
// String testBarcode ="bdcsprinterqr|kiosk|325a2328-5f72-45ba-aac4-18a4b35f92d3|3|https://testprintlayerapinew.abomis.com/ACPSHub|adf6624a-9f82-4e11-93af-f34ecca4fca1||";
// String testBarcode ="bdcsprinterqr|kiosk|e4c1bef7-3602-40bd-8c67-c54c3b3a4313|3|https://testprintlayerapinew.abomis.com/ACPSHub|adf6624a-9f82-4e11-93af-f34ecca4fca1|3-9-9-KIOSKSALLY|";
// String testBarcode ="bdcsprinterqr|kiosk|1b4e1c7b-0779-4626-ae36-6209a3ef298a|3|https://printlayerapi-test.abomis.com/ACPSHub|adf6624a-9f82-4e11-93af-f34ecca4fca1|1025-1037-1046-KIOSK115|";
// String testBarcode ="bdcsprinterqr|kiosk|1b4e1c7b-0779-4626-ae36-6209a3ef298a|3|https://testprintlayerapinew.abomis.com/ACPSHub|adf6624a-9f82-4e11-93af-f34ecca4fca1|1026-1036-1045-KIOSK115|";
// String testBarcode ="bdcsprinterqr|kiosk|e4c1bef7-3602-40bd-8c67-c54c3b3a4313|3|https://testprintlayerapinew.abomis.com/ACPSHub|adf6624a-9f82-4e11-93af-f34ecca4fca1|3-9-9-KIOSKSALLY|";
String testBarcode = "bdcsprinterqr|kiosk|e4c1bef7-3602-40bd-8c67-c54c3b3a4313|3|https://printlayerapi.abomis.com/ACPSHub|adf6624a-9f82-4e11-93af-f34ecca4fca1|1033-1045-1054-KIOSKALLY|";
///https://testprintlayerapinew.abomis.com/ACPSHub?DeviceID=e4c1bef7-3602-40bd-8c67-c54c3b3a4313&IsDcs=3&AirportToken=adf6624a-9f82-4e11-93af-f34ecca4fca1
log("tes ${testBarcode}");
acps.controller.connectWorkstationWithQr(testBarcode);
},
child: Text("connect qr"),
),
TextButton(
onPressed: () async {
await acps.controller.disconnectSocket();
},
child: Text("Disconnect"),
),
// TextButton(
// onPressed: () async {
// await acps.controller.reconnectSocket();
// },
// child: Text("Reconnect"),
// ),
TextButton(
onPressed: () async {
log(acps.kioskSettingMap.toString());
},
child: Text("setting"),
),
Divider(),
],
),
)
.toList(),
],
),
),
// child: Column(
// children: <Widget>[
//
// OutlinedButton(
// onPressed: () {
// // ArtemisAcpsUtil.init(onKioskStatusChanged: (_) {}, onKioskChanged: (_) {}, onError: (_) {}, onReceiveData: (_) {}, onSocketStatusRefresh: (_) {}, baseUrl: "https://testprintlayerapinew.abomis.com", airport: "ZZZ");
// },
// child: Text("INIT "),
// ),
// OutlinedButton(
// onPressed: () async {
// // final wsl = await ArtemisAcpsUtil.getWorkstations();
// // ws = wsl;
// // setState(() {});
// // print(ws.length);
// },
// child: Text("GET WS"),
// ),
// OutlinedButton(
// onPressed: () async {
// },
// child: Text("GET WS"),
// ),
// Row(children: [
// Expanded(child: SocketStatusIndicator()),
// Expanded(child: KioskStatusStatusIndicator()),
// Expanded(child: KioskStatusIndicator()),
// Expanded(child: DeviceList()),
// ],),
// Expanded(
// child: ListView(
// children:
// ws
// .map(
// (w) => Container(
// padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12),
// decoration: BoxDecoration(border: Border.all(color: Colors.blue)),
// child: Row(
// children: [
// Expanded(child: Text(w.workstationName)),
// Expanded(
// flex: 3,
// child: Row(
// children: [
// Expanded(
// child: OutlinedButton(
// onPressed: () {
// // ArtemisAcpsUtil.connectWorkstation(w);
// },
// child: Text("Connect"),
//
// ),
// ),
//
// ],
// ),
// ),
// ],
// ),
// ),
// )
// .toList(),
// ),
// ),
// ],
// ),
),
);
}
}