Fenix Wang 7 anni fa
parent
commit
3b4c76273a

+ 5 - 0
app/AndroidManifest.xml

@@ -625,6 +625,11 @@
         <activity
             android:name=".main.activity.CircleMessageActivity"
             android:label="@string/title_activity_circle_message"
+            android:theme="@style/AppTheme.NoActionBar" />
+        <activity
+            android:name=".wxapi.WXPayEntryActivity"
+            android:label="@string/title_activity_wxpay_entry"
+            android:exported="true"
             android:theme="@style/AppTheme.NoActionBar"></activity>
     </application>
 

+ 9 - 0
app/app.iml

@@ -87,6 +87,7 @@
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/multi-dex" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard-rules" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
@@ -139,6 +140,7 @@
     <orderEntry type="library" exported="" name="mi_push_sdk_3.2.2" level="project" />
     <orderEntry type="library" exported="" name="Android_2DMap_V2.4.0" level="project" />
     <orderEntry type="library" exported="" name="recyclerview-v7-25.3.1" level="project" />
+    <orderEntry type="library" exported="" name="wechat-sdk-android-with-mta-1.4.0" level="project" />
     <orderEntry type="library" exported="" name="support-annotations-25.3.1" level="project" />
     <orderEntry type="library" exported="" name="nim-rts-4.0.0" level="project" />
     <orderEntry type="library" exported="" name="appcompat-v7-25.3.1" level="project" />
@@ -146,5 +148,12 @@
     <orderEntry type="library" exported="" name="support-compat-25.3.1" level="project" />
     <orderEntry type="library" exported="" name="animated-vector-drawable-25.3.1" level="project" />
     <orderEntry type="module" module-name="uikit" exported="" />
+    <orderEntry type="library" exported="" name="java-json" level="project" />
+    <orderEntry type="library" exported="" name="renderscript-v8" level="project" />
+    <orderEntry type="library" exported="" name="glide-3.7.0" level="project" />
+    <orderEntry type="library" exported="" name="nim-avchat-4.0.0" level="project" />
+    <orderEntry type="library" exported="" name="nim-basesdk-4.0.0" level="project" />
+    <orderEntry type="library" exported="" name="fastjson-1.1.34.android" level="project" />
+    <orderEntry type="library" exported="" name="nim-lucene-4.0.0" level="project" />
   </component>
 </module>

+ 1 - 0
app/build.gradle

@@ -135,4 +135,5 @@ dependencies {
     compile 'com.tencent.bugly:crashreport:latest.release'
     compile 'com.tencent.bugly:nativecrashreport:latest.release'
     compile 'com.contrarywind:Android-PickerView:3.2.5'
+    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
 }

+ 3 - 0
app/proguard.cfg

@@ -184,3 +184,6 @@
 
 -dontwarn okio.**
 -dontwarn javax.annotation.**
+
+### WX SDK
+-keep class com.tencent.mm.sdk.** {*;}

BIN
app/res/drawable-hdpi/logo.png


BIN
app/res/drawable-xhdpi/logo.png


BIN
app/res/drawable-xxhdpi/logo.png


BIN
app/res/drawable-xxxhdpi/logo.png


+ 20 - 0
app/res/layout/activity_wxpay_entry.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.design.widget.CoordinatorLayout 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.shuishuo.app.wxapi.WXPayEntryActivity">
+
+    <android.support.design.widget.AppBarLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <com.shuishuo.app.common.views.BaseToolbar
+            android:id="@+id/toolbar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="@style/fullToolbarStyle"/>
+    </android.support.design.widget.AppBarLayout>
+
+</android.support.design.widget.CoordinatorLayout>

+ 11 - 0
app/res/layout/content_wxpay_entry.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout 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"
+    app:layout_behavior="@string/appbar_scrolling_view_behavior"
+    tools:context="com.shuishuo.app.wxapi.WXPayEntryActivity"
+    tools:showIn="@layout/activity_wxpay_entry">
+
+</android.support.constraint.ConstraintLayout>

