Просмотр исходного кода

[修改]更改SharedPreferences存取cookie为跨进程,更改错误清理cookie为指定游戏的host

zeki лет назад: 4
Родитель
Сommit
79eb3814a4

+ 10 - 11
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java

@@ -137,7 +137,7 @@ public class FgtWebX5 extends BaseFgtWebX5 {
             setLandscape();
         }
         initWebViewSettings(mWebView);
-        if(webParams.getOriginAccessToken()!=null){
+        if (webParams.getOriginAccessToken() != null) {
             saveWXToken(requireContext(), Uri.parse(webParams.getUrl()).getHost(), webParams.getOriginAccessToken(), webParams.getOriginRefreshToken(), webParams.getOriginExpires());
         }
         kfzsJs = new KFZSJs(SheepApp.getInstance().getCurrentActivity(), this);
@@ -466,16 +466,15 @@ public class FgtWebX5 extends BaseFgtWebX5 {
             @Override
             public WebResourceResponse shouldInterceptRequest(WebView webView, String s) {
                 if (s.contains("page-error.css")) {
-                    CookieManager.getInstance().removeAllCookie();
-                    Log.d("!!!!!!s","清理了cookie~~~");
-                    AndroidSchedulers.mainThread().scheduleDirect(new Runnable() {
-                        @Override
-                        public void run() {
-                            loadJs("window.location.reload()");
-                        /*//鱼死网破
-                        needWxLogin = true;
-                        kfzsJs.loginThirdPartApp("wx");*/
-                        }
+                    Uri uri = Uri.parse(getWebUrl());
+                    String host = uri.getHost();
+                    CookieManager.getInstance().setCookie(host, "");
+                    Log.d("!!!!!!s", "清理了cookie~~~");
+                    AndroidSchedulers.mainThread().scheduleDirect(() -> {
+                        loadJs("window.location.reload()");
+                    /*//鱼死网破
+                    needWxLogin = true;
+                    kfzsJs.loginThirdPartApp("wx");*/
                     });
                 }
 

+ 2 - 2
app/src/main/java/com/sheep/jiuyan/samllsheep/utils/SpUtils.java

@@ -19,12 +19,12 @@ public class SpUtils {
     public static String SKIP_LOGIN_FLAG = "skip_login";
 
     public static String getToken(Context context) {
-        SharedPreferences user = context.getSharedPreferences("user", Context.MODE_PRIVATE);
+        SharedPreferences user = context.getSharedPreferences("user", Context.MODE_MULTI_PROCESS);
         return user.getString("wx_openId", "");
     }
 
     public static void saveToken(Context context, String openId) {
-        SharedPreferences user = context.getSharedPreferences("user", Context.MODE_PRIVATE);
+        SharedPreferences user = context.getSharedPreferences("user", Context.MODE_MULTI_PROCESS);
         SharedPreferences.Editor editor = user.edit();
         editor.putString("wx_openId", openId);
         editor.apply();