|
|
@@ -34,10 +34,13 @@ import com.common.system.SystemUtil;
|
|
|
import com.core.app.MyApplication;
|
|
|
import com.core.base.BaseActivity;
|
|
|
import com.core.net.http.ViewUtil;
|
|
|
+import com.core.utils.ToastUtil;
|
|
|
import com.modular.appmessages.model.SubMessage;
|
|
|
import com.modular.login.activity.LoginActivity;
|
|
|
import com.tencent.smtt.export.external.interfaces.SslError;
|
|
|
import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
|
|
|
+import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
|
|
|
+import com.tencent.smtt.export.external.interfaces.WebResourceResponse;
|
|
|
import com.tencent.smtt.sdk.CookieManager;
|
|
|
import com.tencent.smtt.sdk.CookieSyncManager;
|
|
|
import com.tencent.smtt.sdk.ValueCallback;
|
|
|
@@ -81,6 +84,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
private TextView tck_icon;
|
|
|
private boolean isStartApp = false;
|
|
|
private boolean isCookie;
|
|
|
+ private boolean isLoginSuccess = false;
|
|
|
private int reCode = 201;
|
|
|
|
|
|
private ValueCallback<Uri> mUploadMessage;
|
|
|
@@ -107,12 +111,13 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
boolean success = JSON.parseObject(result).getBoolean("success");
|
|
|
|
|
|
if (success) {
|
|
|
+ isLoginSuccess = true;
|
|
|
if (!jsonObject.isNull("sessionId")) {
|
|
|
CommonUtil.setSharedPreferences(WebViewCommActivity.this, "sessionId", jsonObject.getString("sessionId"));
|
|
|
}
|
|
|
doNextLoadURL();
|
|
|
}
|
|
|
- } catch (JSONException e) {
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
@@ -122,12 +127,17 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
private void doNextLoadURL() {
|
|
|
if (isCookie) {
|
|
|
synCookies(this, url);
|
|
|
- } else {
|
|
|
- clearCookie();
|
|
|
}
|
|
|
+ webView.loadUrl(url, getWebHeader());
|
|
|
+ }
|
|
|
+
|
|
|
+ private Map<String, String> getWebHeader() {
|
|
|
Map<String, String> headers = new HashMap<>();
|
|
|
headers.put("clientType", "uas client");
|
|
|
- webView.loadUrl(url, headers);
|
|
|
+ headers.put("Cookie", com.core.utils.CommonUtil.getErpCookie(ct));
|
|
|
+ headers.put("sessionUser", com.core.utils.CommonUtil.getEmcode());
|
|
|
+ headers.put("sessionId", com.core.utils.CommonUtil.getSharedPreferences(ct, "sessionId"));
|
|
|
+ return headers;
|
|
|
}
|
|
|
|
|
|
@SuppressLint("SetJavaScriptEnabled")
|
|
|
@@ -200,7 +210,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
url = "http://www.baidu.com";
|
|
|
}
|
|
|
long oldtime = PreferenceUtils.getLong(this, TIME, System.currentTimeMillis());
|
|
|
- if (((System.currentTimeMillis() - oldtime) / (1000 * 60)) > 20) {
|
|
|
+ if (((System.currentTimeMillis() - oldtime) / (1000 * 60)) > 10) {
|
|
|
if (isCookie) {
|
|
|
login(this);
|
|
|
}
|
|
|
@@ -226,20 +236,14 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
|
|
|
if (isCookie) {
|
|
|
synCookies(this, url);
|
|
|
- } else {
|
|
|
- // clearCookie();
|
|
|
}
|
|
|
- Map<String, String> headers = new HashMap<>();
|
|
|
- headers.put("client-name", "uasClient");
|
|
|
-// url="http://192.168.253.132:9090/platform-b2c/?client=true";
|
|
|
- Log.d("webUrl", url);
|
|
|
- webView.loadUrl(url, headers);
|
|
|
-// webView.loadUrl("file:///android_asset/jsWithNative.html");
|
|
|
+
|
|
|
+ webView.loadUrl(url, getWebHeader());
|
|
|
webView.setWebChromeClient(new ChromeClient());
|
|
|
webView.setWebViewClient(new WebViewClient() {
|
|
|
@Override
|
|
|
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
|
|
|
- if (isCookie) {
|
|
|
+ if (isCookie && !isLoginSuccess) {
|
|
|
ViewUtil.ct = WebViewCommActivity.this;
|
|
|
ViewUtil.LoginERPTask(WebViewCommActivity.this, hander, reCode);
|
|
|
}
|
|
|
@@ -247,10 +251,19 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
super.onReceivedError(view, errorCode, description, failingUrl);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onReceivedHttpError(WebView webView, WebResourceRequest webResourceRequest, WebResourceResponse webResourceResponse) {
|
|
|
+ if (isCookie && !isLoginSuccess && webResourceResponse.getStatusCode() == 500) {
|
|
|
+ ToastUtil.showToast(ct, "登录信息已过期,正在重新登录");
|
|
|
+ ViewUtil.ct = WebViewCommActivity.this;
|
|
|
+ ViewUtil.LoginERPTask(WebViewCommActivity.this, hander, reCode);
|
|
|
+ }
|
|
|
+ super.onReceivedHttpError(webView, webResourceRequest, webResourceResponse);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
|
|
if (!TextUtils.isEmpty(url)) {
|
|
|
- Log.d("loadurl", url);
|
|
|
if (url.contains("https://account.ubtob.com/sso/login") ||
|
|
|
// url.equals("https://sso.ubtob.com/") ||
|
|
|
url.equals("http://surecloseweb.com")) {
|
|
|
@@ -261,11 +274,11 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
} else {
|
|
|
if (isCookie) {
|
|
|
synCookies(WebViewCommActivity.this, url);
|
|
|
- view.loadUrl(url);
|
|
|
+ view.loadUrl(url, getWebHeader());
|
|
|
} else {
|
|
|
// ViewUtil.ShowMessageTitleAutoDismiss(WebViewCommActivity.this,
|
|
|
// "您的登录会话过期!请重新登录!",1000);
|
|
|
- view.loadUrl(url);
|
|
|
+ view.loadUrl(url, getWebHeader());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -329,9 +342,8 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
+ "&insId=" + mSubscriptionMessages.get(mPosition).getId()
|
|
|
+ "&title=" + mSubscriptionMessages.get(mPosition).getTitle()
|
|
|
+ "&sessionId=" + CommonUtil.getSharedPreferences(ct, "sessionId");
|
|
|
- Map<String, String> headers = new HashMap<>();
|
|
|
- headers.put("client-name", "uasClient");
|
|
|
- webView.loadUrl(url, headers);
|
|
|
+
|
|
|
+ webView.loadUrl(url, getWebHeader());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -486,6 +498,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
CookieManager cookieManager = CookieManager.getInstance();
|
|
|
cookieManager.setAcceptCookie(true);
|
|
|
cookieManager.removeSessionCookie();//移除
|
|
|
+ LogUtil.prinlnLongMsg("cookieERP", MyApplication.cookieERP.toString());
|
|
|
Cookie sessionCookie = MyApplication.cookieERP;
|
|
|
String cookieStr = sessionCookie.getName() + "="
|
|
|
+ sessionCookie.getValue() + "; domain="
|