account_view_model.dart 1 KB
import 'package:Parlando/account/models/user_entity.dart';
import 'package:Parlando/apis/api_response.dart';
import 'package:Parlando/net/dio_utils.dart';
import 'package:Parlando/net/http_api.dart';
import 'package:flutter/material.dart';

class AccountViewProvider with ChangeNotifier {
  ApiResponse _apiResponse = ApiResponse.initial('Empty data');
  UserData? _user;

  ApiResponse get response {
    return _apiResponse;
  }

  UserData? get media {
    return _user;
  }

  Future<void> fetchAccountData(String value) async {
    _apiResponse = ApiResponse.loading('请求数据中...');
    DioUtils.instance.asyncRequestNetwork<UserEntity>(
      Method.get,
      HttpApi.user,
      onSuccess: (data) {
        _apiResponse = ApiResponse.completed(data!.data);
        notifyListeners();
      },
      onError: (code, msg) {
        _apiResponse = ApiResponse.error(msg);
        notifyListeners();
      },
    );
  }

  void setSelectedAccount(UserData? user) {
    _user = user;
    // notifyListeners();
  }
}