wuhb 2 years ago
parent
commit
80851cb69b

+ 2 - 2
app/build.gradle

@@ -9,8 +9,8 @@ android {
         applicationId "com.qy.agv"
         minSdk 27
         targetSdk 31
-        versionCode 2
-        versionName "1.1.1"
+        versionCode 3
+        versionName "1.1.2"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }

+ 7 - 2
app/src/main/java/com/qy/agv/activity/ControlActivity.java

@@ -1,6 +1,7 @@
 package com.qy.agv.activity;
 
 import static com.qy.agv.util.Constant.CACHE_BIND_CONTROL;
+import static com.qy.agv.util.Constant.CACHE_LOGIN_KEY;
 import static com.qy.agv.util.Constant.user;
 
 import android.annotation.SuppressLint;
@@ -34,6 +35,7 @@ import com.google.gson.reflect.TypeToken;
 import com.qy.agv.R;
 import com.qy.agv.activity.adapter.DirViewAdapter;
 import com.qy.agv.activity.dao.MainDao;
+import com.qy.agv.activity.model.EventMessage;
 import com.qy.agv.activity.model.RelocModel;
 import com.qy.agv.activity.model.RobotModel;
 import com.qy.agv.activity.model.ShelfModel;
@@ -46,11 +48,13 @@ import com.qy.agv.receiver.SocketService;
 import com.qy.agv.util.Constant;
 import com.qy.agv.util.DataUtil;
 import com.qy.agv.util.DateUtil;
+import com.qy.agv.util.HttpsUtil;
 import com.qy.agv.util.MyProgress;
 import com.qy.agv.util.StringUtils;
 import com.qy.agv.util.ToastUtils;
 
 import org.apache.log4j.Logger;
+import org.greenrobot.eventbus.EventBus;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.xutils.common.Callback;
@@ -264,6 +268,7 @@ public class ControlActivity extends BaseActivity {
                     }
                 } catch (JSONException e) {
                     e.printStackTrace();
+                    mylog.error(e);
                 }
             }
 
