import 'dart:io'; import 'package:ftrecruiter/api/api_provider.dart'; import 'package:ftrecruiter/comm/constants/api_constants.dart'; import 'package:ftrecruiter/entity/response/UserLogin.dart'; import 'package:ftrecruiter/entity/response/hotel_login.dart'; import 'package:ftrecruiter/entity/response/industry_data.dart'; import 'package:ftrecruiter/entity/response/server_time.dart'; import 'package:ftrecruiter/entity/response/user_profile.dart'; class ApiRepository { final ApiProvider apiProvider; ApiRepository({required this.apiProvider}); //获取服务器时间 void getServerTime({NetSuccessCallback? success, NetErrorCallback? onError}) { Map headers = {}; headers["Accept"] = "application/x.yyjobs-api.v1+json"; //获取数据和处理数据的逻辑放在这里 apiProvider.requestNetwork(ApiConstants.apiServiceTime, headers: headers, onSuccess: (json) { var serverTime = ServerTime.fromJson(json); if (success != null) { success(serverTime); } }, onError: onError); } //获取用户信息 void getUserProfile({NetSuccessCallback? success, NetErrorCallback? onError}) { Map headers = {}; headers["Accept"] = "application/x.yyjobs-api.v1+json"; apiProvider.requestNetwork(ApiConstants.apiUserProfile, headers: headers, onSuccess: (json) { var userProfile = UserProfile.fromJson(json); if (success != null) { success(userProfile); } }, onError: onError); } //获取行业列表 void getIndustryList( {NetSuccessListCallback>? success, NetErrorCallback? onError}) { Map headers = {}; headers["Accept"] = "application/x.yyjobs-api.v1+json"; apiProvider.requestNetwork(ApiConstants.apiIndustryList, headers: headers, onSuccessList: (jsonList) { //获取List数据 需要转换一次 var industryList = jsonList.map((value) { if (value is Map) { return IndustryData.fromJson(value); } else { return null; } }).toList(); if (success != null) { success(industryList); } }, onError: onError); } //用户登陆 void userLogin({NetSuccessCallback? success, NetErrorCallback? onError}) { Map headers = {}; headers["Accept"] = "application/x.yyjobs-api.v1+json"; Map params = {}; params["nric_no"] = "+8618571458165"; params["password"] = "12345678"; params["registration_id"] = "1234"; apiProvider.requestNetwork(ApiConstants.apiUserLogin, method: HttpMethod.POST, headers: headers, query: params, onSuccess: (json) { var userLogin = UserLogin.fromJson(json); if (success != null) { success(userLogin); } }, onError: onError); } //更新用户信息 void userProfileUpdate(String? token, {NetSuccessCallback? success, NetErrorCallback? onError}) { Map headers = {}; headers["Accept"] = "application/x.yyjobs-api.v12+json"; headers["Authorization"] = "bearer$token"; Map params = {}; params["mobile_no"] = "+8618571458165"; params["verification_code"] = "123456 "; params["nick_name"] = "test liukai"; Map paths = {}; paths['news_feed_avatar'] = '/data/user/0/com.hongyegroup.ftrecruiter/app_flutter/test_avatar.jpeg'; apiProvider.requestNetwork(ApiConstants.apiUpdateProfile, method: HttpMethod.POST, headers: headers, query: params, paths: paths, onSuccess: (json) { var userLogin = UserLogin.fromJson(json); if (success != null) { success(userLogin); } }, onError: onError); } //酒店登陆 void hotelLogin({NetSuccessCallback? success, NetErrorCallback? onError}) { Map params = {}; params["auth_code"] = "DAP3VDG"; params["device_mac"] = "020000000000"; apiProvider.requestNetwork(ApiConstants.apiHotelLogin, method: HttpMethod.POST, query: params, onSuccess: (json) { var userLogin = HotelLogin.fromJson(json); if (success != null) { success(userLogin); } }, onError: onError); } }