flutter app untuk unitstock
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 

68 рядки
2.1 KiB

  1. import 'dart:async';
  2. import 'dart:io';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter/services.dart';
  5. import 'package:http/http.dart';
  6. import 'package:unitstocks/Util/Prefs.dart';
  7. import 'package:unitstocks/login_page.dart';
  8. import 'home_page.dart';
  9. import 'stocking.dart';
  10. import 'unit_details.dart';
  11. import 'package:shared_preferences/shared_preferences.dart';
  12. import 'package:location/location.dart';
  13. import 'Util/Util.dart';
  14. SharedPreferences prefs;
  15. Location location = Location();
  16. StreamSubscription locationStream;
  17. LocationData currentPosisiton;
  18. Util util = new Util();
  19. Client http = new Client();
  20. SecurityContext clientContext;
  21. registerCert()async{
  22. ByteData bytes = await rootBundle.load('cert/isrgrootx1.pem');
  23. clientContext = new SecurityContext()
  24. ..setTrustedCertificatesBytes(bytes.buffer.asUint8List());
  25. }
  26. void main() async{
  27. WidgetsFlutterBinding.ensureInitialized();
  28. prefs = await SharedPreferences.getInstance();
  29. await registerCert();
  30. if( prefs.getString(keyClass.hostAddress) ==null)await prefs.setString(keyClass.hostAddress, "https://tbg.thamringroup.web.id/ords/tbs/unit/v1");
  31. await prefs.setString(keyClass.restTokenAddress, "https://tbg.thamringroup.web.id/ords/tbs/oauth/token");
  32. SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
  33. .then((_) {
  34. runApp(new MyApp());
  35. });
  36. }
  37. class MyApp extends StatelessWidget {
  38. @override
  39. Widget build(BuildContext context) {
  40. return MaterialApp(
  41. title: 'Unit Stock',
  42. theme: ThemeData(
  43. pageTransitionsTheme: PageTransitionsTheme(
  44. builders: {
  45. TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
  46. }
  47. ),
  48. primarySwatch: Colors.indigo,
  49. ),
  50. debugShowCheckedModeBanner: false,
  51. home: (prefs.getBool(keyClass.logged_in)??false)?HomePage(title:'Home Page'):LoginPage(),
  52. routes: {
  53. '/home': (context) => new HomePage(title:'Home Page'),
  54. '/stocking' : (context) => new Stocking(),
  55. '/unitdetails' : (context) => new UnitDetails(),
  56. '/login' :(context) => new LoginPage(),
  57. },
  58. );
  59. }
  60. }