12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
- import 'package:get/get.dart';
- import 'package:ftrecruiter/api/interceptors/auth_interceptor.dart';
- import 'package:ftrecruiter/api/interceptors/log_res_interceptor.dart';
- import 'package:ftrecruiter/api/interceptors/log_req_interceptor.dart';
- import 'package:ftrecruiter/comm/constants/api_constants.dart';
- import 'package:ftrecruiter/comm/constants/app_constant.dart';
- typedef NetSuccessCallback<T> = Function(T data);
- typedef NetSuccessListCallback<T> = Function(T data);
- typedef NetErrorCallback = Function(int? code, String? msg);
- enum HttpMethod { GET, POST }
- class ApiProvider extends GetConnect {
-
- Future<void> requestNetwork(
- String url, {
- HttpMethod? method,
- Map<String, String>? headers,
- Map<String, dynamic>? query,
- dynamic body,
- NetSuccessCallback<Map<String, dynamic>>? onSuccess,
- NetSuccessListCallback<List<dynamic>>? onSuccessList,
- NetErrorCallback? onError,
- }) async {
- var req = method != null && method == HttpMethod.POST
- ? post(url, body, headers: headers, query: query)
- : get(url, headers: headers, query: query);
- var result = await req;
- if (result.statusCode == 200) {
-
- Map<String, dynamic> jsonMap = result.body;
-
- int code = jsonMap['code'];
- if (code == 200) {
- if (jsonMap['data'] is List<dynamic>) {
-
- List<dynamic> list = jsonMap['data'];
- if (onSuccessList != null) {
- onSuccessList(list);
- }
- } else {
-
- if (onSuccess != null) {
- onSuccess(jsonMap['data']);
- }
- }
- } else {
- if (onError != null) {
- onError(jsonMap['code'], jsonMap['message']);
- }
-
- SmartDialog.compatible.showToast("${jsonMap['message']}");
- }
- } else {
- if (onError != null) {
-
- onError(result.statusCode, result.statusText);
- }
-
- SmartDialog.compatible.showToast(
- "Network Error :${result.statusCode} ${result.statusText}");
- }
- }
- @override
- void onInit() {
- httpClient.baseUrl = ApiConstants.baseUrl;
-
-
- httpClient.addRequestModifier(authInterceptor);
-
- if (!AppConstant.inProduction) {
- httpClient.addRequestModifier(logReqInterceptor);
- }
-
- if (!AppConstant.inProduction) {
- httpClient.addResponseModifier(logResInterceptor);
- }
- }
- }
|