request<T> method
泛型 T 为实体类型
apiCall 返回 Future<ApiResult<T>>
返回必须有值,如果 data 为 null 或请求失败则抛异常
Implementation
Future<T?> request<T>(
Future<model.ApiResult<T>> Function(Api api) apiCall,
) async {
final apiInstance = Api(_dio, baseUrl: env.host);
final result = await apiCall(apiInstance);
switch (result.responseCode) {
case ResponseCode.success:
return result.data;
case ResponseCode.codeExpired:
throw NetworkError(
code: ResponseCode.codeExpired,
message: result.message,
);
default:
Logger.debug('Error default');
throw DefaultError(message: result.message);
}
}