haijiang
2018-07-10 487102118041896810e4657a37eaab43a8998bc5
app/src/main/java/com/moral/screen/httputils/HttpUtils.java
@@ -28,19 +28,21 @@
public class HttpUtils {
    private Context mConetext;
    public HttpUtils(Context context) {
        this.mConetext = context;
    }
    /**
     * Get请求
     *
     * @param url
     * @param params
     * @param cacheMode
     * @param showLoadingDialog
     * @param httpCallBack
     */
    public  void doGet(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
    public void doGet(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
        OkGo.get(url)
                .params(params)
                .cacheKey(String.valueOf(url))
@@ -62,102 +64,13 @@
                        XLog.e("result:" + s);
                        try {
                            JSONObject jsonObject = new JSONObject(s);
                            int errno = jsonObject.optInt("resultCode");
                            String message = jsonObject.optString("msg");
                            if(errno == 1){
                                httpCallBack.onSuccess(jsonObject.optString("resObj"),message);
                            }else if(errno == 1002||errno == 1003){
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            }else{
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    @Override
                    public void onError(Call call, Response response, Exception e) {
                        super.onError(call, response, e);
                        if (response != null) {
                            int httpCode = response.code();
                            switch (httpCode) {
                                case 400:
                                    XLog.e("请求的语法出错");
                                    T.show("请求的语法出错");
                                    break;
                                case 401:
                                    XLog.e("未授权");
                                    T.show("未授权");
                                    break;
                                case 403:
                                    XLog.e("请求被拒绝");
                                    T.show("请求被拒绝");
                                    break;
                                case 404:
                                    XLog.e("请求的接口不存在");
                                    T.show("请求的接口不存在");
                                    break;
                                case 408:
                                    XLog.e("请求超时");
                                    T.show("请求超时");
                                    break;
                                case 500:
                                    XLog.e("服务器错误");
                                    T.show("服务器错误");
                                    break;
                                case 503:
                                    XLog.e("服务器停机或正在维护");
                                    T.show("服务器停机或正在维护");
                                    break;
                            }
                        }
                    }
                });
    }
    /**
     * Get请求
     * @param url
     * @param params
     * @param cacheMode
     * @param showLoadingDialog
     * @param httpCallBack
     */
    public void doGet(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpListCallBack httpCallBack) {
        OkGo.get(url)
                .params(params)
                .cacheKey(String.valueOf(url))
                .tag(String.valueOf(url))
                .cacheMode(cacheMode)
                .execute(new StringCallback() {
                    @Override
                    public void onBefore(BaseRequest request) {
                        super.onBefore(request);
                        XLog.e("url:" + request.getUrl());
                        XLog.e("method:" + request.getMethod());
                        XLog.e("params:" + request.getParams().toString());
                        if (showLoadingDialog)
                            httpCallBack.showLoadingDialog();
                    }
                    @Override
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject jsonObject = new JSONObject(s);
                            int errno = jsonObject.optInt("resultCode");
                            String message = jsonObject.optString("msg");
                            int totalPage = jsonObject.optInt("totalPage");
                            if(errno == 1){
                                httpCallBack.onSuccess(jsonObject.optString("resObj"),message,totalPage);
                            }else if(errno == 1002||errno == 1003){
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            }else{
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            int errno = jsonObject.optInt("code");
                            String message = jsonObject.optString("message");
                            if (errno == 1) {
                                httpCallBack.onSuccess(jsonObject.optString("data"), message);
                            } else {
                                String errorMsg = jsonObject.optString("message");
                                httpCallBack.onFail(errno, errorMsg);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
@@ -204,101 +117,7 @@
                });
    }
    /**
     * POST请求
     * @param url
     * @param params
     * @param cacheMode
     * @param showLoadingDialog
     * @param httpCallBack
     */
    public void doPostList(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpListCallBack httpCallBack) {
        OkGo.post(url)
                .params(params)
                .cacheKey(String.valueOf(url))
                .tag(String.valueOf(url))
                .cacheMode(cacheMode)
                .execute(new StringCallback() {
                    @Override
                    public void onBefore(BaseRequest request) {
                        super.onBefore(request);
                        XLog.e("url:" + request.getUrl());
                        XLog.e("method:" + request.getMethod());
                        XLog.e("params:" + request.getParams().toString());
                        if (showLoadingDialog)
                            httpCallBack.showLoadingDialog();
                    }
                    @Override
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject jsonObject = new JSONObject(s);
                            int errno = jsonObject.optInt("resultCode");
                            String message = jsonObject.optString("msg");
                            int totalPage = jsonObject.optInt("totalPage");
                            if(errno == 1){
                                httpCallBack.onSuccess(jsonObject.optString("resObj"),message,totalPage);
                            }else if(errno == 1002||errno == 1003){
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            }else{
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    @Override
                    public void onError(Call call, Response response, Exception e) {
                        super.onError(call, response, e);
                        if (response != null) {
                            int httpCode = response.code();
                            switch (httpCode) {
                                case 400:
                                    XLog.e("请求的语法出错");
                                    T.show("请求的语法出错");
                                    break;
                                case 401:
                                    XLog.e("未授权");
                                    T.show("未授权");
                                    break;
                                case 403:
                                    XLog.e("请求被拒绝");
                                    T.show("请求被拒绝");
                                    break;
                                case 404:
                                    XLog.e("请求的接口不存在");
                                    T.show("请求的接口不存在");
                                    break;
                                case 408:
                                    XLog.e("请求超时");
                                    T.show("请求超时");
                                    break;
                                case 500:
                                    XLog.e("服务器错误");
                                    T.show("服务器错误");
                                    break;
                                case 503:
                                    XLog.e("服务器停机或正在维护");
                                    T.show("服务器停机或正在维护");
                                    break;
                            }
                        }
                    }
                });
    }
    /**
     * Post请求
     * @param url
     * @param params
     * @param cacheMode
     * @param showLoadingDialog
     * @param httpCallBack
     */
    public  void doPost(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
    public void doPost(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
        OkGo.post(url)
                .cacheKey(String.valueOf(url))
                .tag(String.valueOf(url))
@@ -320,16 +139,13 @@
                        XLog.e("result:" + s);
                        try {
                            JSONObject jsonObject = new JSONObject(s);
                            int errno = jsonObject.optInt("resultCode");
                            String message = jsonObject.optString("msg");
                            if(errno == 1){
                                httpCallBack.onSuccess(jsonObject.optString("resObj"),message);
                            }else if(errno == 1002||errno == 1003){
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            }else{
                                String errorMsg = jsonObject.optString("errorMsg");
                                httpCallBack.onFail(errno,errorMsg);
                            int errno = jsonObject.optInt("code");
                            String message = jsonObject.optString("message");
                            if (errno == 1) {
                                httpCallBack.onSuccess(jsonObject.optString("data"), message);
                            } else {
                                String errorMsg = jsonObject.optString("message");
                                httpCallBack.onFail(errno, errorMsg);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
@@ -367,247 +183,6 @@
                                break;
                        }
                    }
                });
    }
    /**
     * 上传文件
     * @param url
     * @param params
     * @param uploadCallBack
     * @param files
     */
    public  void uploadFiles(final String url, Map<String, String> params, final UploadCallBack uploadCallBack, List<File> files) {
        OkGo.post(url)
                .params(params)
                .isMultipart(true)
                .addFileParams("file", files)
                .execute(new StringCallback() {
                    @Override
                    public void onBefore(BaseRequest request) {
                        super.onBefore(request);
                        PostRequest re = (PostRequest) request;
                        XLog.e("url:" + re.getUrl());
                        XLog.e("method:" + re.getMethod());
                    }
                    @Override
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject jsonObject = new JSONObject(s);
                            int errno = jsonObject.optInt("resultCode");
                            String message = jsonObject.optString("msg");
                            if(errno == 1){
                                uploadCallBack.onSuccess(jsonObject.optString("resObj"),message);
                            }else{
                                uploadCallBack.onFail(message);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    @Override
                    public void upProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
                        super.upProgress(currentSize, totalSize, progress, networkSpeed);
                        uploadCallBack.onProgress(currentSize, totalSize, progress, networkSpeed);
                    }
                    @Override
                    public void onError(Call call, Response response, Exception e) {
                        super.onError(call, response, e);
                        if (response == null)
                            return;
                        int httpCode = response.code();
                        switch (httpCode) {
                            case 400:
                                T.show("请求的语法出错");
                                break;
                            case 401:
                                T.show("未授权");
                                break;
                            case 403:
                                T.show("请求被拒绝");
                                break;
                            case 404:
                                T.show("请求的接口不存在");
                                break;
                            case 408:
                                T.show("请求超时");
                                break;
                            case 500:
                                T.show("服务器错误");
                                break;
                            case 503:
                                T.show("服务器停机或正在维护");
                                break;
                        }
                    }
                });
    }
    public  void uploadFiles(final String url, Map<String, String> params, final UploadCallBack uploadCallBack, List<File> files,List<File> files2) {
        OkGo.post(url)
                .params(params)
                .isMultipart(true)
                .addFileParams("door", files)
                .addFileParams("images", files2)
                .execute(new StringCallback() {
                    @Override
                    public void onBefore(BaseRequest request) {
                        super.onBefore(request);
                        PostRequest re = (PostRequest) request;
                        XLog.e("url:" + re.getUrl());
                        XLog.e("method:" + re.getMethod());
                    }
                    @Override
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject jsonObject = new JSONObject(s);
                            int errno = jsonObject.optInt("resultCode");
                            String message = jsonObject.optString("msg");
                            if(errno == 1){
                                uploadCallBack.onSuccess(jsonObject.optString("resObj"),message);
                            }else{
                                uploadCallBack.onFail(message);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    @Override
                    public void upProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
                        super.upProgress(currentSize, totalSize, progress, networkSpeed);
                        uploadCallBack.onProgress(currentSize, totalSize, progress, networkSpeed);
                    }
                    @Override
                    public void onError(Call call, Response response, Exception e) {
                        super.onError(call, response, e);
                        if (response == null)
                            return;
                        int httpCode = response.code();
                        switch (httpCode) {
                            case 400:
                                T.show("请求的语法出错");
                                break;
                            case 401:
                                T.show("未授权");
                                break;
                            case 403:
                                T.show("请求被拒绝");
                                break;
                            case 404:
                                T.show("请求的接口不存在");
                                break;
                            case 408:
                                T.show("请求超时");
                                break;
                            case 500:
                                T.show("服务器错误");
                                break;
                            case 503:
                                T.show("服务器停机或正在维护");
                                break;
                        }
                    }
                });
    }
    /**
     * 上传文件
     * @param url
     * @param params
     * @param uploadCallBack
     * @param files
     */
    public  void uploadFiles(final String url, Map<String, String> params, final UploadCallBack uploadCallBack, Map<String, File> files) {
        PostRequest postRequest = OkGo.post(url);
        postRequest.isMultipart(true);
        for (String key : files.keySet()) {
            postRequest.params(key, files.get(key));
        }
        postRequest.params(params)
                .execute(new StringCallback() {
                    @Override
                    public void onBefore(BaseRequest request) {
                        super.onBefore(request);
                        PostRequest re = (PostRequest) request;
                        XLog.e("url:" + re.getUrl());
                        XLog.e("method:" + re.getMethod());
                    }
                    @Override
                    public void onSuccess(String s, Call call, Response response) {
                        XLog.e("result:" + s);
                        try {
                            JSONObject jsonObject = new JSONObject(s);
                            int errno = jsonObject.optInt("resultCode");
                            String message = jsonObject.optString("msg");
                            if(errno == 1){
                                uploadCallBack.onSuccess(jsonObject.optString("resObj"),message);
                            }else{
                                uploadCallBack.onFail(message);
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    @Override
                    public void upProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
                        super.upProgress(currentSize, totalSize, progress, networkSpeed);
                        uploadCallBack.onProgress(currentSize, totalSize, progress, networkSpeed);
                    }
                    @Override
                    public void onError(Call call, Response response, Exception e) {
                        super.onError(call, response, e);
                        if (response == null)
                            return;
                        int httpCode = response.code();
                        switch (httpCode) {
                            case 400:
                                T.show("请求的语法出错");
                                break;
                            case 401:
                                T.show("未授权");
                                break;
                            case 403:
                                T.show("请求被拒绝");
                                break;
                            case 404:
                                T.show("请求的接口不存在");
                                break;
                            case 408:
                                T.show("请求超时");
                                break;
                            case 500:
                                T.show("服务器错误");
                                break;
                            case 503:
                                T.show("服务器停机或正在维护");
                                break;
                        }
                    }
                });
    }
    public interface UploadCallBack {
        void onSuccess(String res, String msg);
        void onFail(String s);
        void onProgress(long currentSize, long totalSize, float progress, long networkSpeed);
    }
}