From 71ac5ea208fb15da401b980fe788d03ed0f086b1 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 04 十二月 2024 09:56:14 +0800 Subject: [PATCH] 1.添加退出登录时判断是否开启巡检,开启巡检不可退出登录。 2.添加异常退出后恢复巡检记录的功能。 3.添加统一的提示Dialog --- app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java index 0735ae5..8e03e6f 100644 --- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java +++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java @@ -9,11 +9,13 @@ import com.dayu.pipirrapp.MyApplication; import com.dayu.pipirrapp.bean.net.CodeResult; +import com.dayu.pipirrapp.bean.net.UplodFileState; import com.dayu.pipirrapp.bean.net.WeatherResponse; import com.dayu.pipirrapp.net.subscribers.BaseProgressSubscriber; import com.dayu.pipirrapp.net.subscribers.CodeListener; import com.dayu.pipirrapp.net.subscribers.ProgressSubscriber; import com.dayu.pipirrapp.net.subscribers.SubscriberListener; +import com.dayu.pipirrapp.net.upload.UploadFileListener; import com.dayu.pipirrapp.utils.MapJpgUtils; import com.dayu.pipirrapp.utils.MyJsonParser; @@ -26,9 +28,13 @@ import io.reactivex.rxjava3.disposables.CompositeDisposable; import io.reactivex.rxjava3.functions.Function; import io.reactivex.rxjava3.schedulers.Schedulers; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.RequestBody; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.Callback; +import retrofit2.Response; /** @@ -285,4 +291,57 @@ return false; // 鏃犵綉缁滆繛鎺� } + /** + * 涓婁紶鏂囦欢 + * + * @param context + * @param file + * @param listener + */ + public void uploadFile(final Context context, final UplodFileState file, final UploadFileListener listener) { + + // 鍒涘缓 RequestBody锛岀敤浜庡皝瑁呮瀯寤篟equestBody + RequestBody requestFile = + RequestBody.create(MediaType.parse("multipart/form-data"), file.getFile()); + // MultipartBody.Part 鍜屽悗绔害瀹氬ソKey锛岃繖閲岀殑partName鏄敤image + MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getFile().getName(), requestFile); + // 娣诲姞鎻忚堪 + String descriptionString = "hello, 杩欐槸鏂囦欢鎻忚堪"; + RequestBody description = RequestBody.create(MediaType.parse("multipart/form-data"), descriptionString); + apiService.uploadFile(description, body).enqueue(new Callback<BaseResponse>() { + @Override + public void onResponse(Call<BaseResponse> call, Response<BaseResponse> response) { + if (response.body() != null) { + if (response.body().isSuccess()) { + file.setState(1); + file.setUrl(response.body().getMsg()); + listener.onBack(file); + } else { + if (file.getNumber() <= uplodFilerepeatSize) { + file.setNumber(file.getNumber() + 1); + file.setState(2); + uploadFile(context, file, listener); + } else { + listener.onBack(file); + } + } + } + } + + @Override + public void onFailure(Call<BaseResponse> call, Throwable t) { + if (file.getNumber() <= uplodFilerepeatSize) { + file.setNumber(file.getNumber() + 1); + file.setState(2); + uploadFile(context, file, listener); + } else { + listener.onBack(file); + } + } + }); + } + + + + } \ No newline at end of file -- Gitblit v1.8.0