Files
biz_xfj_cloud/lib/common/utils/app/control/app_control.dart
T

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);
}
}