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 +++++++++++++++------
 .gradle/4.1/fileHashes/fileHashes.lock                            |    0 
 .gradle/4.1/taskHistory/taskHistory.bin                           |    0 
 .gradle/4.1/javaCompile/classAnalysis.bin                         |    0 
 app/src/main/AndroidManifest.xml                                  |    3 +
 app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java |    7 ---
 conf.gradle                                                       |    4 +-
 app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java  |   18 +++++++++
 .gradle/4.1/fileHashes/fileHashes.bin                             |    0 
 .gradle/4.1/taskHistory/fileSnapshots.bin                         |    0 
 .gradle/4.1/javaCompile/javaCompile.lock                          |    0 
 .gradle/4.1/taskHistory/taskHistory.lock                          |    0 
 .gradle/4.1/javaCompile/taskHistory.bin                           |    0 
 app/build.gradle                                                  |    1 
 14 files changed, 52 insertions(+), 23 deletions(-)

diff --git a/.gradle/4.1/fileHashes/fileHashes.bin b/.gradle/4.1/fileHashes/fileHashes.bin
index 6a84e85..b36526f 100644
--- a/.gradle/4.1/fileHashes/fileHashes.bin
+++ b/.gradle/4.1/fileHashes/fileHashes.bin
Binary files differ
diff --git a/.gradle/4.1/fileHashes/fileHashes.lock b/.gradle/4.1/fileHashes/fileHashes.lock
index 7cd40a1..f341393 100644
--- a/.gradle/4.1/fileHashes/fileHashes.lock
+++ b/.gradle/4.1/fileHashes/fileHashes.lock
Binary files differ
diff --git a/.gradle/4.1/javaCompile/classAnalysis.bin b/.gradle/4.1/javaCompile/classAnalysis.bin
index cd9505c..36196c9 100644
--- a/.gradle/4.1/javaCompile/classAnalysis.bin
+++ b/.gradle/4.1/javaCompile/classAnalysis.bin
Binary files differ
diff --git a/.gradle/4.1/javaCompile/javaCompile.lock b/.gradle/4.1/javaCompile/javaCompile.lock
index d73d552..1edb8a6 100644
--- a/.gradle/4.1/javaCompile/javaCompile.lock
+++ b/.gradle/4.1/javaCompile/javaCompile.lock
Binary files differ
diff --git a/.gradle/4.1/javaCompile/taskHistory.bin b/.gradle/4.1/javaCompile/taskHistory.bin
index 1ee5d9c..4745f39 100644
--- a/.gradle/4.1/javaCompile/taskHistory.bin
+++ b/.gradle/4.1/javaCompile/taskHistory.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/fileSnapshots.bin b/.gradle/4.1/taskHistory/fileSnapshots.bin
index e489310..c290dbd 100644
--- a/.gradle/4.1/taskHistory/fileSnapshots.bin
+++ b/.gradle/4.1/taskHistory/fileSnapshots.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/taskHistory.bin b/.gradle/4.1/taskHistory/taskHistory.bin
index 387e56b..b8ca58a 100644
--- a/.gradle/4.1/taskHistory/taskHistory.bin
+++ b/.gradle/4.1/taskHistory/taskHistory.bin
Binary files differ
diff --git a/.gradle/4.1/taskHistory/taskHistory.lock b/.gradle/4.1/taskHistory/taskHistory.lock
index 5f6e921..a1b08b9 100644
--- a/.gradle/4.1/taskHistory/taskHistory.lock
+++ b/.gradle/4.1/taskHistory/taskHistory.lock
Binary files differ
diff --git a/app/build.gradle b/app/build.gradle
index 7481beb..5ac8bb4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -22,7 +22,6 @@
             keyPassword 'moral123456'
             storeFile file('/Users/chenqi/AndroidStudioProjects/pregnancy_guard_android/key.jks')
             //md5 6B:AD:23:76:61:03:1D:9A:B8:E2:05:90:3E:4D:9F:00
-            //md5 6B:AD:23:76:61:03:1D:9A:B8:E2:05:90:3E:4D:9F:00
             storePassword 'moral123456'
         }
     }
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4143ff9..f1c4bd0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -72,6 +72,7 @@
             android:screenOrientation="portrait" />
         <activity
             android:name="com.moral.yunfushao.activity.LoginActivity"
+            android:launchMode="singleTask"
             android:screenOrientation="portrait" />
         <activity
             android:name="com.moral.yunfushao.activity.RegisterActivity"
@@ -123,8 +124,8 @@
         <activity
             android:name=".wxapi.WXEntryActivity"
             android:exported="true"
-            android:taskAffinity="com.moral.yunfushao"
             android:launchMode="singleTask"
+            android:taskAffinity="com.moral.yunfushao"
             android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity>
         <!-- Bugly������SDK������������-->
     </application>
diff --git a/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java b/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java
index 9a51198..8d31c90 100644
--- a/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java
+++ b/app/src/main/java/com/moral/yunfushao/activity/LoginActivity.java
@@ -127,13 +127,6 @@
     protected void onErrorPageClick() {
 
     }
-
-    @Override
-    protected void onStop() {
-        super.onStop();
-        finish();
-    }
-
     private void login(String tel, final String pwd) {
         final String url = API.LOGIN;
         Map<String, String> params = new HashMap<>();
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() {
diff --git a/app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java b/app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java
index b29f5ec..1943228 100644
--- a/app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java
+++ b/app/src/main/java/com/moral/yunfushao/wxapi/data/WXUserBean.java
@@ -31,6 +31,24 @@
     private String headimgurl;
     private String unionid;
     private List<String> privilege;
+    private String errmsg;
+    private int errcode;
+
+    public String getErrmsg() {
+        return errmsg;
+    }
+
+    public void setErrmsg(String errmsg) {
+        this.errmsg = errmsg;
+    }
+
+    public int getErrcode() {
+        return errcode;
+    }
+
+    public void setErrcode(int errcode) {
+        this.errcode = errcode;
+    }
 
     public String getOpenid() {
         return openid;
diff --git a/conf.gradle b/conf.gradle
index 48b77d1..390bf84 100644
--- a/conf.gradle
+++ b/conf.gradle
@@ -2,8 +2,8 @@
     android = [
             compileSdkVersion: 25,
             buildToolsVersion: "26.0.2",
-            versionCode      : 4,
-            versionName      : "1.0.3.1",
+            versionCode      : 5,
+            versionName      : "1.0.3.2",
             minSdkVersion    : 21,
             targetSdkVersion : 25,
             debugVersion     : "_sp2",

--
Gitblit v1.8.0