File diff suppressed because it is too large
+ 0 - 0
app/res/values/strings.xml


+ 1 - 1
app/src/com/shuishuo/app/cache/AccountCache.java

@@ -17,7 +17,7 @@ public class AccountCache{
     public static int lastPulishedTradeId;
 
     public static void setCache(LoginBean.DBean account){
-        AccountCache.account =account;
+        AccountCache.account = account;
     }
 
     public static String getId()

+ 3 - 0
app/src/com/shuishuo/app/common/util/net/INet.java

@@ -2,6 +2,7 @@ package com.shuishuo.app.common.util.net;
 
 import android.support.annotation.Nullable;
 
+import com.netease.nimlib.sdk.ResponseCode;
 import com.shuishuo.app.common.beans.SocialInfoBean;
 
 import java.util.List;
@@ -51,7 +52,9 @@ public interface INet {
     void getHobbyList(ResponseCallback callback);
     void sendInviteMsg(String phoneNum);
     void submitComplaint(String targetId,String type,String reason);
+
     void alipay(String money,ResponseCallback callback);
+    void wxpay(String money, ResponseCallback callback);
 
     //chat
     void teamSync(String teamId, String teamName, ResponseCallback callback);

+ 57 - 2
app/src/com/shuishuo/app/common/util/net/NetImpl.java

@@ -236,6 +236,21 @@ public class NetImpl implements INet {
                     Response response = client.newCall(request).execute();
                     if (200 == response.code()){
                         String resultStr = response.body().string();
+                        try {
+                            JSONObject jsonObject = new JSONObject(resultStr);
+
+                            String provinceRoomId = jsonObject.getJSONObject("d").getString("province");
+                            String cityRoomId = jsonObject.getJSONObject("d").getString("city");
+                            String districtRoomId = jsonObject.getJSONObject("d").getString("district");
+
+                            AccountCache.getAccount().setProvince_room_id(provinceRoomId);
+                            AccountCache.getAccount().setCity_room_id(cityRoomId);
+                            AccountCache.getAccount().setDistrict_room_id(districtRoomId);
+
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+
                         callback.onSuccess(resultStr);
                     }else{
                         callback.onFailed(null);
@@ -1469,6 +1484,9 @@ public class NetImpl implements INet {
         String effect = bean.getEffect();
         String hobby = bean.getHobby();
         String address = bean.getAddress();
+        String province = bean.getProvince();
+        String city = bean.getCity();
+        String district = bean.getDistrict();
 
         FormBody.Builder builder = new FormBody.Builder();
         if(add_verify != null) builder.add("add_verify",add_verify);
@@ -1476,8 +1494,10 @@ public class NetImpl implements INet {
         builder.add("user_id",user_id);
         builder.add("age",age);
         builder.add("show_age",show_age);
-        builder.add("real_name",real_name);
-        builder.add("id_number",id_number);
+        if(!TextUtils.isEmpty(real_name))
+            builder.add("real_name",real_name);
+        if(!TextUtils.isEmpty(id_number))
+            builder.add("id_number",id_number);
         //builder.add("add_verify",add_verify);
         builder.add("find_mobile",find_mobile);
         builder.add("find_id",find_id);
@@ -1486,6 +1506,9 @@ public class NetImpl implements INet {
         builder.add("effect",effect);
         builder.add("hobby",hobby);
         builder.add("address",address);
+        builder.add("province",province);
+        builder.add("city", city);
+        builder.add("district", district);
         builder.build();
 
         FormBody body = builder.build();
@@ -1657,6 +1680,38 @@ public class NetImpl implements INet {
     }
 
     @Override
+    public void wxpay(final String money, final ResponseCallback callback) {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try{
+                    FormBody body = new FormBody.Builder()
+                            .add("user_id",AccountCache.getAccount().getId())
+                            .add("money", money)
+                            .build();
+
+                    Request request = new Request.Builder()
+                            .post(body)
+                            .url(WXPAY_URL)
+                            .build();
+
+                    Response response = client.newCall(request).execute();
+                    if (200 == response.code()){
+                        String resultStr = response.body().string();
+                        callback.onSuccess(resultStr);
+                    }else {
+                        callback.onFailed(null);
+                    }
+
+                }catch (Exception e){
+                    e.printStackTrace();
+                    callback.onFailed(null);
+                }
+            }
+        }).start();
+    }
+
+    @Override
     public void teamSync(final String teamId, final String teamName, final ResponseCallback callback) {
         new Thread(new Runnable() {
             @Override

+ 3 - 0
app/src/com/shuishuo/app/common/util/net/NetInfo.java

@@ -55,7 +55,10 @@ public class NetInfo {
     public final static String GET_HOBBY = INDEX + "?m=who&c=index&a=hobby_list";
     public final static String SEND_INVITE_MSG = INDEX + "?m=who&c=index&a=send_msg";
     public final static String SUBMIT_COMPLAINT = INDEX + "?m=who&c=index&a=complain";
+
+
     public final static String ALIPAY_URL = INDEX + "?m=who&c=index&a=alipay_order";
+    public final static String WXPAY_URL = INDEX + "?m=who&c=index&a=wx_order";
 
     //account
     public final static String LOGIN_URL = INDEX + "?m=who&c=index&a=login";

+ 12 - 5
app/src/com/shuishuo/app/core_module/mine/view/ui/activity/PersonalSettingsActivity.java

@@ -200,7 +200,6 @@ public class PersonalSettingsActivity extends SheishuoUI {
         nicknameTV.setText(getName(AccountCache.getAccount().getId()));
 
 
-
         switch (userInfo.getGenderEnum().getValue()) {
             case 0:
                 genderTV.setText("保密");
@@ -213,8 +212,14 @@ public class PersonalSettingsActivity extends SheishuoUI {
                 break;
         }
 
+        if(TextUtils.isEmpty(bean.getProvince()))
+            bean.setProvince(AccountCache.getAccount().getProvince());
+        if(TextUtils.isEmpty(bean.getCity()))
+            bean.setCity(AccountCache.getAccount().getCity());
+        if(TextUtils.isEmpty(bean.getDistrict()))
+            bean.setDistrict(AccountCache.getAccount().getDistrict());
 
-        locationTV.setText(bean.getCity() + " " + bean.getDistrict());
+        locationTV.setText(bean.getDistrict());
 
         if (bean.getShow_age().equals("1")) {
             ageIsPublicSwitch.setChecked(true);
@@ -333,7 +338,8 @@ public class PersonalSettingsActivity extends SheishuoUI {
 
                         locationTV.setText(area);
 
-                        net.updateLocation(bean.getProvince(), bean.getCity(), bean.getDistrict(), callback);
+                        net.updateSocialInfo(bean, callback);
+                        //net.updateLocation(bean.getProvince(), bean.getCity(), bean.getDistrict(), callback);
                     }
                 });
             }
@@ -480,9 +486,10 @@ public class PersonalSettingsActivity extends SheishuoUI {
             bean.setCity(data.getStringExtra(LOCATION_CITY));
             bean.setDistrict(data.getStringExtra(LOCATION_AREA));
 
-            locationTV.setText(data.getStringExtra(LOCATION_CITY) + " " + data.getStringExtra(LOCATION_AREA));
+            locationTV.setText(data.getStringExtra(LOCATION_AREA));
 
-            net.updateLocation(bean.getProvince(), bean.getCity(), bean.getDistrict(), callback);
+            net.updateSocialInfo(bean, callback);
+            //net.updateLocation(bean.getProvince(), bean.getCity(), bean.getDistrict(), callback);
 
         } else if (HobbySelectActivity.HOBBY_RESULT_CODE == resultCode) {
             String hobby = data.getStringExtra(HobbySelectActivity.RESULT_HOBBY);

+ 89 - 2
app/src/com/shuishuo/app/core_module/trade/view/ui/activity/PayMethodActivity.java

@@ -1,11 +1,14 @@
 package com.shuishuo.app.core_module.trade.view.ui.activity;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.google.gson.Gson;
 import com.shuishuo.app.R;
 import com.shuishuo.app.cache.AccountCache;
 import com.shuishuo.app.common.util.net.INet;
@@ -15,6 +18,17 @@ import com.shuishuo.app.common.util.pay.PayUtil;
 import com.shuishuo.app.common.util.pay.PaymentListener;
 import com.shuishuo.app.common.views.BaseToolbar;
 import com.shuishuo.app.impl.SheishuoUI;
+import com.shuishuo.app.main.model.Extras;
+import com.shuishuo.app.wxapi.WXPayEntryActivity;
+import com.tencent.mm.opensdk.constants.ConstantsAPI;
+import com.tencent.mm.opensdk.modelbase.BaseReq;
+import com.tencent.mm.opensdk.modelbase.BaseResp;
+import com.tencent.mm.opensdk.modelpay.PayReq;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
+
+import org.json.JSONObject;
 
 /**
  * Created by KN on 2017/8/31.
@@ -23,7 +37,9 @@ import com.shuishuo.app.impl.SheishuoUI;
 public class PayMethodActivity extends SheishuoUI implements PaymentListener{
 
     public final static String MONEY = "money";
+    public static boolean wxPaySuccess = false;
 
+    private IWXAPI msgApi;
 
     private String TAG = this.getClass().getSimpleName();
     private Context context = this;
@@ -54,6 +70,8 @@ public class PayMethodActivity extends SheishuoUI implements PaymentListener{
 
     void init(){
 
+        wxPaySuccess = false;
+
         BaseToolbar toolbar = findView(R.id.toolbar);
         toolbar.setTitle("谁说收银台");
         toolbar.setBackOnClickListener(new View.OnClickListener() {
@@ -65,7 +83,9 @@ public class PayMethodActivity extends SheishuoUI implements PaymentListener{
 
         moneyTxt.setText(""+money+"元");
 
-        pay.init(context,PayMethodActivity.this);
+        msgApi = WXAPIFactory.createWXAPI(this, WXPayEntryActivity.APPID);
+
+        pay.init(context, PayMethodActivity.this);
 
         alipayImg.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -87,10 +107,77 @@ public class PayMethodActivity extends SheishuoUI implements PaymentListener{
         wechatImg.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                showToast(context,"功能暂未开放");
+
+                net.wxpay(String.valueOf(money), new ResponseCallback() {
+                    @Override
+                    public void onSuccess(final Object object) {
+                        getHandler().post(new Runnable() {
+                            @Override
+                            public void run() {
+                                payWX((String) object);
+                            }
+                        });
+                    }
+
+                    @Override
+                    public void onFailed(String error) {
+                        showToast(context,"创建订单失败");
+                    }
+                });
             }
         });
+    }
 
+    private void payWX(String response)
+    {
+        try
+        {
+            Log.d("paywx", response);
+            JSONObject res = new JSONObject(response);
+            int code = res.getInt("c");
+            if(code == 0)
+            {
+                JSONObject data = res.getJSONObject("d");
+
+                PayReq request = new PayReq();
+                request.appId = data.getString("appid");
+                request.partnerId = data.getString("partnerid");
+                request.prepayId= data.getString("prepayid");
+                request.packageValue = data.getString("package");
+                request.nonceStr= data.getString("noncestr");
+                request.timeStamp= data.getString("timestamp");
+                request.sign= data.getString("sign");
+                msgApi.sendReq(request);
+            }
+            else
+            {
+                showToast(context,"创建订单失败.");
+            }
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            showToast(context,"创建订单失败..");
+        }
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if(wxPaySuccess)
+        {
+            double originMoney = Double.parseDouble(AccountCache.getAccount().getCoin());
+            String nowMoney = String.valueOf(originMoney + money);
+            AccountCache.getAccount().setCoin(nowMoney);
+            Log.e("WXResult", nowMoney+" "+AccountCache.getAccount().getCoin());
+
+            getHandler().postDelayed(new Runnable() {
+                @Override
+                public void run() {
+                    finish();
+                }
+            }, 1500);
+        }
     }
 
     @Override

+ 5 - 0
app/src/com/shuishuo/app/core_module/trade/view/ui/activity/TradePublishActivity.java

@@ -280,6 +280,11 @@ public class TradePublishActivity extends SheishuoUI {
         priorityTipTV.setText(tip);
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        balanceTV.setText(AccountCache.getAccount().getCoinStr());
+    }
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {

+ 1 - 0
app/src/com/shuishuo/app/impl/SheishuoUI.java

@@ -12,6 +12,7 @@ import android.widget.FrameLayout;
 import android.widget.Toast;
 
 import com.netease.nim.uikit.common.activity.UI;
+import com.netease.nim.uikit.common.ui.dialog.EasyAlertDialogHelper;
 import com.netease.nimlib.sdk.NIMClient;
 import com.netease.nimlib.sdk.uinfo.UserService;
 import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;

+ 19 - 22
app/src/com/shuishuo/app/main/fragment/AreaGroupsFragment.java

@@ -150,6 +150,7 @@ public class AreaGroupsFragment extends MainTabFragment implements NimLocationMa
                 showLocationSelect();
             }
         });
+
         setLocationTxt(location);
         toolbar.setLeftItems(new View[]{leftIcon, toolbarLeftTxt});
 
@@ -174,6 +175,10 @@ public class AreaGroupsFragment extends MainTabFragment implements NimLocationMa
         {
             updateLocation();
         }
+        else
+        {
+            loadGroups();
+        }
     }
 
 
@@ -455,6 +460,14 @@ public class AreaGroupsFragment extends MainTabFragment implements NimLocationMa
     }
 
     public void updateAccountLocation(final String province, final String city, final String district) {
+
+        getHandler().post(new Runnable() {
+            @Override
+            public void run() {
+                loadGroups();
+            }
+        });
+
         //更新Cache
         AccountCache.getAccount().setProvince(province);
         AccountCache.getAccount().setCity(city);
@@ -464,28 +477,12 @@ public class AreaGroupsFragment extends MainTabFragment implements NimLocationMa
             @Override
             public void onSuccess(Object object) {
                 String jsonStr = (String) object;
-                try {
-                    JSONObject jsonObject = new JSONObject(jsonStr);
-
-                    String provinceRoomId = jsonObject.getJSONObject("d").getString("province");
-                    String cityRoomId = jsonObject.getJSONObject("d").getString("city");
-                    String districtRoomId = jsonObject.getJSONObject("d").getString("district");
-
-                    AccountCache.getAccount().setProvince_room_id(provinceRoomId);
-                    AccountCache.getAccount().setCity_room_id(cityRoomId);
-                    AccountCache.getAccount().setDistrict_room_id(districtRoomId);
-
-                    getHandler().post(new Runnable() {
-                        @Override
-                        public void run() {
-                            loadGroups();
-                        }
-                    });
-
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                }
-
+                getHandler().post(new Runnable() {
+                    @Override
+                    public void run() {
+                        loadGroups();
+                    }
+                });
             }
 
             @Override

+ 3 - 2
app/src/com/shuishuo/app/main/fragment/HomeFragment.java

@@ -126,8 +126,9 @@ public class HomeFragment extends TFragment implements OnPageChangeListener, Rem
             return;
         }
 
-        final NimUserInfo userInfo = NIMClient.getService(UserService.class).getUserInfo(AccountCache.getAccount().getId());
-        if(TextUtils.isEmpty((userInfo.getName())))
+        String userId = AccountCache.getAccount().getId();
+        final NimUserInfo userInfo = NIMClient.getService(UserService.class).getUserInfo(userId);
+        if(userInfo != null && TextUtils.isEmpty((userInfo.getName())))
         {
             final EasyEditDialog requestDialog = new EasyEditDialog(getActivity());
             requestDialog.setEditTextMaxLength(200);

+ 7 - 23
app/src/com/shuishuo/app/main/fragment/TradeListFragment.java

@@ -612,29 +612,13 @@ public class TradeListFragment extends MainTabFragment {
             @Override
             public void onSuccess(Object object) {
                 String jsonStr = (String) object;
-                try {
-                    JSONObject jsonObject = new JSONObject(jsonStr);
-
-                    String provinceRoomId = jsonObject.getJSONObject("d").getString("province");
-                    String cityRoomId = jsonObject.getJSONObject("d").getString("city");
-                    String districtRoomId = jsonObject.getJSONObject("d").getString("district");
-
-                    AccountCache.getAccount().setProvince_room_id(provinceRoomId);
-                    AccountCache.getAccount().setCity_room_id(cityRoomId);
-                    AccountCache.getAccount().setDistrict_room_id(districtRoomId);
-
-                    getHandler().post(new Runnable() {
-                        @Override
-                        public void run() {
-                            clearTradeList();
-                            loadTradeList(TYPE_TO_LOAD, 1);
-                        }
-                    });
-
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                }
-
+                getHandler().post(new Runnable() {
+                    @Override
+                    public void run() {
+                        clearTradeList();
+                        loadTradeList(TYPE_TO_LOAD, 1);
+                    }
+                });
             }
 
             @Override

+ 100 - 0
app/src/com/shuishuo/app/wxapi/WXPayEntryActivity.java

@@ -0,0 +1,100 @@
+package com.shuishuo.app.wxapi;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.Snackbar;
+import android.support.v7.app.AlertDialog;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.util.Log;
+import android.view.View;
+
+import com.shuishuo.app.R;
+import com.shuishuo.app.cache.AccountCache;
+import com.shuishuo.app.common.util.net.INet;
+import com.shuishuo.app.common.util.net.NetImpl;
+import com.shuishuo.app.common.util.net.ResponseCallback;
+import com.shuishuo.app.common.views.BaseToolbar;
+import com.shuishuo.app.core_module.trade.view.ui.activity.PayMethodActivity;
+import com.shuishuo.app.impl.SheishuoUI;
+import com.tencent.mm.opensdk.constants.ConstantsAPI;
+import com.tencent.mm.opensdk.modelbase.BaseReq;
+import com.tencent.mm.opensdk.modelbase.BaseResp;
+import com.tencent.mm.opensdk.modelpay.PayReq;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
+
+import org.json.JSONObject;
+
+public class WXPayEntryActivity extends SheishuoUI implements IWXAPIEventHandler {
+
+    public final static String MONEY = "money";
+
+    public final static String APPID = "wxf865a5ff4c7159aa";
+    public IWXAPI msgApi;
+    private Context context = this;
+    private static int money;
+    private INet net = new NetImpl();
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_wxpay_entry);
+
+        BaseToolbar toolbar = findView(R.id.toolbar);
+        toolbar.setTitle("微信支付中");
+        toolbar.setBackOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+
+        msgApi = WXAPIFactory.createWXAPI(this, APPID);
+        msgApi.registerApp(APPID);
+        msgApi.handleIntent(getIntent(), this);
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+
+        setIntent(intent);
+        msgApi.handleIntent(intent, this);
+    }
+
+    @Override
+    public void onReq(BaseReq req) {
+
+    }
+
+    @Override
+    public void onResp(BaseResp resp){
+        if(resp.getType()== ConstantsAPI.COMMAND_PAY_BY_WX && resp.errCode == BaseResp.ErrCode.ERR_OK){
+            showToast(context,"充值成功");
+
+            getHandler().post(new Runnable() {
+                @Override
+                public void run() {
+                    PayMethodActivity.wxPaySuccess = true;
+                    finish();
+                }
+            });
+        }
+        else
+        {
+            showToast(context, "充值失败,请重试");
+            getHandler().post(new Runnable() {
+                @Override
+                public void run() {
+                    Log.e("WXResult", "failed");
+                    finish();
+                }
+            });
+        }
+
+    }
+}

+ 7 - 7
uikit/uikit.iml

@@ -59,13 +59,6 @@
       <sourceFolder url="file://$MODULE_DIR$/assets" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -73,6 +66,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />

Some files were not shown because too many files changed in this diff