membership_view_model.dart 1.08 KB
import 'package:Parlando/apis/api_response.dart';
import 'package:Parlando/membership/models/membership_entity.dart';
import 'package:Parlando/net/dio_utils.dart';
import 'package:Parlando/net/http_api.dart';
import 'package:flutter/material.dart';

class MembershipViewProvider with ChangeNotifier {
  ApiResponse _apiResponse = ApiResponse.initial('Empty data');
  MembershipData? _membership;

  ApiResponse get response {
    return _apiResponse;
  }

  MembershipData? get media {
    return _membership;
  }

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

  void setSelectedMembership(MembershipData? membership) {
    _membership = membership;
    // notifyListeners();
  }
}