65 lines
1.8 KiB
Dart
65 lines
1.8 KiB
Dart
import 'dart:async';
|
|
import 'package:background_downloader/background_downloader.dart';
|
|
import 'package:event_bus/event_bus.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
import 'package:get/get.dart';
|
|
|
|
import 'package:pj_supermarket_cloud/common/index.dart';
|
|
|
|
class AppControl extends GetxController {
|
|
static const String _tag = "AppControl";
|
|
|
|
/// 打印机
|
|
late PrintManage printManage;
|
|
|
|
/// 读卡器串口
|
|
late SerialCardManage serialCardManage;
|
|
|
|
/// 称串口
|
|
late SerialSteelyardManage srialSteelyardManage;
|
|
|
|
/// mq
|
|
StreamSubscription? mqListen;
|
|
|
|
EventBus mqUpdateEventBus = EventBus();
|
|
|
|
/// 数据库
|
|
late final AppDatabase dataBase;
|
|
|
|
// 是否有网络
|
|
RxBool isNetwork = RxBool(false);
|
|
|
|
@override
|
|
void onClose() {
|
|
super.onClose();
|
|
printManage.close();
|
|
serialCardManage.close();
|
|
srialSteelyardManage.close();
|
|
AppNetworkTool.closeListenNetwork();
|
|
TtsManage.dispose();
|
|
SyncCheckTool.instance.dispose();
|
|
}
|
|
|
|
Future<void> initAsync() async {
|
|
await AppSettingTool.removeSettingCache();
|
|
var granted = await Permission.manageExternalStorage.request().isGranted;
|
|
if (!granted) {
|
|
granted = await Permission.storage.request().isGranted;
|
|
}
|
|
dataBase = await AppDatabase.getDataBase();
|
|
final setting = await AppSettingTool.getSysSetting();
|
|
AppRuntimeTool.applyManualHardwareInput(setting.manualHardwareInput);
|
|
printManage = PrintManage();
|
|
serialCardManage = SerialCardManage();
|
|
srialSteelyardManage = SerialSteelyardManage();
|
|
AppNetworkTool.listenNetwork();
|
|
await AppFileTool.backupSqlFile();
|
|
await TtsManage.initialize();
|
|
await Future.delayed(const Duration(milliseconds: 500));
|
|
SyncCheckTool.instance.startAll();
|
|
Get.offAllNamed(RouteNames.login);
|
|
}
|
|
}
|