feat(playwright): 添加浏览器配置类并集成Playwright 新增BrowserConfig配置类,用于创建和管理Playwright实例。 移除DesktopApplication中冗余的UI示例代码和旧版PlaywrightService。 添加FtbCrawlNetBase接口及其实现类FtbCrawlNetMt,用于执行Cookie拦截逻辑。更新PlatformSelectionView以支持美团平台的连接功能,并通过SpringContext获取爬虫服务。 调整module-info.java以开放和导出新增模块包路径,确保Spring能够正确注入依赖。 ```
45 lines
1.3 KiB
Java
45 lines
1.3 KiB
Java
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!");
|
|
}
|
|
}
|
|
|
|
}
|