From aa3a0ec2263a05d1157e2b701d97bedaead6e9a9 Mon Sep 17 00:00:00 2001 From: wangchunxiang <526328077@qq.com> Date: Tue, 14 Oct 2025 14:06:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(auth):=20=E5=AE=9E=E7=8E=B0=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8=E4=B8=8E=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增 LoginUserVO 类用于接收登录成功后的用户信息,包括租户 ID 和各平台评价接口地址。 修改 LoginView 页面逻辑,调用登录接口并解析返回结果,失败时弹窗提示错误信息。登录成功后将返回的租户 ID 及平台接口地址存储至全局配置中,供后续使用。新增 UpdateUserCookieDTO 类用于更新用户 Cookie 信息,支持多平台标识。调整 application.yml 中服务端口从8080 修改为8000。 ``` --- .../java/com/fantaibao/model/LoginUserVO.java | 28 +++++++++++++++++++ .../fantaibao/model/UpdateUserCookieDTO.java | 18 ++++++++++++ .../java/com/fantaibao/page/LoginView.java | 26 +++++++++++++---- .../fantaibao/page/PlatformSelectionView.java | 2 ++ src/main/resources/application.yml | 2 +- 5 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/fantaibao/model/LoginUserVO.java create mode 100644 src/main/java/com/fantaibao/model/UpdateUserCookieDTO.java diff --git a/src/main/java/com/fantaibao/model/LoginUserVO.java b/src/main/java/com/fantaibao/model/LoginUserVO.java new file mode 100644 index 0000000..119f0e4 --- /dev/null +++ b/src/main/java/com/fantaibao/model/LoginUserVO.java @@ -0,0 +1,28 @@ +package com.fantaibao.model; + +import lombok.Data; + +@Data +public class LoginUserVO { + + /** + * 租户Id + */ + private String tenantId; + + /** + * 美团点评评价接口地址 + */ + private String mtDianPingInterfaceAddress; + + /** + * 美团大众点评评价接口地址 + */ + private String mtDaZhInterfaceAddress; + + /** + * 抖音评价接口地址 + */ + private String dyPingJiaInterfaceAddress; + +} diff --git a/src/main/java/com/fantaibao/model/UpdateUserCookieDTO.java b/src/main/java/com/fantaibao/model/UpdateUserCookieDTO.java new file mode 100644 index 0000000..3859406 --- /dev/null +++ b/src/main/java/com/fantaibao/model/UpdateUserCookieDTO.java @@ -0,0 +1,18 @@ +package com.fantaibao.model; + +import lombok.Data; + +/** + * @Author: peng.hao + * @create: 2025/7/30 + */ +@Data +public class UpdateUserCookieDTO { + private String tenantId; + /** + * 平台0美团,1抖音,2饿了么商家端3美团外卖商家版4京东5大众点评 + */ + private Integer platform; + + private String cookie; +} diff --git a/src/main/java/com/fantaibao/page/LoginView.java b/src/main/java/com/fantaibao/page/LoginView.java index 6a616df..4254a9d 100644 --- a/src/main/java/com/fantaibao/page/LoginView.java +++ b/src/main/java/com/fantaibao/page/LoginView.java @@ -2,11 +2,14 @@ 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.LoginUserDTO; +import com.fantaibao.model.LoginUserVO; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; +import javafx.scene.control.Alert; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.PasswordField; @@ -60,17 +63,28 @@ public class LoginView { loginUserDTO.setAccount(account); loginUserDTO.setPassword(password); String result = HttpUtil.post(GlobalConfig.loginInterfaceAddress, JSON.toJSONString(loginUserDTO)); - System.out.println(result); - - // 这里可以添加实际的登录验证逻辑 - // 当前简化处理,直接跳转到平台选择页面 + // 解析返回结果 + JSONObject jsonResultObject = JSON.parseObject(result); + if (jsonResultObject.getInteger("code") != 200) { + // 显示错误提示弹窗 + Alert alert = new Alert(Alert.AlertType.ERROR); + alert.setTitle("登录失败"); + alert.setHeaderText(null); + alert.setContentText(jsonResultObject.getString("msg")); + alert.showAndWait(); + return; + } + LoginUserVO loginUserVO = jsonResultObject.getObject("data", LoginUserVO.class); + // 网络地址 + GlobalConfig.tenantId = loginUserVO.getTenantId(); + GlobalConfig.mtDianPingInterfaceAddress = loginUserVO.getMtDianPingInterfaceAddress(); + GlobalConfig.mtDaZhInterfaceAddress = loginUserVO.getMtDaZhInterfaceAddress(); + GlobalConfig.dyPingJiaInterfaceAddress = loginUserVO.getDyPingJiaInterfaceAddress(); navigateToPlatformSelection(primaryStage); }); - // 添加组件到主容器 root.getChildren().addAll(titleLabel, infoLabel, new Label("账号"), accountField, new Label("密码"), passwordField, loginButton); - // 设置场景并显示窗口 Scene scene = new Scene(root, 400, 600); primaryStage.setScene(scene); diff --git a/src/main/java/com/fantaibao/page/PlatformSelectionView.java b/src/main/java/com/fantaibao/page/PlatformSelectionView.java index 2b9a10e..2b16626 100644 --- a/src/main/java/com/fantaibao/page/PlatformSelectionView.java +++ b/src/main/java/com/fantaibao/page/PlatformSelectionView.java @@ -1,6 +1,8 @@ package com.fantaibao.page; +import com.alibaba.fastjson.JSON; import com.fantaibao.base.FtbCrawlNetBase; +import com.fantaibao.config.GlobalConfig; import com.fantaibao.config.SpringContext; import javafx.geometry.Insets; import javafx.geometry.Pos; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d2a72f4..620a63b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -13,4 +13,4 @@ spring: banner-mode: console server: - port: 8080 \ No newline at end of file + port: 8000 \ No newline at end of file