diff --git a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt index f00577c..c96ef36 100644 --- a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt @@ -1,9 +1,7 @@ package com.casic.detector.retrofit import com.casic.detector.utils.LocaleConstant -import com.google.gson.Gson import com.google.gson.JsonObject -import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -14,19 +12,17 @@ import java.io.File object RetrofitServiceManager { - private val api by lazy { - val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String - val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String - val httpConfig = "http://${serverIp}:${serverPort}" - RetrofitFactory.createRetrofit(httpConfig) - } - private val gson by lazy { Gson() } - private val typeToken = object : TypeToken>() {}.type /** * 登录 */ suspend fun login(account: String, password: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.login(account, password) } @@ -34,6 +30,12 @@ * 更新版本 * */ suspend fun getApplicationVersion(): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getApplicationVersion() } @@ -41,6 +43,12 @@ * 获取标识器信息文件 */ suspend fun getMarkerFile(userId: String, companyId: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getMarkerFile(userId, companyId) } @@ -53,6 +61,13 @@ val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) + + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getLabelPicture(requestBody) } @@ -60,6 +75,12 @@ * 获取巡检工单 */ suspend fun getTask(userName: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getTask(userName) } @@ -67,6 +88,12 @@ * 提交工单 */ suspend fun uploadTask(userId: String, taskId: String?, state: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.uploadTask(userId, taskId.toString(), state) } @@ -145,6 +172,12 @@ multiParts.add(fileMultipart) } + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return when (multiParts.size) { 3 -> { api.installLabel(res, multiParts[0], multiParts[1], multiParts[2]) @@ -185,6 +218,12 @@ multiParts.add(fileMultipart) } + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return when (multiParts.size) { 3 -> { api.uploadEvent(taskIdMap, eventMap, multiParts[0], multiParts[1], multiParts[2]) @@ -205,6 +244,12 @@ * 上传工单中标识器信息 */ suspend fun uploadMarker(userName: String, taskDetailId: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.uploadMarker(userName, taskDetailId) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt index f00577c..c96ef36 100644 --- a/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/detector/retrofit/RetrofitServiceManager.kt @@ -1,9 +1,7 @@ package com.casic.detector.retrofit import com.casic.detector.utils.LocaleConstant -import com.google.gson.Gson import com.google.gson.JsonObject -import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.utils.RetrofitFactory import com.pengxh.kt.lite.utils.SaveKeyValues import okhttp3.MediaType.Companion.toMediaType @@ -14,19 +12,17 @@ import java.io.File object RetrofitServiceManager { - private val api by lazy { - val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String - val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String - val httpConfig = "http://${serverIp}:${serverPort}" - RetrofitFactory.createRetrofit(httpConfig) - } - private val gson by lazy { Gson() } - private val typeToken = object : TypeToken>() {}.type /** * 登录 */ suspend fun login(account: String, password: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.login(account, password) } @@ -34,6 +30,12 @@ * 更新版本 * */ suspend fun getApplicationVersion(): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getApplicationVersion() } @@ -41,6 +43,12 @@ * 获取标识器信息文件 */ suspend fun getMarkerFile(userId: String, companyId: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getMarkerFile(userId, companyId) } @@ -53,6 +61,13 @@ val requestBody = param.toString().toRequestBody( "application/json;charset=UTF-8".toMediaType() ) + + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getLabelPicture(requestBody) } @@ -60,6 +75,12 @@ * 获取巡检工单 */ suspend fun getTask(userName: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.getTask(userName) } @@ -67,6 +88,12 @@ * 提交工单 */ suspend fun uploadTask(userId: String, taskId: String?, state: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.uploadTask(userId, taskId.toString(), state) } @@ -145,6 +172,12 @@ multiParts.add(fileMultipart) } + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return when (multiParts.size) { 3 -> { api.installLabel(res, multiParts[0], multiParts[1], multiParts[2]) @@ -185,6 +218,12 @@ multiParts.add(fileMultipart) } + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return when (multiParts.size) { 3 -> { api.uploadEvent(taskIdMap, eventMap, multiParts[0], multiParts[1], multiParts[2]) @@ -205,6 +244,12 @@ * 上传工单中标识器信息 */ suspend fun uploadMarker(userName: String, taskDetailId: String): String { + val api by lazy { + val serverIp = SaveKeyValues.getValue(LocaleConstant.SERVER_IP, "") as String + val serverPort = SaveKeyValues.getValue(LocaleConstant.SERVER_PORT, "") as String + val httpConfig = "http://${serverIp}:${serverPort}" + RetrofitFactory.createRetrofit(httpConfig) + } return api.uploadMarker(userName, taskDetailId) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/vm/UserViewModel.kt b/app/src/main/java/com/casic/detector/vm/UserViewModel.kt index f795de2..b21d6b2 100644 --- a/app/src/main/java/com/casic/detector/vm/UserViewModel.kt +++ b/app/src/main/java/com/casic/detector/vm/UserViewModel.kt @@ -2,13 +2,13 @@ import androidx.lifecycle.MutableLiveData import com.casic.detector.base.BaseApplication -import com.casic.detector.extensions.convertChinese import com.casic.detector.extensions.separateResponseState import com.casic.detector.extensions.toErrorMessage import com.casic.detector.model.LoginResultModel import com.casic.detector.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken +import com.pengxh.kt.lite.extensions.isNetworkConnected import com.pengxh.kt.lite.extensions.launch import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.vm.BaseViewModel @@ -36,6 +36,10 @@ } }, { loadState.value = LoadState.Fail - it.convertChinese().show(BaseApplication.get()) + if (BaseApplication.get().isNetworkConnected()) { + "连接服务器失败,IP或端口错误".show(BaseApplication.get()) + } else { + "网络连接失败".show(BaseApplication.get()) + } }) } \ No newline at end of file