123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import 'package:plugin_basic/constants/app_constant.dart';
- import 'package:plugin_basic/provider/user_config/user_config_service.dart';
- import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
- import 'package:riverpod_annotation/riverpod_annotation.dart';
- import 'package:shared/utils/event_bus.dart';
- import 'package:shared/utils/log_utils.dart';
- import 'main_state.dart';
- part 'main_view_model.g.dart';
- @riverpod
- class MainViewModel extends _$MainViewModel with DioCancelableMixin {
- @override
- MainState build() {
- final state = MainState();
- registerEventBus();
- registerCancellation(callback: () {
- unregisterEventBus();
- });
- return state;
- }
- /// 获取用户信息
- void fetchUserInfo() {
- UserConfigService.getInstance().refreshUserInfo();
- }
- // EventBus 的事件接收
- Subscription? subscribe;
- void registerEventBus() {
- subscribe = bus.on(AppConstant.eventProfileRefresh, (arg) {
- Log.d("收到消息刷新用户信息");
- fetchUserInfo();
- });
- }
- void unregisterEventBus() {
- bus.off(AppConstant.eventProfileRefresh, subscribe);
- }
- }
|