From 4203968ed148a7e56ab460c8d6edb744cb1645e4 Mon Sep 17 00:00:00 2001
From: 陈奇 <1650699704@qq.com>
Date: Fri, 07 Dec 2018 17:16:54 +0800
Subject: [PATCH] [*]优化微信登陆用户信息

---
 app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java |   42 ++++++++++++++++++++++++++++++------------
 1 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java
index 9a863cb..76d017c 100644
--- a/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/wxapi/WXEntryActivity.java
@@ -121,13 +121,13 @@
 
             @Override
             public void onFail(int errno, String s) {
-                T.show("������������");
+                loginFailed();
             }
         });
     }
 
     /**
-     * ���������������������������
+     * ������������������������������
      *
      * @param refresh_tocken
      */
@@ -138,7 +138,7 @@
             public void onSuccess(String res, String msg) {
                 AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
                 if (accessTokenBean.getErrcode() == 40030) {
-                    T.show("������������");
+                    loginFailed();
                 } else {
                     loginSuccess(accessTokenBean.getAccess_token(), accessTokenBean.getOpenid());
                 }
@@ -151,7 +151,7 @@
 
             @Override
             public void onFail(int errno, String s) {
-                T.show("������������");
+                loginFailed();
             }
         });
     }
@@ -171,7 +171,7 @@
                 AccessTokenBean accessTokenBean = GsonUtil.toObj(msg, AccessTokenBean.class);
                 if (accessTokenBean.getErrcode() == 40029) {
                     //������������
-                    T.show("������������");
+                    loginFailed();
                     return;
                 }
                 if (accessTokenBean.getAccess_token() != null && accessTokenBean.getOpenid() != null) {
@@ -186,7 +186,7 @@
 
             @Override
             public void onFail(int errno, String s) {
-                T.show("������������");
+                loginFailed();
             }
         });
     }
@@ -206,11 +206,18 @@
             @Override
             public void onSuccess(String res, String msg) {
                 WXUserBean bean = new WXUserBean();
-                MainApp.theApp.userId = bean.getNickname();
                 User user = new User();
-                user.set_id(bean.getOpenid());
-                user.setNickname(bean.getNickname());
-                user.setLogin_type(2);
+                if (bean.getErrcode() == 40003) {
+                    MainApp.theApp.userId = "null";
+                    user.set_id(bean.getOpenid());
+                    user.setNickname(MainApp.theApp.userId);
+                    user.setLogin_type(2);
+                } else {
+                    MainApp.theApp.userId = bean.getNickname();
+                    user.set_id(bean.getOpenid());
+                    user.setNickname(bean.getNickname());
+                    user.setLogin_type(2);
+                }
                 MainApp.theApp.sharedPreferencesUtil.saveLoginInfo(user);
             }
 
@@ -221,17 +228,28 @@
 
             @Override
             public void onFail(int errno, String s) {
-                T.show("������������");
+                loginFailed();
             }
         });
     }
 
+
+    private void loginFailed() {
+        finish();
+        T.show("������������");
+    }
+
+    /**
+     * ������������
+     *
+     * @param strings
+     */
     private void loginSuccess(String... strings) {
         //���������������������
         Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
         WXEntryActivity.this.startActivity(intent);
-        finish();
         getUserInfor(strings[0], strings[1]);
+        finish();
     }
 
     private void goToGetMsg() {

--
Gitblit v1.8.0