Ver código fonte

修复支付功能会重复提交token的问题

zengjiebin 7 anos atrás
pai
commit
ecfa5e82f3

+ 7 - 3
app/src/main/java/com/sheep/gamegroup/model/util/AddPuplicParameIntercept.java

@@ -67,13 +67,17 @@ public class AddPuplicParameIntercept implements Interceptor {
         }
         String id = SpUtils.getToken(SheepApp.getInstance());
         String deviceId = DeviceUtil.getDeviceId(SheepApp.getInstance());
-        Request r = oldRequest.newBuilder()
-                .addHeader("Authorization", TextUtils.isEmpty(id) ? "" : id)//header 会覆盖以前的  header
+        Request.Builder requestBuilder = oldRequest.newBuilder();
+        String tokenKey = "Authorization";
+        if (oldRequest.header(tokenKey) == null) {
+            requestBuilder.addHeader("Authorization", TextUtils.isEmpty(id) ? "" : id);//header 会覆盖以前的  header
+        }
+
+        return requestBuilder
                 .addHeader("X-Device-Id", TextUtils.isEmpty(deviceId) ? "" : deviceId)//header 会覆盖以前的  header
                 .addHeader("platform", "andriod")//header 会覆盖以前的  header
                 .method(method, body)
                 .url(b.build())
                 .build();
-        return r;
     }
 }