From 3d50cfcd6f6c5f9a3e751eb3659c9d3a29b7fc97 Mon Sep 17 00:00:00 2001 From: wangchunxiang <526328077@qq.com> Date: Tue, 14 Oct 2025 20:21:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E6=B7=BB=E5=8A=A0=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E5=9B=BE=E6=A0=87=E6=8E=A5=E5=8F=A3=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E5=B9=B6=E4=BF=AE=E6=94=B9=E5=9B=BE=E6=A0=87=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E6=96=B0=E5=A2=9E=20`networkIconInterfaceAdd?= =?UTF-8?q?ress`=20=E6=8E=A5=E5=8F=A3=E5=9C=B0=E5=9D=80=EF=BC=8C=E7=94=A8?= =?UTF-8?q?=E4=BA=8E=E8=8E=B7=E5=8F=96=E7=BD=91=E7=BB=9C=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E3=80=82=20=E5=B0=86=E5=8E=9F=E6=9C=AC?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E6=9C=AC=E5=9C=B0=E6=96=87=E4=BB=B6=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E5=9B=BE=E6=A0=87=E7=9A=84=E9=80=BB=E8=BE=91=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=EF=BC=8C=E6=94=B9=E4=B8=BA=E4=BB=8E=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=8A=A0=E8=BD=BD=E5=9B=BE=E6=A0=87=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E5=8D=87=E9=85=8D=E7=BD=AE=E7=81=B5=E6=B4=BB=E6=80=A7?= =?UTF-8?q?=E3=80=82feat(page):=20=E6=96=B0=E5=A2=9E=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E7=BD=91=E7=BB=9C=E5=9B=BE=E6=A0=87=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 创建 `InitialiNetWork` 工具类,提供 `initializeTheNetworkIcon()` 方法,用于从指定接口获取图标数据,并设置到全局配置中。 feat(model): 添加网络图标数据模型 新增 `NetWorkIconVO` 类,用于接收和解析来自接口的图标链接信息,支持动态加载不同尺寸和平台的图标资源。 fix(service): 调整等待时间以优化轮询逻辑 将 `FtbCrawlNetDy` 和 `FtbCrawlNetMt` 中的线程睡眠时间由 5000 毫秒调整为1000 毫秒,提高响应速度,避免不必要的长时间等待。 --- .../com/fantaibao/DesktopApplication.java | 3 ++ .../com/fantaibao/config/GlobalConfig.java | 28 +++++------------ .../com/fantaibao/model/NetWorkIconVO.java | 13 ++++++++ .../com/fantaibao/page/InitialiNetWork.java | 30 +++++++++++++++++++ .../com/fantaibao/service/FtbCrawlNetDy.java | 3 +- .../com/fantaibao/service/FtbCrawlNetMt.java | 4 +-- 6 files changed, 56 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/fantaibao/model/NetWorkIconVO.java create mode 100644 src/main/java/com/fantaibao/page/InitialiNetWork.java diff --git a/src/main/java/com/fantaibao/DesktopApplication.java b/src/main/java/com/fantaibao/DesktopApplication.java index 7ae8320..d4f222d 100644 --- a/src/main/java/com/fantaibao/DesktopApplication.java +++ b/src/main/java/com/fantaibao/DesktopApplication.java @@ -1,6 +1,7 @@ package com.fantaibao; import com.fantaibao.config.GlobalConfig; +import com.fantaibao.page.InitialiNetWork; import com.fantaibao.page.LoginView; import javafx.application.Application; import javafx.application.Platform; @@ -26,6 +27,8 @@ public class DesktopApplication extends Application { @Override public void init() throws Exception { super.init(); + // 初始化图标 + InitialiNetWork.initializeTheNetworkIcon(); } @Override diff --git a/src/main/java/com/fantaibao/config/GlobalConfig.java b/src/main/java/com/fantaibao/config/GlobalConfig.java index 511a8e6..715fcb0 100644 --- a/src/main/java/com/fantaibao/config/GlobalConfig.java +++ b/src/main/java/com/fantaibao/config/GlobalConfig.java @@ -2,10 +2,6 @@ package com.fantaibao.config; import javafx.scene.image.Image; import javafx.stage.Stage; -import org.springframework.util.ResourceUtils; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; public class GlobalConfig { /** @@ -23,6 +19,10 @@ public class GlobalConfig { * 更新cookie地址 */ public static final String updateCookieInterfaceAddress = BASE_NET_URL+"/crawler/appraisal/update-user-cookie"; + /** + * 网络图标接口地址 + */ + public static final String networkIconInterfaceAddress = BASE_NET_URL+"/user/network-ico"; /** * 租户Id标识 @@ -54,24 +54,12 @@ public class GlobalConfig { */ public static String dyLoginPage; + public static Image icon16 = null; + public static Image icon32 = null; + public static Image dyLogo = null; + public static Image mtLogo = null; - public static final Image icon16; - public static final Image icon32; - public static final Image dyLogo; - public static final Image mtLogo; - - static { - try { - icon16 = new Image(new FileInputStream(ResourceUtils.getFile("classpath:icon16.png"))); - icon32 = new Image(new FileInputStream(ResourceUtils.getFile("classpath:icon32.png"))); - dyLogo = new Image(new FileInputStream(ResourceUtils.getFile("classpath:dylogo.png"))); - mtLogo = new Image(new FileInputStream(ResourceUtils.getFile("classpath:mtlogo.png"))); - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } - } - public static void addIcon(Stage stage) { stage.getIcons().add(GlobalConfig.icon16); stage.getIcons().add(GlobalConfig.icon32); diff --git a/src/main/java/com/fantaibao/model/NetWorkIconVO.java b/src/main/java/com/fantaibao/model/NetWorkIconVO.java new file mode 100644 index 0000000..065af76 --- /dev/null +++ b/src/main/java/com/fantaibao/model/NetWorkIconVO.java @@ -0,0 +1,13 @@ +package com.fantaibao.model; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +@Data +public class NetWorkIconVO { + private String icon16; + private String icon32; + private String dyLogo; + private String mtLogo; +} diff --git a/src/main/java/com/fantaibao/page/InitialiNetWork.java b/src/main/java/com/fantaibao/page/InitialiNetWork.java new file mode 100644 index 0000000..b4c937d --- /dev/null +++ b/src/main/java/com/fantaibao/page/InitialiNetWork.java @@ -0,0 +1,30 @@ +package com.fantaibao.page; + +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.fantaibao.config.GlobalConfig; +import com.fantaibao.model.NetWorkIconVO; +import javafx.scene.image.Image; +import lombok.experimental.UtilityClass; + +@UtilityClass +public class InitialiNetWork { + + /** + * 初始化网络图标 + */ + public void initializeTheNetworkIcon() { + String result = HttpUtil.get(GlobalConfig.networkIconInterfaceAddress); + JSONObject parsed = JSON.parseObject(result); + if (parsed.getInteger("code") != 200) { + return; + } + NetWorkIconVO netWorkIconVO = parsed.getObject("data", NetWorkIconVO.class); + GlobalConfig.icon16 = new Image(netWorkIconVO.getIcon16()); + GlobalConfig.icon32 = new Image(netWorkIconVO.getIcon32()); + GlobalConfig.dyLogo = new Image(netWorkIconVO.getDyLogo()); + GlobalConfig.mtLogo = new Image(netWorkIconVO.getMtLogo()); + } + +} diff --git a/src/main/java/com/fantaibao/service/FtbCrawlNetDy.java b/src/main/java/com/fantaibao/service/FtbCrawlNetDy.java index b462e73..522aaa7 100644 --- a/src/main/java/com/fantaibao/service/FtbCrawlNetDy.java +++ b/src/main/java/com/fantaibao/service/FtbCrawlNetDy.java @@ -40,8 +40,7 @@ public class FtbCrawlNetDy extends AbstractFtbCrawlNetBase implements FtbCrawlNe new Page.NavigateOptions().setTimeout(6000000)); while (!dyCookie.get()) { try { - Thread.sleep(5000); - dyCookie.set(true); + Thread.sleep(1000); } catch (InterruptedException e) { log.warn("等待过程中被中断", e); Thread.currentThread().interrupt(); diff --git a/src/main/java/com/fantaibao/service/FtbCrawlNetMt.java b/src/main/java/com/fantaibao/service/FtbCrawlNetMt.java index 2c93c23..de0c706 100644 --- a/src/main/java/com/fantaibao/service/FtbCrawlNetMt.java +++ b/src/main/java/com/fantaibao/service/FtbCrawlNetMt.java @@ -41,9 +41,7 @@ public class FtbCrawlNetMt extends AbstractFtbCrawlNetBase implements FtbCrawlNe // 等待用户登录并获取所需cookie while (!(mtCookie.get() && dzCookie.get())) { try { - Thread.sleep(5000); - mtCookie.set(true); - dzCookie.set(true); + Thread.sleep(1000); } catch (InterruptedException e) { log.warn("等待过程中被中断", e); Thread.currentThread().interrupt();