Blame view

lib/pages/home/bloc.dart 1.99 KB
0e314ad5   吴启风   feat:开屏页播放背景音乐wel...
1
2
  import 'dart:async';
  
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
3
  import 'package:bloc/bloc.dart';
d5fb5080   biao   设置页添加版本号 ,播放音频冗余代码删除
4
  import 'package:wow_english/common/core/user_util.dart';
99b94d6c   吴启风   feat:首页增加信息弹窗
5
  import 'package:wow_english/models/popup_entity.dart';
025d8543   biao   首页gametime播放修改
6
  import 'package:wow_english/utils/audio_player_util.dart';
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
7
  
cde7505e   吴启风   feat:应用内升级
8
  import '../../common/core/app_config_helper.dart';
2c079546   吴启风   feat:应用内更新接口替换
9
10
11
  import '../../common/request/dao/system_dao.dart';
  import '../../models/app_version_entity.dart';
  import '../../utils/log_util.dart';
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
12
13
14
  import 'event.dart';
  import 'state.dart';
  
f74aeedc   吴启风   feat:首页类名调整
15
16
  class HomeBloc extends Bloc<HomeEvent, HomeState> {
    HomeBloc() : super(HomeState().init()) {
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
17
      on<InitEvent>(_init);
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
18
      on<ExchangeSuccessEvent>(_exchangeSuccess);
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
19
20
    }
  
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
21
    bool exchangeResult = false;
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
22
  
2187c85f   吴启风   feat:课程结构调整
23
    void _init(InitEvent event, Emitter<HomeState> emit) async {
d5fb5080   biao   设置页添加版本号 ,播放音频冗余代码删除
24
      if (UserUtil.isLogined()) {
9e14f47a   吴启风   feat:解决开场音乐前点击(带音...
25
        AudioPlayerUtil.getInstance().playAudio(AudioPlayerUtilType.touch);
d5fb5080   biao   设置页添加版本号 ,播放音频冗余代码删除
26
      }
cde7505e   吴启风   feat:应用内升级
27
      await _checkUpdate(emit);
99b94d6c   吴启风   feat:首页增加信息弹窗
28
      await _getPopupInfo(emit);
cde7505e   吴启风   feat:应用内升级
29
30
    }
  
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
31
32
33
34
35
36
37
    void _exchangeSuccess(
        ExchangeSuccessEvent event, Emitter<HomeState> emit) async {
      if (exchangeResult) {
        emit(HomeState());
      }
    }
  
2187c85f   吴启风   feat:课程结构调整
38
    Future<void> _checkUpdate(Emitter<HomeState> emit) async {
2c079546   吴启风   feat:应用内更新接口替换
39
40
41
      if (AppConfigHelper.checkedUpdate) {
        return;
      }
cde7505e   吴启风   feat:应用内升级
42
      int localVersion = int.parse(await AppConfigHelper.getAppVersion());
2c079546   吴启风   feat:应用内更新接口替换
43
44
45
      AppVersionEntity? appVersionEntity = await SystemDao.getVersionInfo();
      AppConfigHelper.checkedUpdate = true;
      if (appVersionEntity == null) {
cde7505e   吴启风   feat:应用内升级
46
47
        return;
      }
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
48
      Log.d(
2d1ead53   吴启风   feat:背景音播放优化
49
          "HomeBloc _checkUpdate appVersionEntity: $appVersionEntity localVersion=$localVersion");
911794fd   吴启风   feat:审核控制增加ios平台条件判断
50
51
      if (localVersion < int.parse(appVersionEntity.version ?? '0')) {
        emit(UpdateDialogState(
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
52
53
            appVersionEntity.volType == UpdateStrategy.FORCE.name,
            appVersionEntity));
cde7505e   吴启风   feat:应用内升级
54
      }
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
55
    }
99b94d6c   吴启风   feat:首页增加信息弹窗
56
57
58
59
60
61
62
63
64
65
  
    Future<void> _getPopupInfo(Emitter<HomeState> emit) async {
      PopupEntity? popupEntity = await SystemDao.getPopupInfo();
      Log.d(
          "HomeBloc _getPopupInfo _getPopupInfo: $popupEntity");
      if (popupEntity == null) {
        return;
      }
      emit(PopupDialogState(popupEntity));
    }
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
66
  }