فهرست منبع

Merge branch 'feature' of https://gitlab.com/Arisono/SkWeiChat-Baidu into developer_fix

# Conflicts:
#	WeiChat/version.properties
Arison 8 سال پیش
والد
کامیت
82582ff71d

+ 3 - 6
WeiChat/src/main/AndroidManifest.xml

@@ -130,9 +130,7 @@
         <activity android:name=".ui.SplashActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
-
                 <action android:name="cat.ereza.customactivityoncrash.RESTART" />
             </intent-filter>
 
@@ -140,10 +138,9 @@
                 <action android:name="android.intent.action.VIEW"></action>
                 <category android:name="android.intent.category.DEFAULT"></category>
                 <category android:name="android.intent.category.BROWSABLE"></category>
-                <data
-                    android:scheme="http"
-                    android:host="www.usoftchina.com"
-                    android:pathPrefix="/app">
+                
+                <data android:scheme="app"
+                    android:host="usoftchina.com">
                 </data>
             </intent-filter>
         </activity>

+ 24 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewCommActivity.java

@@ -32,6 +32,7 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
+import com.common.LogUtil;
 import com.common.data.StringUtil;
 import com.common.preferences.PreferenceUtils;
 import com.common.system.SystemUtil;
@@ -211,7 +212,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         if (isCookie) {
             synCookies(this, url);
         } else {
-            clearCookie();
+         //   clearCookie();
         }
         Map<String, String> headers = new HashMap<>();
         headers.put("client-name", "uasClient");
@@ -264,9 +265,17 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
             public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                 handler.proceed();
             }
+
+            public void onPageFinished(WebView view, String url) {
+                CookieManager cookieManager = CookieManager.getInstance();
+                String CookieStr = cookieManager.getCookie(url);
+                LogUtil.d(TAG,"Cookies = " + CookieStr);
+                super.onPageFinished(view, url);
+            }
         });
     }
 
+    private static final String TAG = "WebViewCommActivity";
     @Override
     public void onClick(View v) {
         switch (v.getId()) {
@@ -580,11 +589,24 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         return false;
     }
 
+    /**
+     * 同步一下cookie 
+     */
+    public static void synComCookies(Context context, String url) {
+        CookieSyncManager.createInstance(context);
+        CookieManager cookieManager = CookieManager.getInstance();
+        cookieManager.setAcceptCookie(true);
+        cookieManager.removeSessionCookie();//移除  
+        cookieManager.setCookie(url, com.core.utils.CommonUtil.getB2BSession(MyApplication.getInstance()));//cookies是在HttpClient中获得的cookie  
+        CookieSyncManager.getInstance().sync();
+    }
+    
+    
+    
     public class JSWebView {
 
         @JavascriptInterface
         public void closeWebWindow() {
-//            Toast.makeText(MyApplication.getInstance(),"JSWebView",Toast.LENGTH_LONG).show();
             finish();
         }
     }

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/adapter/WorkMenuParentAdapter.java

@@ -206,7 +206,8 @@ public class WorkMenuParentAdapter extends BaseAdapter {
                     intent.putExtra("type", 1);
                 }
                 break;
-            case "com.modular.main.WebViewCommActivity":
+            case  "com.modular.apputils.activity.SimpleWebActivity":
+          //  case "com.modular.main.WebViewCommActivity":
                 if ("ic_work_b2b_commerce".equals(menuIcon)) {
                     String phone = com.xzjmyk.pm.activity.util.oa.CommonUtil.getSharedPreferences(context, "user_phone");
                     String password = com.xzjmyk.pm.activity.util.oa.CommonUtil.getSharedPreferences(context, "user_password");

+ 5 - 5
WeiChat/version.properties

@@ -1,8 +1,8 @@
-#Thu Dec 28 09:13:13 CST 2017
-debugName=297
->>>>>>>=ee498070608d5e9e61ea28c6cea1571216fbad83
+#Fri Dec 29 10:09:38 CST 2017
+debugName=340
 versionName=613
-debugCode=297
+>>>>>>>=ee498070608d5e9e61ea28c6cea1571216fbad83
+debugCode=340
 versionCode=152
-=\=\=\=\=\=\=
 <<<<<<<=HEAD
+=\=\=\=\=\=\=

+ 2 - 2
app_core/common/src/main/assets/work_menu.json

@@ -279,7 +279,7 @@
         "isLocalMenu": true,
         "menuName": "str_work_b2b_commerce",
         "menuIcon": "ic_work_b2b_commerce",
-        "menuActivity": "com.modular.main.WebViewCommActivity",
+        "menuActivity": "com.modular.apputils.activity.SimpleWebActivity",
         "menuUrl": "",
         "caller": "",
         "isHide": false
@@ -288,7 +288,7 @@
         "isLocalMenu": true,
         "menuName": "str_work_usoft_mall",
         "menuIcon": "ic_work_usoft_mall",
-        "menuActivity": "com.modular.main.WebViewCommActivity",
+        "menuActivity": "com.modular.apputils.activity.SimpleWebActivity",
         "menuUrl": "",
         "caller": "",
         "isHide": false

+ 5 - 7
app_core/common/src/main/java/com/core/net/http/HttpClient.java

@@ -1,11 +1,9 @@
 package com.core.net.http;
 
-import android.util.Log;
-
+import com.alibaba.fastjson.JSON;
 import com.common.LogUtil;
 import com.common.data.StringUtil;
 import com.common.hmac.HmacUtils;
-import com.common.preferences.PreferenceUtils;
 import com.core.api.wxapi.ApiConfig;
 import com.core.api.wxapi.ApiUtils;
 import com.core.app.Constants;
@@ -122,7 +120,6 @@ public class HttpClient {
 
     public String sendPostRequest(String url, Map<String, String> params)
             throws IOException {
-        Log.i("HTTP", "post url=" + url);
         String result = null;
         HttpResponse response = null;
         DefaultHttpClient httpclient = MyHttpClient.getNewHttpClient();
@@ -162,6 +159,7 @@ public class HttpClient {
             String temp = EntityUtils.toString(response.getEntity());
             if ("b2b".equals(params.get("appId"))) {
                 Header[] headers = response.getHeaders("Set-Cookie");
+                LogUtil.d("AppLogin", "B2B 登录接口响应头:"+JSON.toJSONString(headers));
                 if (headers != null && headers.length > 0) {
                     for (Header header : headers) {
                         String value = header.getValue();
@@ -188,7 +186,7 @@ public class HttpClient {
             try {
                 if (url.contains(ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().login)) {
                     String b2bCookie = response.getHeaders("Set-Cookie")[0].getValue() + ";" + response.getHeaders("Set-Cookie")[1].getValue();
-                    LogUtil.d("HttpClient", "B2B Cookie:" + b2bCookie);
+                    LogUtil.d("AppLogin", "B2B Cookie:" + b2bCookie);
                     ApiConfig.getInstance(ApiUtils.getApiModel()).getmApiBase().setCookie(b2bCookie);
                 }
             } catch (Exception e) {
@@ -198,11 +196,11 @@ public class HttpClient {
             for (int i = 0; i < cookieStore.getCookies().size(); i++) {
                 if ("218.17.158.219".equals(cookieStore.getCookies().get(i)
                         .getDomain())) {
-                    PreferenceUtils.putLong(MyApplication.getInstance(), "WebViewCommActivity_time", System.currentTimeMillis());
+//                    PreferenceUtils.putLong(MyApplication.getInstance(), "WebViewCommActivity_time", System.currentTimeMillis());
                     MyApplication.cookieERP = cookieStore.getCookies().get(i);
                 } else {
                     MyApplication.cookieERP = cookieStore.getCookies().get(i);
-                    PreferenceUtils.putLong(MyApplication.getInstance(), "WebViewCommActivity_time", System.currentTimeMillis());
+//                    PreferenceUtils.putLong(MyApplication.getInstance(), "WebViewCommActivity_time", System.currentTimeMillis());
                 }
             }
 

+ 0 - 5
app_core/common/src/main/java/com/core/net/http/HttpUtil.java

@@ -54,11 +54,6 @@ import javax.net.ssl.SSLContext;
 import static com.loopj.android.http.RequestParams.APPLICATION_JSON;
 
 
-/**
- * @author :Administrator   2015年12月16日 上午11:09:31
- * @注释:网络请求HttpClient4.3--Android
- */
-@SuppressWarnings("deprecation")
 public class HttpUtil {
 
     public static Response sendGetRequest(

+ 3 - 0
app_core/common/src/main/java/com/core/utils/CommonUtil.java

@@ -35,6 +35,7 @@ import android.widget.Toast;
 
 import com.afollestad.materialdialogs.MaterialDialog;
 import com.andreabaccega.widget.FormEditText;
+import com.common.LogUtil;
 import com.common.config.BaseConfig;
 import com.common.data.ListUtils;
 import com.common.data.StringUtil;
@@ -135,6 +136,7 @@ public class CommonUtil {
         return getSharedPreferences(ct, Constants.B2B_UID_CACHE) == null ? "" : getSharedPreferences(ct, Constants.B2B_UID_CACHE);
     }
 
+    private static final String TAG = "CommonUtil";
     /**
      * B2B身份session
      *
@@ -143,6 +145,7 @@ public class CommonUtil {
      */
     public static String getB2BSession(Context ct) {
         if (ct == null) {
+            LogUtil.d(TAG,"ct ==null");
             return "";
         }
         return getSharedPreferences(ct, Constants.B2B_SESSION_CACHE) == null ? "" : getSharedPreferences(ct, Constants.B2B_SESSION_CACHE);

+ 1 - 0
app_modular/apputils/build.gradle

@@ -26,4 +26,5 @@ dependencies {
     compile project(':network')
     compile project(':imageload')
     compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
+    compile 'com.android.support.constraint:constraint-layout:+'
 }

+ 18 - 11
app_modular/apputils/src/main/AndroidManifest.xml

@@ -1,20 +1,23 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.modular.apputils">
 
     <application
         android:allowBackup="true"
         android:label="@string/app_name"
         android:supportsRtl="true">
-        <activity android:name=".activity.SingleImagePreviewActivity"
-                  android:screenOrientation="portrait">
+        <activity
+            android:name=".activity.SingleImagePreviewActivity"
+            android:screenOrientation="portrait">
             <intent-filter>
                 <action android:name="com.modular.tool.SingleImagePreviewActivity" />
+
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
-        <activity android:name=".activity.SelectNetAcitivty"
-            android:label="搜索字段"/>
-
+        <activity
+            android:name=".activity.SelectNetAcitivty"
+            android:label="搜索字段" />
 
         <!-- alipay sdk begin -->
 
@@ -23,17 +26,21 @@
             android:configChanges="orientation|keyboardHidden|navigation|screenSize"
             android:exported="false"
             android:screenOrientation="behind"
-            android:windowSoftInputMode="adjustResize|stateHidden" >
-        </activity>
+            android:windowSoftInputMode="adjustResize|stateHidden"></activity>
         <activity
             android:name="com.alipay.sdk.app.H5AuthActivity"
             android:configChanges="orientation|keyboardHidden|navigation"
             android:exported="false"
             android:screenOrientation="behind"
-            android:windowSoftInputMode="adjustResize|stateHidden" >
-        </activity>
+            android:windowSoftInputMode="adjustResize|stateHidden"></activity>
 
         <!-- alipay sdk end -->
+        <activity android:name=".activity.SimpleWebActivity">
+            <intent-filter>
+                <action android:name="com.modular.apputils.activity.SimpleWebActivity" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
     </application>
 
-</manifest>
+</manifest>

+ 72 - 0
app_modular/apputils/src/main/java/com/modular/apputils/activity/SimpleWebActivity.java

@@ -0,0 +1,72 @@
+package com.modular.apputils.activity;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.webkit.CookieManager;
+import android.webkit.CookieSyncManager;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+import com.common.LogUtil;
+import com.core.base.BaseActivity;
+import com.modular.apputils.R;
+
+public class SimpleWebActivity extends BaseActivity {
+private static final String TAG = "SimpleWebActivity";
+    WebView webView;
+    String cookies;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_simple_web);
+
+        webView= findViewById(R.id.mSimpleWebView);
+        webView.getSettings().setJavaScriptEnabled(true);
+        webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
+        webView.getSettings().setAllowFileAccess(true);
+        webView.getSettings().setDomStorageEnabled(true);
+        webView.getSettings().setDatabaseEnabled(true);
+        webView.getSettings().setAppCacheEnabled(true);
+
+        
+        Intent intent = getIntent();
+        String  url = intent.getStringExtra("url");
+        getSupportActionBar().setTitle(intent.getStringExtra("p"));
+        LogUtil.d(TAG,"url:"+url+" title:"+intent.getStringExtra("p"));
+        
+        webView.setWebViewClient(new WebViewClient(){
+            public boolean shouldOverrideUrlLoading(WebView view, String url) {
+                //synCookies(mContext,url,cookies);
+                LogUtil.d(TAG,"转发url:"+url);
+                webView.loadUrl(url);
+                return true;
+            }
+
+            public void onPageFinished(WebView view, String url) {
+                CookieManager cm = CookieManager.getInstance();
+                cookies = cm.getCookie(url);
+                synCookies(mContext,url,cookies);
+                super.onPageFinished(view, url);
+            }
+        });
+        //synCookies(this,url,cookies);
+        webView.loadUrl(url);
+    }
+
+
+
+    public static void synCookies(Context context, String url,String cookies) {
+        CookieSyncManager.createInstance(context);
+        CookieManager cookieManager = CookieManager.getInstance();
+        cookieManager.setAcceptCookie(true);
+        cookieManager.removeSessionCookie();//移除  
+        LogUtil.d(TAG, cookies);
+        cookieManager.setCookie(url, cookies);
+        CookieSyncManager.getInstance().sync();
+    }
+    
+    
+}

+ 13 - 0
app_modular/apputils/src/main/res/layout/activity_simple_web.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="com.modular.apputils.activity.SimpleWebActivity">
+    <WebView
+        android:id="@+id/mSimpleWebView"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/linen" />
+</LinearLayout>