Commit b7f8e6f8cb53de37c073b8dd54903861ba867666

Authored by YangShuai
1 parent cc38dcb6

1 调整网络框架请求逻辑

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&lt;NetService&gt; { @@ -65,6 +67,12 @@ public class NetBuilder&lt;NetService&gt; {
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