Flutter app for Asset Management
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 

84 Zeilen
2.5 KiB

  1. import 'dart:async';
  2. import 'dart:convert';
  3. import 'dart:io';
  4. import 'package:flutter/material.dart';
  5. import 'package:http/http.dart' as http;
  6. import 'package:barcode_scan/barcode_scan.dart';
  7. import 'package:fluttertoast/fluttertoast.dart';
  8. import '../main.dart';
  9. class Util{
  10. scan()async{
  11. String BarcodeText ='';
  12. try{
  13. ScanResult result = await BarcodeScanner.scan();
  14. BarcodeText = result.rawContent;
  15. return {'STATUS':1,'DATA':BarcodeText};
  16. }
  17. catch(e){
  18. return {'STATUS':0,'DATA':e};
  19. }
  20. }
  21. JsonDataPostRaw(Map jsonData, String url,{timeout:false,duration:10}) async{
  22. const JsonDecoder decoder = const JsonDecoder();
  23. try {
  24. var response;
  25. if (timeout)
  26. response = await http.post(
  27. '$url', headers: {'Content-type': 'application/json'},
  28. body: json.encode(jsonData)).timeout(
  29. Duration(seconds: duration));
  30. else
  31. response = await http.post(
  32. '$url', headers: {'Content-type': 'application/json'},
  33. body: json.encode(jsonData));
  34. final Map data = decoder.convert(response.body);
  35. return data;
  36. } on TimeoutException catch(e){
  37. return {"STATUS":"ERROR","ERROR":"Request Timeout"};
  38. }
  39. on Exception catch(exception){
  40. print(url);
  41. // Toast("Not Connected to Server", Colors.red);
  42. return {"STATUS":"ERROR","ERROR":"Not Connected to Server. $exception"};
  43. }
  44. }
  45. showToast(type,text)async{
  46. await Fluttertoast.cancel();
  47. Fluttertoast.showToast(
  48. msg: "$text",
  49. toastLength: Toast.LENGTH_SHORT,
  50. gravity: ToastGravity.BOTTOM,
  51. timeInSecForIosWeb: 1,
  52. backgroundColor: (type=='ERROR')?Colors.red:(type=='SUCCESS')?Colors.green:Colors.black38,
  53. textColor: Colors.white,
  54. fontSize: 16.0
  55. );
  56. }
  57. showLoading(context,{dissmissable=false,onwillpop}){
  58. showDialog(
  59. context: context,
  60. builder: (BuildContext context) {
  61. return WillPopScope(
  62. onWillPop: onwillpop??()async{return true;},
  63. child: new Center(
  64. child: new CircularProgressIndicator(),
  65. ),
  66. );
  67. },
  68. barrierDismissible: dissmissable,
  69. );
  70. }
  71. checkinternet()async{
  72. try {
  73. var result = await InternetAddress.lookup('google.com').timeout(Duration(seconds: 3),onTimeout: (){return null;});
  74. if (result!=null && result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
  75. return true;
  76. }
  77. else return false;
  78. } on SocketException catch (_) {
  79. return false;
  80. }
  81. }
  82. }