Kaynağa Gözat

更新3.9.0,修复小游戏切换账号后登录失败,随便打绵羊币不足崩溃,个人资料的内容修改

liyun 5 yıl önce
ebeveyn
işleme
56b457e478

+ 2 - 0
.idea/gradle.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
   <component name="GradleSettings">
     <option name="linkedExternalProjectsSettings">
       <GradleProjectSettings>
+        <option name="testRunner" value="PLATFORM" />
         <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
         <option name="modules">

+ 20 - 1
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWeb.java

@@ -22,6 +22,7 @@ import android.webkit.CookieManager;
 import android.webkit.CookieSyncManager;
 import android.webkit.ValueCallback;
 import android.webkit.WebChromeClient;
+import android.webkit.WebResourceResponse;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
@@ -86,6 +87,8 @@ public class FgtWeb extends BaseFgtWeb {
     protected WebParams webParams;
 
     private String finallyUrl;
+    private boolean needWxLogin = false;
+    private KFZSJs kfzsJs;
 
     public String getFirstUrl() {
         return finallyUrl;
@@ -125,6 +128,7 @@ public class FgtWeb extends BaseFgtWeb {
             setLandscape();
         }
         initWebViewSettings(mWebView);
+        kfzsJs = new KFZSJs(SheepApp.getInstance().getCurrentActivity(), this);
         if (TextUtils.isEmpty(jsUrl)) {
             loadUrl(url);
         } else {
@@ -380,6 +384,17 @@ public class FgtWeb extends BaseFgtWeb {
 //            }
 
             @Override
+            public WebResourceResponse shouldInterceptRequest(WebView view, String s) {
+                if(url.contains("h5.qzone.qq.com")){
+                    if(s.equals("https://qzonestyle.gtimg.cn/qz-proj/qz-common/img/m-error/pic-error.png")){
+                        needWxLogin = true;
+                        kfzsJs.loginThirdPartApp("wx");
+                    }
+                }
+                return super.shouldInterceptRequest(view, s);
+            }
+
+            @Override
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
                 LogUtil.println("ActWeb", "shouldOverrideUrlLoading", url);
                 //微信H5支付核心代码
@@ -458,7 +473,7 @@ public class FgtWeb extends BaseFgtWeb {
         });
 
         if (webParams.isNeedJsInteract()) {
-            mWebView.addJavascriptInterface(new KFZSJs(SheepApp.getInstance().getCurrentActivity(), this), "kfzsjs");
+            mWebView.addJavascriptInterface(kfzsJs, "kfzsjs");
             String loadUrl = url;
             if (webParams.getTokenKey() != null) {
                 if (url.startsWith(Config.YF_SHOP_HOME)
@@ -681,6 +696,10 @@ public class FgtWeb extends BaseFgtWeb {
         if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
             CookieSyncManager.createInstance(getContext()).sync();
         }
+        if(needWxLogin){
+            needWxLogin = false;
+            loadUrl(webParams.getUrl());
+        }
     }
 
     @Override

+ 20 - 1
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java

@@ -87,6 +87,8 @@ public class FgtWebX5 extends BaseFgtWebX5 {
     protected WebParams webParams;
 
     private String finallyUrl;
+    private boolean needWxLogin = false;
+    private KFZSJs kfzsJs;
 
     public String getFirstUrl() {
         return finallyUrl;
@@ -127,6 +129,7 @@ public class FgtWebX5 extends BaseFgtWebX5 {
             setLandscape();
         }
         initWebViewSettings(mWebView);
+        kfzsJs = new KFZSJs(SheepApp.getInstance().getCurrentActivity(), this);
         if (TextUtils.isEmpty(jsUrl)) {
             loadUrl(url);
         } else {
@@ -386,6 +389,18 @@ public class FgtWebX5 extends BaseFgtWebX5 {
 //            }
 
             @Override
+            public WebResourceResponse shouldInterceptRequest(WebView webView, String s) {
+                if(url.contains("h5.qzone.qq.com")){
+                    if(s.equals("https://qzonestyle.gtimg.cn/qz-proj/qz-common/img/m-error/pic-error.png")){
+                        needWxLogin = true;
+                        kfzsJs.loginThirdPartApp("wx");
+                    }
+                }
+                return super.shouldInterceptRequest(webView, s);
+            }
+
+
+            @Override
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
                 LogUtil.println("ActWebX5", "shouldOverrideUrlLoading " + url);
                 //微信H5支付核心代码
@@ -461,7 +476,7 @@ public class FgtWebX5 extends BaseFgtWebX5 {
         });
 
         if (webParams.isNeedJsInteract()) {
-            mWebView.addJavascriptInterface(new KFZSJs(SheepApp.getInstance().getCurrentActivity(), this), "kfzsjs");
+            mWebView.addJavascriptInterface(kfzsJs, "kfzsjs");
             String loadUrl = url;
             if (webParams.getTokenKey() != null) {
                 if (url.startsWith(Config.YF_SHOP_HOME)
@@ -682,6 +697,10 @@ public class FgtWebX5 extends BaseFgtWebX5 {
         }
         cookieManager.flush();
         CookieSyncManager.createInstance(getContext()).sync();
+        if(needWxLogin){
+            needWxLogin = false;
+            loadUrl(webParams.getUrl());
+        }
     }
 
     @Override

+ 4 - 0
app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java

@@ -213,6 +213,10 @@ public class KFZSJs {
             public void run() {
                 String url = iWeb.getWebUrl();
                 int start = url.indexOf("authorization=");
+                if (start < 0) {
+                    url = iWeb.getFirstUrl();
+                    start = url.indexOf("authorization=");
+                }
                 String token = url.substring(url.indexOf("=", start) + 1, url.indexOf("&", start));
                 if (forResult) {
                     Jump2View.getInstance().goRechargeActForResult(activity, "内部H5", token);//进入充值绵羊币界面

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/PersonalInfoAct.java

@@ -491,7 +491,7 @@ public class PersonalInfoAct extends AbsChooseImageActivity {
         }
 
         if (TextUtils.isEmpty(userEntity.getAli_account())) {
-            personal_info_bind_tx_ali.setText("未绑定");
+            personal_info_bind_tx_ali.setText("查看");
         } else {
             personal_info_bind_tx_ali.setText(userEntity.getAli_account());
         }

+ 2 - 2
gradle.properties

@@ -17,8 +17,8 @@
 # org.gradle.parallel=true
 #android.injected.build.model.only.versioned = 3
 
-VERSION_NAME=3.8.0
-VERSION_CODE=3008000
+VERSION_NAME=3.9.0
+VERSION_CODE=3009000
 ANDROID_COMPILE_SDK_VERSION=28
 ANDROID_MIN_SDK_VERSION=18
 ANDORID_TARGET_SDK_VERSION=28