billyyoyo лет назад: 5
Родитель
Сommit
49b5a1d3b3

+ 25 - 11
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/BaseFgtWeb.java

@@ -17,6 +17,7 @@ import com.sheep.gamegroup.model.api.IWeb;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DownloadUtil;
+import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.StringUtils;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
@@ -61,17 +62,18 @@ public abstract class BaseFgtWeb extends BaseFragment implements UMShareListener
         super.onDestroy();
     }
 
-    public void superFinish(){
+    public void superFinish() {
         SheepApp.getInstance().getCurrentActivity().finish();
     }
 
 
     public void setH5Type(String h5Type) {
-        switch (h5Type){
+        switch (h5Type) {
             case "is_unicom":
                 break;
         }
     }
+
     @Override
     public void onStart(SHARE_MEDIA share_media) {
         //开始分享
@@ -99,27 +101,35 @@ public abstract class BaseFgtWeb extends BaseFragment implements UMShareListener
     }
 
     protected boolean addSheepUserAgent = true;
-    protected void webViewLoadUrl(WebView webView, String url){
-        if(addSheepUserAgent){
+
+    protected void webViewLoadUrl(WebView webView, String url) {
+        if (url.contains("#") && url.contains("?") && url.indexOf("#") < url.indexOf("?")) {
+            String host = url.substring(0, url.indexOf("#"));
+            String hash = url.substring(url.indexOf("#"), url.indexOf("?"));
+            String query = url.substring(url.indexOf("?"));
+            query += "&stamp=" + (System.currentTimeMillis() / 60_000);
+            url = host + query + hash;
+        }
+        if (addSheepUserAgent) {
             Map<String, String> extraHeaders = new HashMap<>();
             extraHeaders.put("User-Agent", getSheepUserAgent());
             webViewLoadUrl(webView, extraHeaders, url);
         } else {
             webView.loadUrl(url);
-            if(TestUtil.isDev()){
+            if (TestUtil.isDev()) {
                 return;
             }
             WebViewCacheInterceptorInst.getInstance().loadUrl(url, webView.getSettings().getUserAgentString());
         }
     }
 
-    public static String getSheepUserAgent(){
+    public static String getSheepUserAgent() {
         return BuildConfig.APPLICATION_ID + "/" + SysAppUtil.getUserAgent();
     }
 
-    protected void webViewLoadUrl(WebView webView, Map<String, String> map, String url){
+    protected void webViewLoadUrl(WebView webView, Map<String, String> map, String url) {
         webView.loadUrl(url, map);
-        if(TestUtil.isDev()){
+        if (TestUtil.isDev()) {
             return;
         }
         WebViewCacheInterceptorInst.getInstance().loadUrl(url, map, webView.getSettings().getUserAgentString());
@@ -198,6 +208,7 @@ public abstract class BaseFgtWeb extends BaseFragment implements UMShareListener
     }
 
     private DownloadUtil downloadUtil;
+
     public void updateDownloadBtn() {
         if (taskEty != null) {
             if (downloadUtil == null)
@@ -214,9 +225,11 @@ public abstract class BaseFgtWeb extends BaseFragment implements UMShareListener
             }));
         }
     }
+
     private int type = DownloadUtil.STATUS_INIT;
-    public void onClickDownloadBtn(){
-        switch (type){
+
+    public void onClickDownloadBtn() {
+        switch (type) {
             case DownloadUtil.STATUS_INIT://开始下载
             default:
                 downloadApk();
@@ -229,7 +242,8 @@ public abstract class BaseFgtWeb extends BaseFragment implements UMShareListener
                 break;
         }
     }
-    public void downloadApk(){
+
+    public void downloadApk() {
         if (taskEty != null) {
             if (downloadUtil == null)
                 downloadUtil = new DownloadUtil();

+ 8 - 0
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/BaseFgtWebX5.java

@@ -16,6 +16,7 @@ import com.sheep.gamegroup.model.api.IWeb;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DownloadUtil;
+import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
@@ -100,6 +101,13 @@ public abstract class BaseFgtWebX5 extends BaseFragment implements UMShareListen
     protected boolean addSheepUserAgent = true;
 
     protected void webViewLoadUrl(WebView webView, String url) {
+        if (url.contains("#") && url.contains("?") && url.indexOf("#") < url.indexOf("?")) {
+            String host = url.substring(0, url.indexOf("#"));
+            String hash = url.substring(url.indexOf("#"), url.indexOf("?"));
+            String query = url.substring(url.indexOf("?"));
+            query += "&stamp=" + (System.currentTimeMillis() / 60_000);
+            url = host + query + hash;
+        }
         if (addSheepUserAgent) {
             Map<String, String> extraHeaders = new HashMap<>();
             extraHeaders.put("User-Agent", getSheepUserAgent());