[2110] mock 接口

This commit is contained in:
yangyakun
2022-09-22 11:23:06 +08:00
parent 9f2e3ebcaf
commit efb57d550c
2 changed files with 123 additions and 0 deletions

View File

@@ -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<Interceptor> interceptors = okHttpClient.interceptors();
Field pro = getDeclaredField(interceptors, "list");
pro.setAccessible(true);
List<Interceptor> modifyerList = null;
try {
modifyerList = (List<Interceptor>) pro.get(interceptors);
modifyerList.add(new SimpleInterceptor());
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
/**
* 获得名为field的字段
* @Description:如果本身找不到去父类寻找
* @param object
* @param fieldName
* @return Field
* @author luhao
* @since2019年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;
}
}

View File

@@ -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)
}
}