feat(playwright): 添加浏览器配置类并集成Playwright

新增BrowserConfig配置类,用于创建和管理Playwright实例。
移除DesktopApplication中冗余的UI示例代码和旧版PlaywrightService。
添加FtbCrawlNetBase接口及其实现类FtbCrawlNetMt,用于执行Cookie拦截逻辑。更新PlatformSelectionView以支持美团平台的连接功能,并通过SpringContext获取爬虫服务。
调整module-info.java以开放和导出新增模块包路径,确保Spring能够正确注入依赖。
```
This commit is contained in:
wangchunxiang
2025-10-13 16:57:52 +08:00
parent a5fcb54815
commit 9fa2e10049
8 changed files with 170 additions and 209 deletions

View File

@@ -0,0 +1,44 @@
package com.fantaibao.config;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringContext implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContext.applicationContext = applicationContext;
}
public static ApplicationContext getApplicationContext() {
assertApplicationContext();
return applicationContext;
}
public static <T> T getBean(String beanName) {
assertApplicationContext();
try {
return (T) applicationContext.getBean(beanName);
} catch (Exception e) {
return null;
}
}
public static <T> T getBean(Class<T> beanName) {
assertApplicationContext();
return (T) applicationContext.getBean(beanName);
}
private static void assertApplicationContext() {
if (SpringContext.applicationContext == null) {
throw new RuntimeException("applicaitonContext属性为null,请检查是否注入了SpringContextHolder!");
}
}
}