CSMHttpCallback.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.xunao.effectdemo.net;
  2. import android.text.TextUtils;
  3. import android.util.Log;
  4. import com.xunao.effectdemo.utils.StringUtil;
  5. import com.zhy.http.okhttp.callback.Callback;
  6. import java.io.ByteArrayInputStream;
  7. import okhttp3.Call;
  8. import okhttp3.Response;
  9. public abstract class CSMHttpCallback extends Callback<String> {
  10. private final static String TAG = CSMHttpCallback.class.getName();
  11. protected abstract void onSuccess(String jsonStr);
  12. protected abstract void onFail(String msg);
  13. @Override
  14. public boolean validateReponse(Response response, int id) {
  15. return true;
  16. }
  17. @Override
  18. public String parseNetworkResponse(Response response, int id) throws Exception {
  19. String url = response.request().url().toString();
  20. String responseStr = StringUtil.inputStream2String(new ByteArrayInputStream(response.body().bytes()), "utf-8");
  21. switch (response.code()) {
  22. case 200:
  23. return responseStr;
  24. case 401:
  25. break;
  26. default:
  27. }
  28. return "";
  29. }
  30. @Override
  31. public void onError(Call call, Exception exception, int id) {
  32. exception.printStackTrace();
  33. }
  34. @Override
  35. public void onResponse(String response, int id) {
  36. Log.i(TAG, "response==>" + response);
  37. if (!TextUtils.isEmpty(response)) {
  38. if (response.contains("retCode")){
  39. BaseBean baseBean = BaseBean.parse(response);
  40. if (baseBean.getRetCode().equals("1000")) {
  41. onSuccess(response);
  42. }else if(baseBean.getRetCode().equals("1007")||baseBean.getRetCode().equals("1005")){
  43. onFail("1007");
  44. } else {
  45. onFail("请求报错");
  46. }
  47. }else{
  48. onSuccess(response);
  49. }
  50. } else {
  51. // onFail(BmonsterApplication.resources().getString(R.string.net_error));
  52. }
  53. }
  54. }