package com.example.aason.loginandreg.model;
import android.os.Handler;
import android.util.Log;
import com.example.aason.loginandreg.bean.UserBean;
import com.example.aason.loginandreg.contract.UserContract;
import com.example.aason.loginandreg.net.RespouseCallback;
import com.google.gson.Gson;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class UserModel implements UserContract.IUserModel {
Handler handler =new Handler();
@Override
public void setokhttp(HashMap<String, String> map, String string, final RespouseCallback callback) {
OkHttpClient okHttpClient = new OkHttpClient.Builder().build();
FormBody.Builder builder = new FormBody.Builder();
for(Map.Entry<String,String> p:map.entrySet()){
builder.add(p.getKey(),p.getValue());
}
Request request = new Request.Builder().url(string).post(builder.build()).build();
okHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
handler.post(new Runnable() {
@Override
public void run() {
callback.fail("网络连接超时");
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String result =response.body().string();
if (200 ==response.code()) {
getjson(result,callback);
}
}
});
}
private void getjson(String result, final RespouseCallback callback) {
final UserBean userBean = new Gson().fromJson(result, UserBean.class);
if (userBean != null) {
handler.post(new Runnable() {
@Override
public void run() {
callback.success(userBean);
}
});
}
}
}