|
@@ -1,7 +1,9 @@
|
|
|
import 'dart:io';
|
|
|
|
|
|
import 'package:ftrecruiter/api/api_provider.dart';
|
|
|
+import 'package:ftrecruiter/api/http_result.dart';
|
|
|
import 'package:ftrecruiter/comm/constants/api_constants.dart';
|
|
|
+import 'package:ftrecruiter/comm/utils/log_utils.dart';
|
|
|
import 'package:ftrecruiter/entity/response/UserLogin.dart';
|
|
|
import 'package:ftrecruiter/entity/response/hotel_login.dart';
|
|
|
import 'package:ftrecruiter/entity/response/industry_data.dart';
|
|
@@ -13,57 +15,83 @@ class ApiRepository {
|
|
|
|
|
|
ApiRepository({required this.apiProvider});
|
|
|
|
|
|
- //获取服务器时间
|
|
|
- void getServerTime({NetSuccessCallback<ServerTime>? success, NetErrorCallback? onError}) {
|
|
|
+ // //获取服务器时间
|
|
|
+ // void getServerTime({NetSuccessCallback<ServerTime>? success, NetErrorCallback? onError}) {
|
|
|
+ // Map<String, String> headers = {};
|
|
|
+ // headers["Accept"] = "application/x.yyjobs-api.v1+json";
|
|
|
+ //
|
|
|
+ // //获取数据和处理数据的逻辑放在这里
|
|
|
+ // apiProvider.requestNetEasy(ApiConstants.apiServiceTime, headers: headers, onSuccess: (json) {
|
|
|
+ // var serverTime = ServerTime.fromJson(json);
|
|
|
+ // if (success != null) {
|
|
|
+ // success(serverTime);
|
|
|
+ // }
|
|
|
+ // }, onError: onError);
|
|
|
+ // }
|
|
|
+
|
|
|
+ //获取服务器时间2
|
|
|
+ Future<HttpResult<ServerTime?>> getServerTime2() async {
|
|
|
Map<String, String> 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);
|
|
|
+ //网络请求获取原始数据
|
|
|
+ final result = await apiProvider.requestNetResult(ApiConstants.apiServiceTime, headers: headers);
|
|
|
+
|
|
|
+ //根据返回的结果,封装原始数据为Bean/Entity对象
|
|
|
+ if (result.isSuccess) {
|
|
|
+ final json = result.getDataJson();
|
|
|
+ var data = ServerTime.fromJson(json!);
|
|
|
+ //重新赋值data或list
|
|
|
+ return result.convert<ServerTime?>(data: data);
|
|
|
+ }
|
|
|
+ return result.convert<ServerTime?>();
|
|
|
}
|
|
|
|
|
|
- //获取用户信息
|
|
|
- void getUserProfile({NetSuccessCallback<UserProfile>? success, NetErrorCallback? onError}) {
|
|
|
+ /// 获取行业列表
|
|
|
+ Future<HttpResult<IndustryData?>> getIndustryList2() async {
|
|
|
Map<String, String> 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);
|
|
|
- }
|
|
|
+ final result = await apiProvider.requestNetResult(ApiConstants.apiIndustryList, headers: headers);
|
|
|
|
|
|
- //获取行业列表
|
|
|
- void getIndustryList(
|
|
|
- {NetSuccessListCallback<List<IndustryData?>>? success, NetErrorCallback? onError}) {
|
|
|
- Map<String, String> headers = {};
|
|
|
- headers["Accept"] = "application/x.yyjobs-api.v1+json";
|
|
|
+ if (result.isSuccess) {
|
|
|
+ final jsonList = result.getListJson();
|
|
|
|
|
|
- apiProvider.requestNetwork(ApiConstants.apiIndustryList, headers: headers,
|
|
|
- onSuccessList: (jsonList) {
|
|
|
//获取List数据 需要转换一次
|
|
|
- var industryList = jsonList.map((value) {
|
|
|
+ var list = jsonList?.map((value) {
|
|
|
if (value is Map<String, dynamic>) {
|
|
|
return IndustryData.fromJson(value);
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
|
}).toList();
|
|
|
- if (success != null) {
|
|
|
- success(industryList);
|
|
|
- }
|
|
|
- }, onError: onError);
|
|
|
+
|
|
|
+ return result.convert<IndustryData?>(list: list);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result.convert<IndustryData>();
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取用户信息
|
|
|
+ Future<HttpResult<UserProfile?>> getUserProfile(String? token) async {
|
|
|
+ Map<String, String> headers = {};
|
|
|
+ headers["Accept"] = "application/x.yyjobs-api.v1+json";
|
|
|
+ headers["Authorization"] = "bearer$token";
|
|
|
+
|
|
|
+ var result = await apiProvider.requestNetResult(ApiConstants.apiUserProfile, headers: headers);
|
|
|
+
|
|
|
+ //根据返回的结果,封装原始数据为Bean/Entity对象
|
|
|
+ if (result.isSuccess) {
|
|
|
+ final json = result.getDataJson();
|
|
|
+ var data = UserProfile.fromJson(json!);
|
|
|
+ //重新赋值data或list
|
|
|
+ return result.convert<UserProfile?>(data: data);
|
|
|
+ }
|
|
|
+ return result.convert<UserProfile?>();
|
|
|
}
|
|
|
|
|
|
//用户登陆
|
|
|
- void userLogin({NetSuccessCallback<UserLogin>? success, NetErrorCallback? onError}) {
|
|
|
+ Future<HttpResult<UserLogin?>> userLogin() async {
|
|
|
Map<String, String> headers = {};
|
|
|
headers["Accept"] = "application/x.yyjobs-api.v1+json";
|
|
|
|
|
@@ -72,49 +100,64 @@ class ApiRepository {
|
|
|
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);
|
|
|
+ var result = await apiProvider.requestNetResult(ApiConstants.apiUserLogin,
|
|
|
+ method: HttpMethod.POST, headers: headers, query: params);
|
|
|
+
|
|
|
+ //根据返回的结果,封装原始数据为Bean/Entity对象
|
|
|
+ if (result.isSuccess) {
|
|
|
+ final json = result.getDataJson();
|
|
|
+ var data = UserLogin.fromJson(json!);
|
|
|
+ //重新赋值data或list
|
|
|
+ return result.convert<UserLogin?>(data: data);
|
|
|
+ }
|
|
|
+ return result.convert<UserLogin?>();
|
|
|
}
|
|
|
|
|
|
//更新用户信息
|
|
|
- void userProfileUpdate(String? token,
|
|
|
- {NetSuccessCallback<UserLogin>? success, NetErrorCallback? onError}) {
|
|
|
+ Future<HttpResult<UserLogin?>> userProfileUpdate(String? token) async {
|
|
|
Map<String, String> headers = {};
|
|
|
headers["Accept"] = "application/x.yyjobs-api.v12+json";
|
|
|
headers["Authorization"] = "bearer$token";
|
|
|
|
|
|
Map<String, String> params = {};
|
|
|
- params["mobile_no"] = "+8618571458165";
|
|
|
+ params["mobile_no"] = "+8618571458166";
|
|
|
params["verification_code"] = "123456 ";
|
|
|
params["nick_name"] = "test liukai";
|
|
|
|
|
|
Map<String, String> 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);
|
|
|
+ paths['news_feed_avatar'] = '/data/user/0/com.hongyegroup.ftrecruiter/app_flutter/test_avatar.jpeg';
|
|
|
+
|
|
|
+ var result = await apiProvider.requestNetResult(
|
|
|
+ ApiConstants.apiUpdateProfile,
|
|
|
+ method: HttpMethod.POST,
|
|
|
+ headers: headers,
|
|
|
+ query: params,
|
|
|
+ paths: paths,
|
|
|
+ );
|
|
|
+
|
|
|
+ //根据返回的结果,封装原始数据为Bean/Entity对象
|
|
|
+ if (result.isSuccess) {
|
|
|
+ final json = result.getDataJson();
|
|
|
+ var data = UserLogin.fromJson(json!);
|
|
|
+ //重新赋值data或list
|
|
|
+ return result.convert<UserLogin?>(data: data);
|
|
|
+ }
|
|
|
+ return result.convert<UserLogin?>();
|
|
|
}
|
|
|
|
|
|
- //酒店登陆
|
|
|
- void hotelLogin({NetSuccessCallback<HotelLogin>? success, NetErrorCallback? onError}) {
|
|
|
+ //用户登陆(回调的方式)
|
|
|
+ void userLoginEasy({NetSuccessCallback<UserLogin>? success, NetErrorCallback? onError}) {
|
|
|
+ Map<String, String> headers = {};
|
|
|
+ headers["Accept"] = "application/x.yyjobs-api.v1+json";
|
|
|
+
|
|
|
Map<String, String> params = {};
|
|
|
- params["auth_code"] = "DAP3VDG";
|
|
|
- params["device_mac"] = "020000000000";
|
|
|
+ params["nric_no"] = "+8618571458166";
|
|
|
+ params["password"] = "12345678";
|
|
|
+ params["registration_id"] = "1234";
|
|
|
|
|
|
- apiProvider.requestNetwork(ApiConstants.apiHotelLogin, method: HttpMethod.POST, query: params,
|
|
|
+ apiProvider.requestNetEasy(ApiConstants.apiUserLogin, method: HttpMethod.POST, headers: headers, query: params,
|
|
|
onSuccess: (json) {
|
|
|
- var userLogin = HotelLogin.fromJson(json);
|
|
|
+ var userLogin = UserLogin.fromJson(json);
|
|
|
if (success != null) {
|
|
|
success(userLogin);
|
|
|
}
|