Commit b7f8e6f8cb53de37c073b8dd54903861ba867666
1 parent
cc38dcb6
1 调整网络框架请求逻辑
Showing
6 changed files
with
160 additions
and
86 deletions
app/strike/build.gradle
| @@ -39,6 +39,10 @@ android { | @@ -39,6 +39,10 @@ android { | ||
| 39 | dexOptions { | 39 | dexOptions { |
| 40 | javaMaxHeapSize '4g' | 40 | javaMaxHeapSize '4g' |
| 41 | } | 41 | } |
| 42 | + | ||
| 43 | + dataBinding { | ||
| 44 | + enabled true | ||
| 45 | + } | ||
| 42 | buildTypes { | 46 | buildTypes { |
| 43 | debug { | 47 | debug { |
| 44 | signingConfig signingConfigs.debugConfig | 48 | signingConfig signingConfigs.debugConfig |
| @@ -169,6 +173,7 @@ dependencies { | @@ -169,6 +173,7 @@ dependencies { | ||
| 169 | implementation project(path: ':core:network') | 173 | implementation project(path: ':core:network') |
| 170 | implementation project(path: ':core:base') | 174 | implementation project(path: ':core:base') |
| 171 | implementation project(path: ':cloud:user') | 175 | implementation project(path: ':cloud:user') |
| 176 | + implementation project(path: ':cloud:pay') | ||
| 172 | 177 | ||
| 173 | implementation project(path: ':core:imageload') | 178 | implementation project(path: ':core:imageload') |
| 174 | implementation project(path: ':module:xiaojiasoundbox') | 179 | implementation project(path: ':module:xiaojiasoundbox') |
app/strike/src/main/java/com/cnlive/strike/MyActivity.java
| @@ -3,29 +3,83 @@ package com.cnlive.strike; | @@ -3,29 +3,83 @@ package com.cnlive.strike; | ||
| 3 | 3 | ||
| 4 | import android.content.Intent; | 4 | import android.content.Intent; |
| 5 | import android.text.TextUtils; | 5 | import android.text.TextUtils; |
| 6 | +import android.view.View; | ||
| 6 | 7 | ||
| 7 | import com.alibaba.android.arouter.facade.annotation.Route; | 8 | import com.alibaba.android.arouter.facade.annotation.Route; |
| 8 | import com.cnlive.core.libs.base.frame.activity.BaseActivity; | 9 | import com.cnlive.core.libs.base.frame.activity.BaseActivity; |
| 10 | +import com.cnlive.core.network.HttpConn; | ||
| 11 | +import com.cnlive.core.network.NetCallBack; | ||
| 12 | +import com.cnlive.core.network.model.BaseResult; | ||
| 13 | +import com.cnlive.libs.wjjpay.model.GroupBalanceInfo; | ||
| 14 | +import com.cnlive.libs.wjjpay.pay.WjjPay; | ||
| 9 | import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; | 15 | import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; |
| 10 | import com.cnlive.moudle.pedometer.ui.activity.RunLineActivity; | 16 | import com.cnlive.moudle.pedometer.ui.activity.RunLineActivity; |
| 17 | +import com.cnlive.strike.databinding.ActivityMyBinding; | ||
| 11 | import com.cnlive.strike.user.auth.UserService; | 18 | import com.cnlive.strike.user.auth.UserService; |
| 12 | import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo; | 19 | import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo; |
| 13 | import com.cnlive.strike.xiaojiaspeaker.ui.activity.AllDeviceActivity; | 20 | import com.cnlive.strike.xiaojiaspeaker.ui.activity.AllDeviceActivity; |
| 21 | +import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; | ||
| 14 | 22 | ||
| 15 | @Route(path = "/strick/MyActivity") | 23 | @Route(path = "/strick/MyActivity") |
| 16 | public class MyActivity extends BaseActivity { | 24 | public class MyActivity extends BaseActivity { |
| 25 | + public ActivityMyBinding binding; | ||
| 17 | 26 | ||
| 18 | @Override | 27 | @Override |
| 19 | - protected int getViewLayoutId() { | 28 | + protected int getBindLayoutId() { |
| 20 | return R.layout.activity_my; | 29 | return R.layout.activity_my; |
| 21 | } | 30 | } |
| 22 | 31 | ||
| 23 | @Override | 32 | @Override |
| 33 | + protected void initBindingData() { | ||
| 34 | + super.initBindingData(); | ||
| 35 | + binding = (ActivityMyBinding) baseBinding; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + @Override | ||
| 24 | protected void initView() { | 39 | protected void initView() { |
| 25 | // getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MyFragment()).commitAllowingStateLoss(); | 40 | // getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MyFragment()).commitAllowingStateLoss(); |
| 26 | initXiaoJiaSoundBoxData(); | 41 | initXiaoJiaSoundBoxData(); |
| 27 | - startActivity(new Intent(MyActivity.this, RunLineActivity.class)); | ||
| 28 | - finish(); | 42 | +// startActivity(new Intent(MyActivity.this, RunLineActivity.class)); |
| 43 | +// finish(); | ||
| 44 | + binding.btnChange.setOnClickListener(new View.OnClickListener() { | ||
| 45 | + @Override | ||
| 46 | + public void onClick(View v) { | ||
| 47 | +// WjjPay.passwordIsExisting(UserService.getUid(me), new NetCallBack<BaseResult<GroupBalanceInfo>>() { | ||
| 48 | +// @Override | ||
| 49 | +// public void onRequestState(int state) { | ||
| 50 | +// | ||
| 51 | +// } | ||
| 52 | +// | ||
| 53 | +// @Override | ||
| 54 | +// public void onSuccess(BaseResult<GroupBalanceInfo> data) { | ||
| 55 | +// QMUITipDialogUtil.successDialog(me, data.getErrorCode() + "" + data.getData().getBalance(), 5); | ||
| 56 | +// } | ||
| 57 | +// | ||
| 58 | +// @Override | ||
| 59 | +// public void onFailure(String errCode, String errMsg) { | ||
| 60 | +// QMUITipDialogUtil.failedDialog(me, errMsg, 3); | ||
| 61 | +// } | ||
| 62 | +// }); | ||
| 63 | + WjjPay.setPassword(UserService.getUid(me), "123456", new NetCallBack<BaseResult>() { | ||
| 64 | + @Override | ||
| 65 | + public void onRequestState(int state) { | ||
| 66 | + if (state == HttpConn.ON_START) { | ||
| 67 | + QMUITipDialogUtil.loadingDialog(me, "修改中", true); | ||
| 68 | + } | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + @Override | ||
| 72 | + public void onSuccess(BaseResult data) { | ||
| 73 | + QMUITipDialogUtil.successDialog(me, data.getMessage(), 5); | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + @Override | ||
| 77 | + public void onFailure(String errCode, String errMsg) { | ||
| 78 | + QMUITipDialogUtil.failedDialog(me, errMsg, 3); | ||
| 79 | + } | ||
| 80 | + }); | ||
| 81 | + } | ||
| 82 | + }); | ||
| 29 | } | 83 | } |
| 30 | 84 | ||
| 31 | @Override | 85 | @Override |
app/strike/src/main/res/layout/activity_my.xml
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | - xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| 4 | - xmlns:tools="http://schemas.android.com/tools" | ||
| 5 | - android:layout_width="match_parent" | ||
| 6 | - android:layout_height="match_parent" | ||
| 7 | - tools:context="com.cnlive.strike.MyActivity"> | 2 | +<layout> |
| 8 | 3 | ||
| 9 | - <RelativeLayout | ||
| 10 | - android:id="@+id/fragment_container" | 4 | + <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
| 5 | + xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| 6 | + xmlns:tools="http://schemas.android.com/tools" | ||
| 11 | android:layout_width="match_parent" | 7 | android:layout_width="match_parent" |
| 12 | - android:layout_height="match_parent"> | 8 | + android:layout_height="match_parent" |
| 9 | + tools:context="com.cnlive.strike.MyActivity"> | ||
| 13 | 10 | ||
| 14 | - <TextView | ||
| 15 | - android:layout_width="wrap_content" | ||
| 16 | - android:layout_height="wrap_content" | ||
| 17 | - android:text="sfwerfwef" /> | 11 | + <RelativeLayout |
| 12 | + android:id="@+id/fragment_container" | ||
| 13 | + android:layout_width="match_parent" | ||
| 14 | + android:layout_height="match_parent"> | ||
| 15 | + | ||
| 16 | + <TextView | ||
| 17 | + android:layout_width="wrap_content" | ||
| 18 | + android:layout_height="wrap_content" | ||
| 19 | + android:text="sfwerfwef" /> | ||
| 20 | + | ||
| 21 | + <Button | ||
| 22 | + android:id="@+id/btn_change" | ||
| 23 | + android:layout_width="wrap_content" | ||
| 24 | + android:layout_height="wrap_content" | ||
| 25 | + android:text="修改支付密码" /> | ||
| 26 | + </RelativeLayout> | ||
| 18 | </RelativeLayout> | 27 | </RelativeLayout> |
| 19 | -</RelativeLayout> | 28 | +</layout> |
| 20 | \ No newline at end of file | 29 | \ No newline at end of file |
core/network/src/main/java/com/cnlive/core/network/NetBuilder.java
| 1 | package com.cnlive.core.network; | 1 | package com.cnlive.core.network; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | +import com.cnlive.core.network.interceptor.NetPPEncryptInterceptor; | ||
| 5 | +import com.cnlive.core.network.interceptor.NetPPPayEncryptInterceptor; | ||
| 4 | import com.cnlive.core.network.interceptor.SignEncryptInterceptor; | 6 | import com.cnlive.core.network.interceptor.SignEncryptInterceptor; |
| 5 | import com.cnlive.core.network.request.HttpConfig; | 7 | import com.cnlive.core.network.request.HttpConfig; |
| 6 | 8 | ||
| @@ -65,6 +67,12 @@ public class NetBuilder<NetService> { | @@ -65,6 +67,12 @@ public class NetBuilder<NetService> { | ||
| 65 | if (interceptor instanceof SignEncryptInterceptor) { | 67 | if (interceptor instanceof SignEncryptInterceptor) { |
| 66 | isAdd = true; | 68 | isAdd = true; |
| 67 | break; | 69 | break; |
| 70 | + } else if (interceptor instanceof NetPPEncryptInterceptor) { | ||
| 71 | + isAdd = true; | ||
| 72 | + break; | ||
| 73 | + } else if (interceptor instanceof NetPPPayEncryptInterceptor) { | ||
| 74 | + isAdd = true; | ||
| 75 | + break; | ||
| 68 | } | 76 | } |
| 69 | } | 77 | } |
| 70 | if (!isAdd) { | 78 | if (!isAdd) { |
core/network/src/main/java/com/cnlive/core/network/interceptor/DESEncryptInterceptor.java
| 1 | package com.cnlive.core.network.interceptor; | 1 | package com.cnlive.core.network.interceptor; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | -import com.cnlive.core.network.util.SignUtil; | ||
| 5 | import com.cnlive.core.libs.base.application.AppConfig; | 4 | import com.cnlive.core.libs.base.application.AppConfig; |
| 5 | +import com.cnlive.core.network.util.SignUtil; | ||
| 6 | import com.cnlive.libs.encipher.CNLiveEncipher; | 6 | import com.cnlive.libs.encipher.CNLiveEncipher; |
| 7 | 7 | ||
| 8 | import java.io.IOException; | 8 | import java.io.IOException; |
core/network/src/main/java/com/cnlive/core/network/interceptor/NetPPPayEncryptInterceptor.java
| @@ -6,99 +6,97 @@ import com.cnlive.core.network.util.SignUtil; | @@ -6,99 +6,97 @@ import com.cnlive.core.network.util.SignUtil; | ||
| 6 | 6 | ||
| 7 | import java.io.IOException; | 7 | import java.io.IOException; |
| 8 | import java.util.HashMap; | 8 | import java.util.HashMap; |
| 9 | +import java.util.Iterator; | ||
| 9 | import java.util.Map; | 10 | import java.util.Map; |
| 10 | 11 | ||
| 11 | import okhttp3.FormBody; | 12 | import okhttp3.FormBody; |
| 12 | -import okhttp3.HttpUrl; | ||
| 13 | import okhttp3.Interceptor; | 13 | import okhttp3.Interceptor; |
| 14 | import okhttp3.MultipartBody; | 14 | import okhttp3.MultipartBody; |
| 15 | import okhttp3.Request; | 15 | import okhttp3.Request; |
| 16 | -import okhttp3.RequestBody; | ||
| 17 | import okhttp3.Response; | 16 | import okhttp3.Response; |
| 18 | 17 | ||
| 19 | public class NetPPPayEncryptInterceptor implements Interceptor { | 18 | public class NetPPPayEncryptInterceptor implements Interceptor { |
| 20 | - @Override | ||
| 21 | - public Response intercept(Chain chain) throws IOException { | ||
| 22 | - Request request = chain.request(); | ||
| 23 | - | ||
| 24 | - if (request.body() instanceof FormBody) { | ||
| 25 | - //处理方式 1 | ||
| 26 | - Map<String, String> parameter = new HashMap<>(); | ||
| 27 | - | ||
| 28 | - FormBody body = ((FormBody) request.body()); | ||
| 29 | - FormBody.Builder builder = new FormBody.Builder(); | 19 | + public NetPPPayEncryptInterceptor() { |
| 20 | + } | ||
| 30 | 21 | ||
| 31 | - for (int i = 0; i < body.size(); i++) { | ||
| 32 | - parameter.put(body.name(i), body.value(i)); | 22 | + public Response intercept(Chain var1) throws IOException { |
| 23 | + Request var2 = var1.request(); | ||
| 24 | + Map.Entry var7; | ||
| 25 | + FormBody.Builder var11; | ||
| 26 | + Iterator var13; | ||
| 27 | + FormBody var14; | ||
| 28 | + Request var15; | ||
| 29 | + if (var2.body() instanceof FormBody) { | ||
| 30 | + HashMap var8 = new HashMap(); | ||
| 31 | + FormBody var9 = (FormBody)var2.body(); | ||
| 32 | + var11 = new FormBody.Builder(); | ||
| 33 | + | ||
| 34 | + for(int var16 = 0; var16 < var9.size(); ++var16) { | ||
| 35 | + var8.put(var9.name(var16), var9.value(var16)); | ||
| 33 | } | 36 | } |
| 34 | 37 | ||
| 35 | - for (Map.Entry<String, String> entity : SignUtil.getNetPPPaySignString(parameter).entrySet()) { | ||
| 36 | - builder.addEncoded(entity.getKey(), entity.getValue()); | ||
| 37 | - } | 38 | + var13 = SignUtil.getNetPPPaySignString(var8).entrySet().iterator(); |
| 38 | 39 | ||
| 39 | - RequestBody newBody = builder.build(); | 40 | + while(var13.hasNext()) { |
| 41 | + var7 = (Map.Entry)var13.next(); | ||
| 42 | + var11.addEncoded((String)var7.getKey(), (String)var7.getValue()); | ||
| 43 | + } | ||
| 40 | 44 | ||
| 41 | - Request newRequest = request.newBuilder() | ||
| 42 | - .method(request.method(), newBody) | ||
| 43 | - .url(request.url()) | ||
| 44 | - .build(); | ||
| 45 | - return chain.proceed(newRequest); | ||
| 46 | - } else if (request.body() instanceof MultipartBody) { | ||
| 47 | - //处理方式 2 (暂时不签名) | 45 | + var14 = var11.build(); |
| 46 | + var15 = var2.newBuilder().method(var2.method(), var14).url(var2.url()).build(); | ||
| 47 | + return var1.proceed(var15); | ||
| 48 | + } else if (var2.body() instanceof MultipartBody) { | ||
| 49 | + return var1.proceed(var2); | ||
| 48 | } else { | 50 | } else { |
| 49 | - if ("POST".equals(request.method())) { | ||
| 50 | - //处理方式 3 | ||
| 51 | - HttpUrl.Builder authorizedUrlBuilder = request.url().newBuilder(); | ||
| 52 | - | ||
| 53 | - Map<String, String> parameter = new HashMap<>(); | ||
| 54 | - | ||
| 55 | - for (String key : request.url().queryParameterNames()) { | ||
| 56 | - parameter.put(key, request.url().queryParameter(key)); | ||
| 57 | - authorizedUrlBuilder.removeAllQueryParameters(key); | 51 | + okhttp3.HttpUrl.Builder var3; |
| 52 | + HashMap var4; | ||
| 53 | + Iterator var5; | ||
| 54 | + String var6; | ||
| 55 | + if ("POST".equals(var2.method())) { | ||
| 56 | + var3 = var2.url().newBuilder(); | ||
| 57 | + var4 = new HashMap(); | ||
| 58 | + var5 = var2.url().queryParameterNames().iterator(); | ||
| 59 | + | ||
| 60 | + while(var5.hasNext()) { | ||
| 61 | + var6 = (String)var5.next(); | ||
| 62 | + var4.put(var6, var2.url().queryParameter(var6)); | ||
| 63 | + var3.removeAllQueryParameters(var6); | ||
| 58 | } | 64 | } |
| 59 | 65 | ||
| 60 | - FormBody.Builder builder = new FormBody.Builder(); | 66 | + var11 = new FormBody.Builder(); |
| 67 | + var13 = SignUtil.getNetPPPaySignString(var4).entrySet().iterator(); | ||
| 61 | 68 | ||
| 62 | - for (Map.Entry<String, String> entity : SignUtil.getNetPPPaySignString(parameter).entrySet()) { | ||
| 63 | - builder.add(entity.getKey(), entity.getValue()); | 69 | + while(var13.hasNext()) { |
| 70 | + var7 = (Map.Entry)var13.next(); | ||
| 71 | + var11.add((String)var7.getKey(), (String)var7.getValue()); | ||
| 64 | } | 72 | } |
| 65 | 73 | ||
| 66 | - RequestBody newBody = builder.build(); | ||
| 67 | - | ||
| 68 | - Request newRequest = request.newBuilder() | ||
| 69 | - .method(request.method(), newBody) | ||
| 70 | - .url(authorizedUrlBuilder.build()) | ||
| 71 | - .build(); | ||
| 72 | - return chain.proceed(newRequest); | ||
| 73 | - }else{ | ||
| 74 | - //处理方式 3 | ||
| 75 | - HttpUrl.Builder authorizedUrlBuilder = request.url().newBuilder(); | ||
| 76 | - | ||
| 77 | - Map<String, String> parameter = new HashMap<>(); | ||
| 78 | - | ||
| 79 | - for (String key : request.url().queryParameterNames()) { | ||
| 80 | - parameter.put(key, request.url().queryParameter(key)); | ||
| 81 | - authorizedUrlBuilder.removeAllQueryParameters(key); | 74 | + var14 = var11.build(); |
| 75 | + var15 = var2.newBuilder().method(var2.method(), var14).url(var3.build()).build(); | ||
| 76 | + return var1.proceed(var15); | ||
| 77 | + } else { | ||
| 78 | + var3 = var2.url().newBuilder(); | ||
| 79 | + var4 = new HashMap(); | ||
| 80 | + var5 = var2.url().queryParameterNames().iterator(); | ||
| 81 | + | ||
| 82 | + while(var5.hasNext()) { | ||
| 83 | + var6 = (String)var5.next(); | ||
| 84 | + var4.put(var6, var2.url().queryParameter(var6)); | ||
| 85 | + var3.removeAllQueryParameters(var6); | ||
| 82 | } | 86 | } |
| 83 | 87 | ||
| 84 | - for (Map.Entry<String, String> entity : SignUtil.getNetPPPaySignString(parameter).entrySet()) { | ||
| 85 | - authorizedUrlBuilder.addQueryParameter(entity.getKey(), entity.getValue()); | ||
| 86 | - } | 88 | + var5 = SignUtil.getNetPPPaySignString(var4).entrySet().iterator(); |
| 87 | 89 | ||
| 88 | - authorizedUrlBuilder.scheme(request.url().scheme()); | ||
| 89 | - authorizedUrlBuilder.host(request.url().host()); | 90 | + while(var5.hasNext()) { |
| 91 | + Map.Entry var12 = (Map.Entry)var5.next(); | ||
| 92 | + var3.addQueryParameter((String)var12.getKey(), (String)var12.getValue()); | ||
| 93 | + } | ||
| 90 | 94 | ||
| 91 | - Request newRequest = request.newBuilder() | ||
| 92 | - .method(request.method(), request.body()) | ||
| 93 | - .url(authorizedUrlBuilder.build()) | ||
| 94 | - .build(); | ||
| 95 | - return chain.proceed(newRequest); | 95 | + var3.scheme(var2.url().scheme()); |
| 96 | + var3.host(var2.url().host()); | ||
| 97 | + Request var10 = var2.newBuilder().method(var2.method(), var2.body()).url(var3.build()).build(); | ||
| 98 | + return var1.proceed(var10); | ||
| 96 | } | 99 | } |
| 97 | } | 100 | } |
| 98 | - | ||
| 99 | - | ||
| 100 | - return chain.proceed(request); | ||
| 101 | } | 101 | } |
| 102 | - | ||
| 103 | - | ||
| 104 | } | 102 | } |
| 105 | \ No newline at end of file | 103 | \ No newline at end of file |