From efb57d550ca8652053d774fc09012bdb698a6db0 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 22 Sep 2022 11:23:06 +0800 Subject: [PATCH] =?UTF-8?q?[2110]=20mock=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/module/utils/CollectionUtils.java | 48 ++++++++++++ .../common/module/utils/SimpleInterceptor.kt | 75 +++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/CollectionUtils.java create mode 100644 OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/SimpleInterceptor.kt diff --git a/OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/CollectionUtils.java b/OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/CollectionUtils.java new file mode 100644 index 0000000000..a8ae762168 --- /dev/null +++ b/OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/CollectionUtils.java @@ -0,0 +1,48 @@ +package com.mogo.och.common.module.utils; + +import com.mogo.cloud.network.OkHttpFactory; + +import java.lang.reflect.Field; +import java.util.List; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; + +public class CollectionUtils { + public static void setInterceptor(){ + OkHttpClient okHttpClient = OkHttpFactory.Companion.getOkHttpClient(); + List interceptors = okHttpClient.interceptors(); + Field pro = getDeclaredField(interceptors, "list"); + pro.setAccessible(true); + List modifyerList = null; + try { + modifyerList = (List) pro.get(interceptors); + modifyerList.add(new SimpleInterceptor()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + /** + * 获得名为field的字段 + * @Description:如果本身找不到去父类寻找 + * @param object + * @param fieldName + * @return Field + * @author luhao + * @since:2019年2月26日 下午4:06:16 + */ + public static Field getDeclaredField(Object object, String fieldName){ + Field field = null ; + Class clazz = object.getClass() ; + for(; clazz != Object.class ; clazz = clazz.getSuperclass()) { + try { + field = clazz.getDeclaredField(fieldName) ; + return field ; + } catch (Exception e) { + //这里甚么都不要做!并且这里的异常必须这样写,不能抛出去。 + //如果这里的异常打印或者往外抛,则就不会执行clazz = clazz.getSuperclass(),最后就不会进入到父类中了 + } + } + return null; + } +} diff --git a/OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/SimpleInterceptor.kt b/OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/SimpleInterceptor.kt new file mode 100644 index 0000000000..5bacbfe0d7 --- /dev/null +++ b/OCH/mogo-och-common-module/src/debug/java/com/mogo/och/common/module/utils/SimpleInterceptor.kt @@ -0,0 +1,75 @@ +package com.mogo.och.common.module.utils + +import android.util.Log +import okhttp3.* + +class SimpleInterceptor: Interceptor { + var first = true; + override fun intercept(chain: Interceptor.Chain): Response { + val original = chain.request() + val encodedPath = original.url().encodedPath() + Log.e("SimpleInterceptor",original.method()+ encodedPath+original.url().encodedQuery()) + when (encodedPath) { + "/autopilot-car-hailing/operation/v1/driver/bus/loginStatus" -> { + val builder = Response.Builder() + val create:ResponseBody + if(first) { + create = ResponseBody.create( + MediaType.parse("application/json"), + "{\"code\":0,\"msg\":\"\",\"data\":{\"servingStatus\":0,\"driverStatus\":1,\"orderNo\":\"12111\",\"purpose\":1,\"sn\":\"fjsdlfjslf\",\"plateNumber\":\"车牌号\",\"phone\":\"18811539480\",\"lineId\":\"线路id\",\"taskId\":\"任务id\"}}" + ) + first = false + }else{ + create = ResponseBody.create( + MediaType.parse("application/json"), + "{\"code\":0,\"msg\":\"\",\"data\":{\"servingStatus\":0,\"driverStatus\":0,\"orderNo\":\"12111\",\"purpose\":1,\"sn\":\"fjsdlfjslf\",\"plateNumber\":\"车牌号\",\"phone\":\"18811539480\",\"lineId\":\"线路id\",\"taskId\":\"任务id\"}}" + ) + first = true + } + builder.code(200) + builder.request(original) + builder.protocol(Protocol.HTTP_1_1) + builder.message("") + return builder.body(create).build() + } + "/autopilot-car-hailing/line/v2/driver/bus/task/query" -> { + val builder = Response.Builder() + val create = ResponseBody.create(MediaType.parse("application/json"), "{\"code\":0,\"msg\":\"\",\"data\":[{\"id\":1,\"taskStartTime\":1663722000000},{\"id\":2,\"taskStartTime\":1663725600000},{\"id\":3,\"taskStartTime\":1663729200000},{\"id\":4,\"taskStartTime\":1663732800000},{\"id\":5,\"taskStartTime\":1663736400000},{\"id\":6,\"taskStartTime\":1663740000000},{\"id\":7,\"taskStartTime\":1663743600000},{\"id\":8,\"taskStartTime\":1663747200000},{\"id\":9,\"taskStartTime\":1663750800000},{\"id\":10,\"taskStartTime\":1663754400000}]}") + builder.code(200) + builder.request(original) + builder.protocol(Protocol.HTTP_1_1) + builder.message("") + return builder.body(create).build() + } + "/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startTask" -> { + val builder = Response.Builder() + val create = ResponseBody.create(MediaType.parse("application/json"), "{\"code\":0,\"msg\":\"\",\"data\":null}") + builder.code(200) + builder.request(original) + builder.protocol(Protocol.HTTP_1_1) + builder.message("") + return builder.body(create).build() + } + "/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation" -> { + val builder = Response.Builder() + val create = ResponseBody.create(MediaType.parse("application/json"), "{\"code\":0,\"msg\":\"\",\"data\":null}") + builder.code(200) + builder.request(original) + builder.protocol(Protocol.HTTP_1_1) + builder.message("") + return builder.body(create).build() + } + "/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startOperation" -> { + val builder = Response.Builder() + val create = ResponseBody.create(MediaType.parse("application/json"), "{\"code\":0,\"msg\":\"\",\"data\":null}") + builder.code(200) + builder.request(original) + builder.protocol(Protocol.HTTP_1_1) + builder.message("") + return builder.body(create).build() + } + else -> {} + } + return chain.proceed(original) + } +} \ No newline at end of file