Blame view

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