@@ -271,7 +276,7 @@ public class ControlActivity extends BaseActivity {
             public void onError(Throwable ex, boolean isOnCallback) {
                 ex.printStackTrace();
                 mylog.error("请求异常:", ex);
-                ToastUtils.showToast(context, "请求异常:" + ex.getMessage());
+                HttpsUtil.parserError(ControlActivity.this, ex);
             }
 
             @Override
@@ -326,7 +331,7 @@ public class ControlActivity extends BaseActivity {
             @Override
             public void onError(Throwable ex, boolean isOnCallback) {
                 ex.printStackTrace();
-                mylog.error("请求异常:", ex);
+                HttpsUtil.parserError(ControlActivity.this, ex);
             }
             @Override
             public void onFinished() {

+ 11 - 15
app/src/main/java/com/qy/agv/activity/MainActivity.java

@@ -49,6 +49,7 @@ import com.qy.agv.databinding.ActivityMainBinding;
 import com.qy.agv.update.UpdateManager;
 import com.qy.agv.util.Constant;
 import com.qy.agv.util.DateUtil;
+import com.qy.agv.util.HttpsUtil;
 import com.qy.agv.util.MD5Encryption;
 import com.qy.agv.util.MyProgress;
 import com.qy.agv.util.Permission;
@@ -243,19 +244,8 @@ public class MainActivity extends BaseActivity {
 
             @Override
             public void onError(Throwable ex, boolean isOnCallback) {
-                try {
-                    ex.printStackTrace();
-                    String exStr = ex.toString();
-                    System.out.println(ex.toString());
-                    int strIndex = exStr.indexOf("result:");
-                    String result = exStr.substring(strIndex+7).trim();
-                    JSONObject object = new JSONObject(result);
-                    ToastUtils.showToast(context, object.getString("error_description"));
-                    mylog.error("请求异常:", ex);
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                    ToastUtils.showToast(context, e.toString());
-                }
+                ex.printStackTrace();
+                HttpsUtil.parserError(MainActivity.this, ex);
             }
 
             @Override
@@ -303,6 +293,7 @@ public class MainActivity extends BaseActivity {
             @Override
             public void onError(Throwable ex, boolean isOnCallback) {
                 ex.printStackTrace();
+                HttpsUtil.parserError(MainActivity.this, ex);
                 mylog.error("请求异常:", ex);
             }
             @Override
@@ -638,7 +629,7 @@ public class MainActivity extends BaseActivity {
         params.addBodyParameter("current", "1");
         params.addBodyParameter("size", "100");
         params.addBodyParameter("descs", "distribution_time");
-        params.addBodyParameter("distributionTime", DateUtil.getCurrDate(Constant.DATE_FORMATE));
+//        params.addBodyParameter("distributionTime", DateUtil.getCurrDate(Constant.DATE_FORMATE));
         x.http().get(params, new Callback.CommonCallback<JSONObject>() {
             @Override
             public void onSuccess(JSONObject rs) {
@@ -687,6 +678,7 @@ public class MainActivity extends BaseActivity {
             @Override
             public void onError(Throwable ex, boolean isOnCallback) {
                 ex.printStackTrace();
+                HttpsUtil.parserError(MainActivity.this, ex);
                 mylog.error("请求异常:", ex);
             }
 
@@ -715,6 +707,11 @@ public class MainActivity extends BaseActivity {
     }
 
     private void logout(){
+        Constant.user = null;
+        CacheService.getInstance(context).clear(CACHE_BIND_CONTROL);
+        CacheService.getInstance(context).clear(CACHE_LOGIN_KEY);
+        Constant.ACCESS_TOKEN = null;
+        Constant.REFRESH_TOKEN = null;
         mList.clear();
         listViewAdapter.notifyDataSetChanged();
         binding.swipeContainer.setVisibility(View.GONE);
@@ -775,5 +772,4 @@ public class MainActivity extends BaseActivity {
             logout();
         }
     }
-
 }

+ 0 - 5
app/src/main/java/com/qy/agv/activity/RobotInfoActivity.java

@@ -133,11 +133,6 @@ public class RobotInfoActivity extends BaseActivity {
                             @Override
                             // 处理确定按钮点击事件
                             public void onClick(DialogInterface dialog, int which) {
-                                Constant.user = null;
-                                CacheService.getInstance(context).clear(CACHE_BIND_CONTROL);
-                                CacheService.getInstance(context).clear(CACHE_LOGIN_KEY);
-                                Constant.ACCESS_TOKEN = null;
-                                Constant.REFRESH_TOKEN = null;
                                 try {
                                     EventMessage message = new EventMessage(1, "退出");
                                     EventBus.getDefault().post(message);

+ 44 - 0
app/src/main/java/com/qy/agv/util/HttpsUtil.java

@@ -1,9 +1,16 @@
 package com.qy.agv.util;
 
+import android.app.Activity;
 import android.content.Context;
+import android.os.Handler;
 import android.util.Base64;
 import android.util.Log;
 
+import com.qy.agv.activity.model.EventMessage;
+
+import org.apache.log4j.Logger;
+import org.greenrobot.eventbus.EventBus;
+import org.json.JSONObject;
 import org.xutils.http.RequestParams;
 
 import java.io.IOException;
@@ -30,6 +37,8 @@ import javax.net.ssl.X509TrustManager;
 
 public class HttpsUtil {
 
+    public static Logger mylog =Logger.getLogger(HttpsUtil.class);
+
     /**
      * 获取双向认证的SSLSocketFactory
      *
@@ -269,4 +278,39 @@ public class HttpsUtil {
         params.setReadTimeout(15000);
         return params;
     }
+
+    public static void parserError(Activity activity, Throwable ex){
+        try {
+            String exStr = ex.toString();
+            int strIndex = exStr.indexOf("result:");
+            String result = exStr.substring(strIndex+7).trim();
+            JSONObject object = new JSONObject(result);
+            int error_code = 0;
+            if(object.has("error_code")) {
+                error_code = object.getInt("error_code");
+            }
+            if(object.has("code")) {
+                error_code = object.getInt("code");
+            }
+            if(error_code == 401 || exStr.contains("请求未授权")){
+                try {
+                    EventMessage message = new EventMessage(1, "退出");
+                    EventBus.getDefault().post(message);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+                new Handler().postDelayed(activity::finish, 300);
+            }
+            if(object.has("error_description")) {
+                ToastUtils.showToast(activity, object.getString("error_description"));
+            }
+            if(object.has("msg")) {
+                ToastUtils.showToast(activity, object.getString("msg"));
+            }
+            mylog.error("请求异常:", ex);
+        }catch (Exception e){
+            e.printStackTrace();
+            mylog.error(e.toString());
+        }
+    }
 }

+ 1 - 0
app/src/main/res/layout/activity_main.xml

@@ -11,6 +11,7 @@
         android:layout_width="match_parent"
         android:layout_marginTop="48dp"
         android:layout_height="0dp"
+        app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent">