Browse Source

提交分类: 功能开发,修复BUG;
提交内容: 1、微信支付集成;
2、解决朋友圈闪退
当前版本: 测试版本6.1.1
是否冲突: 否

raomeng 8 years ago
parent
commit
2cb2486ad2

+ 23 - 23
WeiChat/build.gradle

@@ -120,29 +120,29 @@ android {
         flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
     }
 
-    applicationVariants.all { variant ->
-        variant.outputs.each { output ->
-            def outputFile = output.outputFile
-            def fileName
-            if (outputFile != null && outputFile.name.endsWith('.apk')) {
-                if (variant.buildType.name.equals('release')) {
-                    //赋值app属性版本名
-                    //variant.mergedFlavor.versionName = getVersionName() + "_" + variant.productFlavors[0].name+"(Build"+currentVersionCode+")"
-                    //variant.mergedFlavor.versionName ="v"+versionArray[0].toString().substring(0,1)+"."+ versionArray[0].toString().substring(1,2)+"."+  versionArray[0].toString().substring(2,3)
-                    def releaseInfo= "v"+versionArray[0].toString().substring(0,1)+"."+ versionArray[0].toString().substring(1,2)+"."+  versionArray[0].toString().substring(2,3)+ "_" + variant.productFlavors[0].name+"(Build"+versionArray[1]+")"
-                    fileName = "WeiChat_${releaseInfo}_release.apk"
-
-                } else if (variant.buildType.name.equals('debug')) {
-                    //赋值app属性版本名
-                    variant.mergedFlavor.versionName = getVersionName() + "_" + releaseTime() + "_" + variant.productFlavors[0].name+"(Build"+versionArray[3]+")"+"_debug"
-                    def debugInfo= getVersionName() + "_" + releaseTime() + "_" + variant.productFlavors[0].name+"(Build"+versionArray[3]+")"
-                    fileName = "WeiChat_${debugInfo}_debug.apk"
-
-                }
-                output.outputFile = new File(outputFile.parent, fileName)
-            }
-        }
-    }
+//    applicationVariants.all { variant ->
+//        variant.outputs.each { output ->
+//            def outputFile = output.outputFile
+//            def fileName
+//            if (outputFile != null && outputFile.name.endsWith('.apk')) {
+//                if (variant.buildType.name.equals('release')) {
+//                    //赋值app属性版本名
+//                    //variant.mergedFlavor.versionName = getVersionName() + "_" + variant.productFlavors[0].name+"(Build"+currentVersionCode+")"
+//                    //variant.mergedFlavor.versionName ="v"+versionArray[0].toString().substring(0,1)+"."+ versionArray[0].toString().substring(1,2)+"."+  versionArray[0].toString().substring(2,3)
+//                    def releaseInfo= "v"+versionArray[0].toString().substring(0,1)+"."+ versionArray[0].toString().substring(1,2)+"."+  versionArray[0].toString().substring(2,3)+ "_" + variant.productFlavors[0].name+"(Build"+versionArray[1]+")"
+//                    fileName = "WeiChat_${releaseInfo}_release.apk"
+//
+//                } else if (variant.buildType.name.equals('debug')) {
+//                    //赋值app属性版本名
+//                    variant.mergedFlavor.versionName = getVersionName() + "_" + releaseTime() + "_" + variant.productFlavors[0].name+"(Build"+versionArray[3]+")"+"_debug"
+//                    def debugInfo= getVersionName() + "_" + releaseTime() + "_" + variant.productFlavors[0].name+"(Build"+versionArray[3]+")"
+//                    fileName = "WeiChat_${debugInfo}_debug.apk"
+//
+//                }
+//                output.outputFile = new File(outputFile.parent, fileName)
+//            }
+//        }
+//    }
 }
 
 dependencies {

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

@@ -1048,13 +1048,25 @@
         <activity
             android:name="com.xzjmyk.pm.activity.wxapi.WXEntryActivity"
             android:exported="true"
-            android:launchMode="singleTop"
-            />
+            android:launchMode="singleTop">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="wxd1deafafe3fd9a21" />
+            </intent-filter>
+        </activity>
         <activity
             android:name="com.xzjmyk.pm.activity.wxapi.WXPayEntryActivity"
             android:exported="true"
             android:launchMode="singleTop"
-            />
+            android:theme="@android:style/Theme.Translucent.NoTitleBar">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="wxd1deafafe3fd9a21" />
+            </intent-filter>
+        </activity>
+
     </application>
 
 </manifest>

+ 0 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/BusinessCircleActivity.java

@@ -204,7 +204,6 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView {
             }
         });
 
-
         sendqzonetext_tv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {

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

@@ -201,8 +201,10 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         webView.getRefreshableView().getSettings().setDomStorageEnabled(true);
         webView.getRefreshableView().getSettings().setDatabaseEnabled(true);
         webView.getRefreshableView().getSettings().setAppCacheEnabled(true);
-        // 修改ua使得web端正确判断
+        webView.getRefreshableView().getSettings().setSavePassword(true);
+        webView.getRefreshableView().getSettings().setSaveFormData(true);
 
+        // 修改ua使得web端正确判断
         webView.getRefreshableView().addJavascriptInterface(new JSWebView(), "JSWebView"); //在JSWebView类里实现javascript想调用的方法,并将其实例化传入webview, "JSWebView"这个字串告诉javascript调用哪个实例的方法
 
         String ua = webView.getRefreshableView().getSettings().getUserAgentString();
@@ -449,7 +451,8 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
         Cookie sessionCookie = MyApplication.cookieERP;
         String cookieStr = sessionCookie.getName() + "="
                 + sessionCookie.getValue() + "; domain="
-                + sessionCookie.getDomain();
+                + sessionCookie.getDomain() + "; path="
+                + sessionCookie.getPath();
         cookieManager.setCookie(url, cookieStr);//cookies是在HttpClient中获得的cookie
         CookieSyncManager.getInstance().sync();
     }

+ 19 - 15
WeiChat/src/main/java/com/xzjmyk/pm/activity/wxapi/WXPayEntryActivity.java

@@ -8,11 +8,11 @@ import android.widget.Toast;
 
 import com.core.app.Constants;
 import com.tencent.mm.opensdk.constants.ConstantsAPI;
-import com.tencent.mm.sdk.modelbase.BaseReq;
-import com.tencent.mm.sdk.modelbase.BaseResp;
-import com.tencent.mm.sdk.openapi.IWXAPI;
-import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
-import com.tencent.mm.sdk.openapi.WXAPIFactory;
+import com.tencent.mm.opensdk.modelbase.BaseReq;
+import com.tencent.mm.opensdk.modelbase.BaseResp;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.xzjmyk.pm.activity.R;
 
 public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
@@ -22,7 +22,10 @@ public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        api = WXAPIFactory.createWXAPI(this, Constants.WXPAY_APPID);
+        Log.d("WXPayEntryOnResp", "onCreate");
+
+        api = WXAPIFactory.createWXAPI(this, Constants.WXPAY_APPID, false);
+//        api.registerApp(Constants.WXPAY_APPID);
         api.handleIntent(getIntent(), this);
     }
 
@@ -30,31 +33,32 @@ public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
     protected void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
         setIntent(intent);
+        api = WXAPIFactory.createWXAPI(this, Constants.WXPAY_APPID, false);
         api.handleIntent(intent, this);
     }
 
     @Override
-    public void onReq(BaseReq req) {
+    public void onReq(BaseReq baseReq) {
 
     }
 
     @Override
-    public void onResp(BaseResp resp) {
-        Log.d("WXPayEntryOnResp", "onPayFinish, errCode = " + resp.errCode);
+    public void onResp(BaseResp baseResp) {
+        Log.d("WXPayEntryOnResp", "onPayFinish, errCode = " + baseResp.errCode);
         /**
-         * 0 支付成功
+         *  0 支付成功
          * -1 支付错误
          * -2 用户取消
          */
-        if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
-            if (resp.errCode == 0) {
+        if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
+            if (baseResp.errCode == BaseResp.ErrCode.ERR_OK) {
                 Toast.makeText(this, R.string.str_error_wechat_pay_success, Toast.LENGTH_LONG).show();
-            } else if (resp.errCode == -1) {
+            } else if (baseResp.errCode == BaseResp.ErrCode.ERR_COMM) {
                 Toast.makeText(this, R.string.str_error_wechat_pay_fail, Toast.LENGTH_LONG).show();
-            } else if (resp.errCode == -2) {
+            } else if (baseResp.errCode == BaseResp.ErrCode.ERR_USER_CANCEL) {
                 Toast.makeText(this, R.string.str_error_wechat_pay_cancel, Toast.LENGTH_LONG).show();
             }
         }
-//        finish();
+        finish();
     }
 }

+ 5 - 5
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Wed Dec 27 17:04:36 CST 2017
-debugName=294
-versionName=613
-debugCode=294
-versionCode=152
+#Fri Dec 29 16:05:43 CST 2017
+debugName=346
+versionName=624
+debugCode=346
+versionCode=163

+ 0 - 8
app_core/common/src/main/assets/work_menu.json

@@ -25,14 +25,6 @@
         "isHide": false
       },
       {
-        "isLocalMenu": true,
-        "menuName": "商旅服务",
-        "menuIcon": "",
-        "menuActivity": "com.modular.work.BusinessTravelActivity",
-        "menuUrl": "",
-        "caller": "",
-        "isHide": false
-      } , {
         "isLocalMenu": true,
         "menuName": "str_work_charitable_donations",
         "menuIcon": "ic_work_charitable_donations",

+ 9 - 7
app_core/common/src/main/java/com/core/app/MyApplication.java

@@ -43,7 +43,6 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
 import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
-import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
 import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 import com.umeng.analytics.MobclickAgent;
@@ -329,16 +328,19 @@ public class MyApplication extends BaseApplication {
 
         mNormalImageOptions = new DisplayImageOptions.Builder()
                 .bitmapConfig(Bitmap.Config.RGB_565)
-                .cacheInMemory(true).cacheOnDisc(true)
-                .displayer(new RoundedBitmapDisplayer(10))
+                .cacheInMemory(true)
+                .cacheOnDisc(true)
+//                .displayer(new RoundedBitmapDisplayer(10))
                 .resetViewBeforeLoading(false)
                 .showImageForEmptyUri(R.drawable.image_download_fail_icon)
                 .showImageOnFail(R.drawable.image_download_fail_icon)
                 .build();
 
-        mAvatarRoundImageOptions = new DisplayImageOptions.Builder().bitmapConfig(Bitmap.Config.RGB_565).
-                cacheInMemory(true).cacheOnDisc(true)
-                .displayer(new RoundedBitmapDisplayer(10))
+        mAvatarRoundImageOptions = new DisplayImageOptions.Builder()
+                .bitmapConfig(Bitmap.Config.RGB_565).
+                cacheInMemory(true)
+                .cacheOnDisc(true)
+//                .displayer(new RoundedBitmapDisplayer(10))
                 .resetViewBeforeLoading(true)
                 .showImageForEmptyUri(R.drawable.avatar_normal)
                 .showImageOnFail(R.drawable.avatar_normal)
@@ -391,7 +393,7 @@ public class MyApplication extends BaseApplication {
     }
 
     public void initWxPay(Context context) {
-        IWXAPI wxApi = WXAPIFactory.createWXAPI(context, Constants.WXPAY_APPID);
+        IWXAPI wxApi = WXAPIFactory.createWXAPI(context, Constants.WXPAY_APPID, false);
         wxApi.registerApp(Constants.WXPAY_APPID);
     }
 

+ 1 - 1
app_core/common/src/main/res/layout/seach_include.xml

@@ -32,5 +32,5 @@
         android:paddingRight="26dp"
         android:textColor="@color/dark_grey"
         android:textColorHint="@color/grey"
-        android:textSize="15sp" />
+        android:textSize="15sp"/>
 </merge>

+ 0 - 1
app_modular/applogin/src/main/res/layout/activity_enterprise_register.xml

@@ -94,7 +94,6 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_business_license"
                     android:hint="营业执照号(例如:1234567890)"
-                    android:inputType="number"
                     android:textColor="@color/black" />
 
                 <TextView

+ 1 - 1
app_modular/appme/src/main/res/layout/wages_details_activity.xml

@@ -122,7 +122,7 @@
                     android:layout_height="wrap_content"
                     android:background="@drawable/errorbg"
                     android:padding="10dp"
-                    android:textColor="#00000"/>
+                    android:textColor="#000000"/>
             </LinearLayout>
 
             <LinearLayout

+ 4 - 2
app_modular/apputils/src/main/java/com/modular/apputils/utils/playsdk/WxPlay.java

@@ -5,6 +5,7 @@ import android.content.Context;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.common.LogUtil;
 import com.common.data.JSONUtil;
 import com.core.app.Constants;
 import com.modular.apputils.listener.OnPlayListener;
@@ -37,18 +38,19 @@ public class WxPlay {
 
     public void wxPay(Context context, String orderInfo, OnPlayListener onPlayListener) {
         wxApi = WXAPIFactory.createWXAPI(context, Constants.WXPAY_APPID);
+//        orderInfo = orderInfo.replaceAll("\\\\", "");
+        LogUtil.d("wxpayorderinfo", orderInfo);
         if (JSONUtil.validate(orderInfo)) {
             JSONObject orderObject = JSON.parseObject(orderInfo);
 
             PayReq request = new PayReq();
-            request.appId = JSONUtil.getText(orderObject, "appid");
+            request.appId = Constants.WXPAY_APPID;
             request.partnerId = JSONUtil.getText(orderObject, "partnerid");
             request.prepayId = JSONUtil.getText(orderObject, "prepayid");
             request.packageValue = JSONUtil.getText(orderObject, "package");
             request.nonceStr = JSONUtil.getText(orderObject, "noncestr");
             request.timeStamp = JSONUtil.getText(orderObject, "timestamp");
             request.sign = JSONUtil.getText(orderObject, "sign");
-            request.extData = "app data";
 
             wxApi.sendReq(request);
         } else {

+ 18 - 9
app_modular/appworks/src/main/AndroidManifest.xml

@@ -228,7 +228,6 @@
             android:configChanges="keyboardHidden|orientation"
             android:hardwareAccelerated="false"
             android:label="@string/charitable"
-            android:launchMode="singleTask"
             android:screenOrientation="portrait"
             android:windowSoftInputMode="stateUnspecified|adjustNothing">
             <intent-filter>
@@ -335,21 +334,31 @@
         <activity
             android:name=".CRM.erp.activity.DeviceCycleCountActivity"
             android:label="@string/title_device_manage"
-            android:windowSoftInputMode="adjustPan"/>        <activity
+            android:windowSoftInputMode="adjustPan" />
+        <activity
             android:name=".CRM.erp.activity.DeviceCycleCountInfoActivity"
-            android:label="@string/text_cycle_count" />  <activity
+            android:label="@string/text_cycle_count" />
+        <activity
             android:name=".CRM.erp.activity.DeviceDataFormAddActivity"
-            android:label="@string/title_device_manage" />  <activity
+            android:label="@string/title_device_manage" />
+        <activity
             android:name=".CRM.erp.activity.DeviceCycleCountDetailsActivity"
-            android:label="@string/title_device_manage" /> <activity
+            android:label="@string/title_device_manage" />
+        <activity
             android:name=".CRM.erp.activity.DeviceCycleCountAddActivity"
             android:label="@string/text_cycle_count_add"
-        />
-        <activity android:name=".OA.platform.activity.BusinessTravelActivity"/>
+            />
+        <activity android:name=".OA.platform.activity.BusinessTravelActivity">
+            <intent-filter>
+                <action android:name="com.modular.work.BusinessTravelActivity" />
 
-        <activity android:name=".activity.DeviceQueryActivity"
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+        <activity
+            android:name=".activity.DeviceQueryActivity"
             android:launchMode="singleTask"
-                  android:windowSoftInputMode="adjustPan">
+            android:windowSoftInputMode="adjustPan">
             <intent-filter>
                 <action android:name="com.modular.work.DeviceQueryActivity" />
 

+ 35 - 25
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/activity/BusinessTravelActivity.java

@@ -3,6 +3,7 @@ package com.uas.appworks.OA.platform.activity;
 import android.os.Bundle;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.util.Log;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -15,6 +16,7 @@ import com.core.utils.CommonUtil;
 import com.core.utils.ToastUtil;
 import com.me.network.app.http.HttpClient;
 import com.me.network.app.http.Method;
+import com.me.network.app.http.rx.Result2Listener;
 import com.me.network.app.http.rx.ResultListener;
 import com.me.network.app.http.rx.ResultSubscriber;
 import com.modular.apputils.widget.SpaceItemDecoration;
@@ -66,31 +68,39 @@ public class BusinessTravelActivity extends BaseActivity {
 
 
     public void loadData(int page) {
-            if (!mRefreshLayout.isRefreshing()) {
-                progressDialog.show();
-            }
-            httpClient.Api().send(new HttpClient.Builder()
-                    .url("mobile/getBussinessTrip.action")
-                    .add("emcode", CommonUtil.getEmcode())
-                    .header("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(BaseConfig.getContext(), "sessionId"))
-                    .method(Method.GET)
-                    .build(), new ResultSubscriber<>(new ResultListener<Object>() {
-                @Override
-                public void onResponse(Object o) {
-                    try {
-                        if (o != null) {
-                            handlerData(o.toString());
-                        }
-                    } catch (Exception e) {
-                        if (e != null) {
-                            LogUtil.i("e=" + e.getMessage());
-                            ToastUtil.showToast(ct, e.getMessage());
-                        }
+        if (!mRefreshLayout.isRefreshing()) {
+            progressDialog.show();
+        }
+        httpClient.Api().send(new HttpClient.Builder()
+                .url("mobile/getBussinessTrip.action")
+                .add("emcode", CommonUtil.getEmcode())
+                .header("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(BaseConfig.getContext(), "sessionId"))
+                .method(Method.POST)
+                .build(), new ResultSubscriber<>(new Result2Listener<Object>() {
+            @Override
+            public void onResponse(Object o) {
+                try {
+                    if (o != null) {
+                        LogUtil.d("businesstravelresult", o.toString());
+                        handlerData(o.toString());
+                    }
+                } catch (Exception e) {
+                    if (e != null) {
+                        LogUtil.i("e=" + e.getMessage());
+                        ToastUtil.showToast(ct, e.getMessage());
                     }
-                    mRefreshLayout.stopRefresh();
-                    progressDialog.dismiss();
                 }
-            }));
+                mRefreshLayout.stopRefresh();
+                progressDialog.dismiss();
+            }
+
+            @Override
+            public void onFailure(Object t) {
+                mRefreshLayout.stopRefresh();
+                progressDialog.dismiss();
+                LogUtil.d("businesstravelerror", t.toString());
+            }
+        }));
     }
 
     private void handlerData(String message) throws Exception {
@@ -113,8 +123,8 @@ public class BusinessTravelActivity extends BaseActivity {
     }
 
     private void setAdapter(List<BusinessTravel> models) {
-        if (BaseConfig.isDebug()){
-            if (ListUtils.isEmpty(models)){
+        if (BaseConfig.isDebug()) {
+            if (ListUtils.isEmpty(models)) {
 
             }
         }