Blame view

lib/pages/moduleSelect/bloc.dart 1.63 KB
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
1
  import 'package:bloc/bloc.dart';
cde7505e   吴启风   feat:应用内升级
2
3
4
  import 'package:flutter/cupertino.dart';
  import 'package:flutter/foundation.dart';
  import 'package:wow_english/models/app_config_entity.dart';
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
5
  
cde7505e   吴启风   feat:应用内升级
6
  import '../../common/core/app_config_helper.dart';
2c079546   吴启风   feat:应用内更新接口替换
7
8
9
  import '../../common/request/dao/system_dao.dart';
  import '../../models/app_version_entity.dart';
  import '../../utils/log_util.dart';
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
10
11
12
  import 'event.dart';
  import 'state.dart';
  
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
13
  class ModuleSelectBloc extends Bloc<ModuleSelectEvent, ModuleSelectState> {
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
14
15
16
17
18
    ModuleSelectBloc() : super(ModuleSelectState().init()) {
      on<InitEvent>(_init);
    }
  
    void _init(InitEvent event, Emitter<ModuleSelectState> emit) async {
cde7505e   吴启风   feat:应用内升级
19
20
21
22
23
      await _checkUpdate(emit);
      debugPrint('WQF ModuleSelectBloc _init');
    }
  
    Future<void> _checkUpdate(Emitter<ModuleSelectState> emit) async {
2c079546   吴启风   feat:应用内更新接口替换
24
25
26
      if (AppConfigHelper.checkedUpdate) {
        return;
      }
cde7505e   吴启风   feat:应用内升级
27
      int localVersion = int.parse(await AppConfigHelper.getAppVersion());
2c079546   吴启风   feat:应用内更新接口替换
28
29
30
      AppVersionEntity? appVersionEntity = await SystemDao.getVersionInfo();
      AppConfigHelper.checkedUpdate = true;
      if (appVersionEntity == null) {
cde7505e   吴启风   feat:应用内升级
31
32
        return;
      }
2c079546   吴启风   feat:应用内更新接口替换
33
      Log.d("WQF _checkUpdate appVersionEntity: $appVersionEntity localVersion=$localVersion");
cde7505e   吴启风   feat:应用内升级
34
      if (defaultTargetPlatform == TargetPlatform.iOS) {
2c079546   吴启风   feat:应用内更新接口替换
35
        if (localVersion < int.parse(appVersionEntity.version ?? '0')) {
cde7505e   吴启风   feat:应用内升级
36
          emit(UpdateDialogState(
2c079546   吴启风   feat:应用内更新接口替换
37
              appVersionEntity.volType == UpdateStrategy.FORCE.name, appVersionEntity));
cde7505e   吴启风   feat:应用内升级
38
39
        }
      } else {
2c079546   吴启风   feat:应用内更新接口替换
40
        if (localVersion < int.parse(appVersionEntity.version ?? '0')) {
cde7505e   吴启风   feat:应用内升级
41
          emit(UpdateDialogState(
2c079546   吴启风   feat:应用内更新接口替换
42
              appVersionEntity.volType == UpdateStrategy.FORCE.name, appVersionEntity));
cde7505e   吴启风   feat:应用内升级
43
44
        }
      }
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
45
46
    }
  }