requestNetwork<T> method

Future<BaseEntity> requestNetwork<T>(
  1. String method,
  2. String url, {
  3. bool isList = false,
  4. bool isFormData = false,
  5. dynamic params,
  6. Map<String, dynamic>? queryParameters,
  7. CancelToken? cancelToken,
  8. Options? options,
  9. Function? generateOBJ,
})

统一处理(onSuccess返回T对象,onSuccessList返回List

Implementation

Future<BaseEntity> requestNetwork<T>(String method, String url, {
  bool isList:false,
  bool isFormData:false,
  dynamic params,Map<String, dynamic>? queryParameters, CancelToken? cancelToken, Options? options,Function? generateOBJ})async{
  if(isList==null)isList=false;
  if(isFormData==null)isFormData=false;
  if(queryParameters==null)queryParameters={};
  LogUtil.e("listen: method=$method,url=$url,isList=$isList,isFormData=$isFormData,queryParameters=$queryParameters,options=$options");
  LogUtil.e("listen: params: ${params?.toString()}");
  try{
    var result= await ((!isList) ? request<T>(method, url,isFormData:isFormData,
        params: params,queryParameters: queryParameters, options: options, cancelToken: cancelToken,generateOBJ: generateOBJ) :
    requestList<T>(method, url, params: params, queryParameters:queryParameters,options: options, cancelToken: cancelToken,generateOBJ: generateOBJ));
    if((result.code??0)==401){
      //登录异常,直接退出登录
      // SpUtils.clear();
      // var instance = await JpushUtils.getInstance();
      // instance.stop();
      // NavigatorUtils.push(navigatorKey.currentContext, BaseRouter.loginPage,clearStack: true);
      return BaseEntity(
        result.code, result.userTip,result.data,totalElements: result.totalElements,
      );
    }else{
      print("请求的接口 0-->code=${result.code},userTip=${result.userTip}");
      return BaseEntity(
        result.code, result.userTip,result.data,totalElements: result.totalElements,
      );
    }
  }catch(e){
    // print("请求的接口 0-->e=${e.toString()}");
    Error error = ExceptionHandle.handleException(e);
    return BaseEntity(error.status, error.message,null);
  }
}