优化
This commit is contained in:
@@ -48,6 +48,7 @@ class InitActivity : BaseActivity() {
|
||||
|
||||
|
||||
App.deviceId = AppUtil.getUDID( this)
|
||||
// App.deviceId = "4787e213-90ab-3e32-88e0-ac271a937751"
|
||||
Log.d(TAG, "onCreate: deviceId = ${App.deviceId}")
|
||||
SpTool.put(SpTool.DEVICE_ID, App.deviceId)
|
||||
App.configUrl = UrlConfig.BASE_URL
|
||||
|
||||
@@ -9,8 +9,8 @@ data class ShelfModel(
|
||||
var goodsId: String = "",
|
||||
var goodsName: String? = null,
|
||||
var deviceId: String? = null,
|
||||
var weight: Double? = null,
|
||||
var weightBak: Double? = null,
|
||||
var weight: Double = 0.0,
|
||||
var weightBak: Double = 0.0,
|
||||
var createTime: String? = null,
|
||||
var putCabinetDay: String? = null,
|
||||
var updateTime: String? = null,
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.shuwei.intelligent.shelves.net
|
||||
import com.shuwei.intelligent.shelves.App
|
||||
import com.shuwei.intelligent.shelves.model.DeviceConfigInfo
|
||||
import com.shuwei.intelligent.shelves.model.GoodsModel
|
||||
import com.shuwei.intelligent.shelves.model.GoodsRecord
|
||||
import com.shuwei.intelligent.shelves.model.ShelfBody
|
||||
import com.shuwei.intelligent.shelves.model.ShelfResult
|
||||
import retrofit2.http.Body
|
||||
@@ -29,24 +28,19 @@ interface ApiService {
|
||||
@GET("/equipment/stEquipment/queryByEquipmentCode")
|
||||
suspend fun getDeviceInfo(
|
||||
@Query("equipmentCode") equipmentCode: String,
|
||||
@Query("appVersion") appVersion: String = App.appVersion,
|
||||
@Header("X-Access-Token") token: String
|
||||
@Query("appVersion") appVersion: String = App.appVersion
|
||||
): RespData<DeviceConfigInfo>
|
||||
|
||||
@GET
|
||||
suspend fun getAccessToken(
|
||||
@Url url: String = UrlConfig.GET_ACCESS_TOKEN,
|
||||
@Query("qrcodeId") qrcodeId: String,
|
||||
@Query("x-access-token") token: String = App.accessToken
|
||||
@Query("qrcodeId") qrcodeId: String
|
||||
): RespData<String?>
|
||||
|
||||
@GET
|
||||
suspend fun getShelfList(
|
||||
@Url url: String = UrlConfig.GET_SHELF_LIST,
|
||||
@Query("deviceId") deviceId: String,
|
||||
@Query("x-access-token") token: String = App.accessToken,
|
||||
@Header("X-DEVICE-CODE") deviceCode:String = App.deviceId,
|
||||
@Header("authorization") authorization: String = "57ee87183f2a4fa59683ec9ef41c8f5d"
|
||||
@Query("deviceId") deviceId: String
|
||||
): RespData<ShelfResult>
|
||||
|
||||
@GET
|
||||
@@ -55,19 +49,13 @@ interface ApiService {
|
||||
@Query("canteenId") canteenId: String = "0",
|
||||
@Query("goodsName") goodsName: String? = null,
|
||||
@Query("pageNo") pageNo: Int = 1,
|
||||
@Query("pageSize") pageSize: Int = 50,
|
||||
@Query("x-access-token") token: String = App.accessToken,
|
||||
@Header("X-DEVICE-CODE") deviceCode:String = App.deviceId,
|
||||
@Header("authorization") authorization: String = "57ee87183f2a4fa59683ec9ef41c8f5d"
|
||||
@Query("pageSize") pageSize: Int = 50
|
||||
): RespData<MutableList<GoodsModel>?>
|
||||
|
||||
@POST
|
||||
suspend fun saveShelfGoodsList(
|
||||
@Url url: String = UrlConfig.SAVE_SHELF_GOODS_LIST,
|
||||
@Body body: ShelfBody,
|
||||
@Query("x-access-token") token: String = App.accessToken,
|
||||
@Header("X-DEVICE-CODE") deviceCode:String = App.deviceId,
|
||||
@Header("authorization") authorization: String = "57ee87183f2a4fa59683ec9ef41c8f5d"
|
||||
@Body body: ShelfBody
|
||||
): RespData<Any?>
|
||||
|
||||
}
|
||||
@@ -33,7 +33,7 @@ class HttpManager private constructor() {
|
||||
writeTimeout(15, TimeUnit.SECONDS)
|
||||
sslSocketFactory(createSSLSocketFactory(), TrustAllCerts())
|
||||
hostnameVerifier { _, _ -> true }
|
||||
addInterceptor(LoggingInterceptor())
|
||||
// addInterceptor(LoggingInterceptor())
|
||||
addNetworkInterceptor(HttpLoggingInterceptor(logger = {
|
||||
Log.d("HttpManager","okhttp logger ==>${it}")
|
||||
}).apply {
|
||||
@@ -50,6 +50,7 @@ class HttpManager private constructor() {
|
||||
// .build()
|
||||
// chain.proceed(request)
|
||||
// }
|
||||
addInterceptor(RequestInterceptor())
|
||||
}
|
||||
.build()
|
||||
}
|
||||
@@ -60,18 +61,18 @@ class HttpManager private constructor() {
|
||||
|
||||
// fun newCall(request: Request): Call = client.newCall(request)
|
||||
|
||||
inner class LoggingInterceptor : Interceptor {
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val request = chain.request()
|
||||
// 打印请求日志
|
||||
Log.d("HttpManager", "--> ${request.method},${request.url},${request.body}")
|
||||
|
||||
val response = chain.proceed(request)
|
||||
// 打印响应日志
|
||||
Log.d("HttpManager", "<-- ${response.body}")
|
||||
return response
|
||||
}
|
||||
}
|
||||
// inner class LoggingInterceptor : Interceptor {
|
||||
// override fun intercept(chain: Interceptor.Chain): Response {
|
||||
// val request = chain.request()
|
||||
// // 打印请求日志
|
||||
// Log.d("HttpManager", "--> ${request.method},${request.url},${request.body}")
|
||||
//
|
||||
// val response = chain.proceed(request)
|
||||
// // 打印响应日志
|
||||
// Log.d("HttpManager", "<-- ${response.body}")
|
||||
// return response
|
||||
// }
|
||||
// }
|
||||
|
||||
// 信任所有证书的TrustManager实现
|
||||
@SuppressLint("CustomX509TrustManager")
|
||||
|
||||
@@ -45,7 +45,7 @@ class NetViewModel : ViewModel() {
|
||||
_getDeviceTokenUiState.value = UiState.Loading
|
||||
runCatching {
|
||||
val response = apiService.getDeviceToken(qrcodeId = deviceId)
|
||||
if (response.code == 0) {
|
||||
if (response.isSuccess()) {
|
||||
_getDeviceTokenUiState.value = UiState.Success(response)
|
||||
} else {
|
||||
_getDeviceTokenUiState.value = UiState.Error(response.msg ?: "请求失败")
|
||||
@@ -61,8 +61,8 @@ class NetViewModel : ViewModel() {
|
||||
_getDeviceTokenUiState.value = UiState.Loading
|
||||
runCatching {
|
||||
val response =
|
||||
apiService.getDeviceInfo(equipmentCode = deviceId, token = deviceToken)
|
||||
if (response.code == 0) {
|
||||
apiService.getDeviceInfo(equipmentCode = deviceId)
|
||||
if (response.isSuccess()) {
|
||||
_getDeviceTokenUiState.value = UiState.Success(response)
|
||||
} else {
|
||||
_getDeviceTokenUiState.value = UiState.Error(response.msg ?: "请求失败")
|
||||
@@ -78,7 +78,7 @@ class NetViewModel : ViewModel() {
|
||||
_getAccessTokenUiState.value = UiState.Loading
|
||||
runCatching {
|
||||
val response = apiService.getAccessToken(qrcodeId = deviceId)
|
||||
if (response.code == 0) {
|
||||
if (response.isSuccess()) {
|
||||
_getAccessTokenUiState.value = UiState.Success(response)
|
||||
} else {
|
||||
_getAccessTokenUiState.value = UiState.Error(response.msg ?: "请求失败")
|
||||
@@ -94,7 +94,7 @@ class NetViewModel : ViewModel() {
|
||||
_getShelfListUiState.value = UiState.Loading
|
||||
runCatching {
|
||||
val response = apiService.getShelfList(deviceId = deviceId)
|
||||
if (response.code == 0) {
|
||||
if (response.isSuccess()) {
|
||||
_getShelfListUiState.value = UiState.Success(response)
|
||||
} else {
|
||||
_getShelfListUiState.value = UiState.Error(response.msg ?: "请求失败")
|
||||
@@ -139,7 +139,7 @@ class NetViewModel : ViewModel() {
|
||||
pageNo = pageNo,
|
||||
pageSize = pageSize
|
||||
)
|
||||
if (response.code == 0) {
|
||||
if (response.isSuccess()) {
|
||||
_getGoodsListUiState.value = UiState.Success(response)
|
||||
} else {
|
||||
_getGoodsListUiState.value = UiState.Error(response.msg ?: "请求失败")
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.shuwei.intelligent.shelves.net
|
||||
|
||||
import android.text.TextUtils
|
||||
import com.shuwei.intelligent.shelves.App
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
|
||||
/**
|
||||
* 请求拦截器
|
||||
*/
|
||||
class RequestInterceptor : Interceptor {
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val originalRequest = chain.request()
|
||||
val requestBuilder = originalRequest.newBuilder()
|
||||
.header("Content-Type", "application/json")
|
||||
.header("Accept", "application/json")
|
||||
.header("X-Access-Token", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjYW50ZWVuSWQiOiJiZTE1NDgzMS0zNDY2LTNiYTItYTJlYS01NzY1MmM5MTlmZWQiLCJ0eXBlIjoiNCIsInVzZXJJZCI6IjAwMDAwMDAwMDAwMDAwMDAwMDEifQ.sN40cOC-O5WQFrF4IDUs8fFlkNdUKLbJt_rHyTsgYYM")
|
||||
.header("X-DEVICE-CODE", App.deviceId)
|
||||
.header("authorization", "57ee87183f2a4fa59683ec9ef41c8f5d")
|
||||
|
||||
val newRequest = requestBuilder.build()
|
||||
|
||||
return chain.proceed(newRequest)
|
||||
}
|
||||
|
||||
// private fun getToken(originRequest: Request): String {
|
||||
// val tokenParam = originRequest.header("X-Access-Token")
|
||||
// if (!TextUtils.isEmpty(tokenParam)) return tokenParam!!
|
||||
// // 从本地获取token的逻辑
|
||||
// val spUtil = SPUtil.getInstance(context = App.getContext())
|
||||
// return spUtil.get(GlobalKey.KEY_TOKEN, "") as String
|
||||
//// return "eyJhbGciOiJIUzUxMiJ9.eyJpZCI6MTQ2LCJ1c2VyTmFtZSI6IjEzNjgxNDQ4ODU2IiwibmFtZSI6IuW-kOejiiIsInBhc3N3b3JkIjoiOTllOTQ1ZmVjZmZjNWIzNDI4MmUwNDRlODYyMzdjM2UxZjU5OWY5OCIsInNhbHQiOiI0NmEzMzUzYWU4OTA0MDYxYjMzODU5ZWNlYTBlMGE2NyIsInBob25lIjoiMTM2ODE0NDg4NTYiLCJzdGF0dXMiOjEsInVzZXJUeXBlIjoyLCJjcmVhdGVVc2VyTm8iOiIxNDEiLCJjcmVhdGVUaW1lIjoxNjI2OTQzNDE2MDAwLCJ1cGRhdGVVc2VyTm8iOiIxNDEiLCJ1cGRhdGVUaW1lIjoxNjI2OTQzNDE2MDAwLCJpc0RlbCI6ZmFsc2UsImVhSWQiOjk5LCJlYUlkTGlzdCI6Ijk5IiwiaXNTaG9wTWFuYWdlciI6dHJ1ZSwidXNlck5vIjoiMWY5Nzk5ZWMtODlkYi00MWYyLTk1YTEtY2UzNTA3Y2QyMTU2In0.f7wImPgBOYMV0AqRchnXGPkUWZN9dFJ9gLPsaB8uNldd21IfXLjJl8y-FiWVuVUvlwUvGpgqGDFR1JKj5H7amw"
|
||||
// }
|
||||
}
|
||||
@@ -3,7 +3,9 @@ package com.shuwei.intelligent.shelves.net
|
||||
data class RespData<T>(
|
||||
// val success: Boolean = false,
|
||||
val msg: String? = null,
|
||||
val code: Int = 0,
|
||||
val code: String? = null,
|
||||
val data: T? = null,
|
||||
val total: Int
|
||||
)
|
||||
// val total: Int
|
||||
) {
|
||||
fun isSuccess() = code == "00000"
|
||||
}
|
||||
@@ -48,15 +48,19 @@ class SyncTask(appContext: Context, workerParams: WorkerParameters) :
|
||||
// it.humidity = HomeActivity.showHumidity
|
||||
// }
|
||||
val body = ShelfBody().also {
|
||||
it.deviceId = App.deviceId ?: ""
|
||||
it.deviceId = App.deviceId
|
||||
it.canteenId = App.canteenId
|
||||
it.temperature = HomeActivity.showTemperatureC
|
||||
it.humidity = HomeActivity.showHumidity
|
||||
it.goodsList = submitList
|
||||
}
|
||||
Log.d(TAG, "performSync: body:${body.toJsonString()}")
|
||||
val resp = apiService.saveShelfGoodsList(body = body)
|
||||
Log.d(TAG, "performSync: resp:${resp.toJsonString()}")
|
||||
try {
|
||||
val resp = apiService.saveShelfGoodsList(body = body)
|
||||
Log.d(TAG, "performSync: resp:${resp.toJsonString()}")
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -406,45 +406,45 @@ public class AppUtil {
|
||||
*/
|
||||
@SuppressLint("MissingPermission")
|
||||
public static String getUDID(Context context) {
|
||||
return "SWZC-HG-001";
|
||||
// return "SWZC-HG-001";
|
||||
//// //"test111";
|
||||
// String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
|
||||
// if (!androidID.equals("")) {
|
||||
// try {
|
||||
// if (!"9774d56d682e549c".equals(androidID)) {
|
||||
// androidID = UUID.nameUUIDFromBytes(androidID.getBytes("utf8")).toString();
|
||||
// } else {
|
||||
// @SuppressLint("MissingPermission") final String deviceId = ((TelephonyManager) context.getSystemService(TELEPHONY_SERVICE)).getDeviceId();
|
||||
// androidID = deviceId != null ? UUID.nameUUIDFromBytes(deviceId.getBytes("utf8")).toString() : UUID.randomUUID().toString();
|
||||
// }
|
||||
// } catch (UnsupportedEncodingException e) {
|
||||
// throw new RuntimeException(e);
|
||||
// }
|
||||
// return androidID;
|
||||
// }
|
||||
//
|
||||
// //需要权限 android.permission.READ_PHONE_STATE
|
||||
// TelephonyManager TelephonyMgr = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
|
||||
// String szImei = TelephonyMgr.getDeviceId();
|
||||
// if (!szImei.equals("")) {
|
||||
// return szImei;
|
||||
// }
|
||||
//
|
||||
// //需要权限 android.permission.ACCESS_WIFI_STATE
|
||||
// WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
|
||||
// String m_szWLANMAC = wm.getConnectionInfo().getMacAddress();
|
||||
// if (!m_szWLANMAC.equals("")) {
|
||||
// return m_szWLANMAC;
|
||||
// }
|
||||
//
|
||||
// //需要权限 android.permission.BLUETOOTH
|
||||
// BluetoothAdapter m_BluetoothAdapter = null;
|
||||
// m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
|
||||
// String m_szBTMAC = m_BluetoothAdapter.getAddress();
|
||||
// if (!m_szBTMAC.equals("")) {
|
||||
// return m_szBTMAC;
|
||||
// }
|
||||
// return getUniquePsuedoID();
|
||||
String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
|
||||
if (!androidID.equals("")) {
|
||||
try {
|
||||
if (!"9774d56d682e549c".equals(androidID)) {
|
||||
androidID = UUID.nameUUIDFromBytes(androidID.getBytes("utf8")).toString();
|
||||
} else {
|
||||
@SuppressLint("MissingPermission") final String deviceId = ((TelephonyManager) context.getSystemService(TELEPHONY_SERVICE)).getDeviceId();
|
||||
androidID = deviceId != null ? UUID.nameUUIDFromBytes(deviceId.getBytes("utf8")).toString() : UUID.randomUUID().toString();
|
||||
}
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return androidID;
|
||||
}
|
||||
|
||||
//需要权限 android.permission.READ_PHONE_STATE
|
||||
TelephonyManager TelephonyMgr = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
|
||||
String szImei = TelephonyMgr.getDeviceId();
|
||||
if (!szImei.equals("")) {
|
||||
return szImei;
|
||||
}
|
||||
|
||||
//需要权限 android.permission.ACCESS_WIFI_STATE
|
||||
WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
|
||||
String m_szWLANMAC = wm.getConnectionInfo().getMacAddress();
|
||||
if (!m_szWLANMAC.equals("")) {
|
||||
return m_szWLANMAC;
|
||||
}
|
||||
|
||||
//需要权限 android.permission.BLUETOOTH
|
||||
BluetoothAdapter m_BluetoothAdapter = null;
|
||||
m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
|
||||
String m_szBTMAC = m_BluetoothAdapter.getAddress();
|
||||
if (!m_szBTMAC.equals("")) {
|
||||
return m_szBTMAC;
|
||||
}
|
||||
return getUniquePsuedoID();
|
||||
}
|
||||
|
||||
//获得 Psuedo ID
|
||||
|
||||
Reference in New Issue
Block a user