feat: ASW-85 新增 API 前置拦截器,请求接口前执行前置操作

1. adb connect
2. adb root
3. start droid_ng
4. 判断 默认链中是否含有 ASW_OUTPUT 如果没有则添加
This commit is contained in:
shizhendong
2024-09-29 11:21:54 +08:00
parent 8d88639655
commit 28e34185c5
3 changed files with 77 additions and 22 deletions

View File

@@ -0,0 +1,24 @@
package net.geedge.api.interceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import net.geedge.api.util.AdbUtil;
import org.springframework.web.servlet.HandlerInterceptor;
public class APIInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
AdbUtil adbUtil = AdbUtil.getInstance();
if (!adbUtil.connect()) {
// 记录日志或设置响应状态
response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, "device connect error");
return false;
}
// init
adbUtil.init(false);
return true;
}
}

View File

@@ -0,0 +1,18 @@
package net.geedge.api.interceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* WebMvc配置
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new APIInterceptor()).addPathPatterns("/api/v1/env/**");
}
}