Blame view

lib/pages/home/bloc.dart 1.71 KB
82c8633c   biao   音频添加 页面优化
1
  import 'package:audioplayers/audioplayers.dart';
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
2
  import 'package:bloc/bloc.dart';
d5fb5080   biao   设置页添加版本号 ,播放音频冗余代码删除
3
  import 'package:wow_english/common/core/user_util.dart';
82c8633c   biao   音频添加 页面优化
4
  import 'package:wow_english/common/extension/string_extension.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()) {
b1869cf8   biao   背景音乐添加
24
        AudioPlayerUtil.getInstance().playAudio(AudioPlayerUtilType.welcomeToWow);
d5fb5080   biao   设置页添加版本号 ,播放音频冗余代码删除
25
      }
cde7505e   吴启风   feat:应用内升级
26
      await _checkUpdate(emit);
cde7505e   吴启风   feat:应用内升级
27
28
    }
  
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
29
30
31
32
33
34
35
    void _exchangeSuccess(
        ExchangeSuccessEvent event, Emitter<HomeState> emit) async {
      if (exchangeResult) {
        emit(HomeState());
      }
    }
  
2187c85f   吴启风   feat:课程结构调整
36
    Future<void> _checkUpdate(Emitter<HomeState> emit) async {
2c079546   吴启风   feat:应用内更新接口替换
37
38
39
      if (AppConfigHelper.checkedUpdate) {
        return;
      }
cde7505e   吴启风   feat:应用内升级
40
      int localVersion = int.parse(await AppConfigHelper.getAppVersion());
2c079546   吴启风   feat:应用内更新接口替换
41
42
43
      AppVersionEntity? appVersionEntity = await SystemDao.getVersionInfo();
      AppConfigHelper.checkedUpdate = true;
      if (appVersionEntity == null) {
cde7505e   吴启风   feat:应用内升级
44
45
        return;
      }
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
46
      Log.d(
2d1ead53   吴启风   feat:背景音播放优化
47
          "HomeBloc _checkUpdate appVersionEntity: $appVersionEntity localVersion=$localVersion");
911794fd   吴启风   feat:审核控制增加ios平台条件判断
48
49
      if (localVersion < int.parse(appVersionEntity.version ?? '0')) {
        emit(UpdateDialogState(
e6a08b82   biao   修复兑换之后回到首页不刷新问题;修...
50
51
            appVersionEntity.volType == UpdateStrategy.FORCE.name,
            appVersionEntity));
cde7505e   吴启风   feat:应用内升级
52
      }
6d61919a   吴启风   feat:增加过渡页&集成串联游戏
53
54
    }
  }