feat(auth): 实现基础登录功能并配置全局网络地址新增 GlobalConfig 类用于管理全局配置,包括网络接口地址和租户标识。新增 LoginUserDTO 数据传输对象用于封装登录账号和密码。修改 LoginView 页面逻辑,实现调用后端登录接口进行认证。
更新 module-info.java 和 pom.xml 以支持新引入的依赖库(hutool、fastjson等)。升级 fastjson 版本至2.0.9 以增强安全性与稳定性。```
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,6 +4,7 @@
|
|||||||
.idea
|
.idea
|
||||||
# Log file
|
# Log file
|
||||||
*.log
|
*.log
|
||||||
|
*.log.*.gz
|
||||||
|
|
||||||
# BlueJ files
|
# BlueJ files
|
||||||
*.ctxt
|
*.ctxt
|
||||||
|
|||||||
2
pom.xml
2
pom.xml
@@ -56,7 +56,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alibaba</groupId>
|
<groupId>com.alibaba</groupId>
|
||||||
<artifactId>fastjson</artifactId>
|
<artifactId>fastjson</artifactId>
|
||||||
<version>1.2.83</version>
|
<version>2.0.9</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ public class DesktopApplication extends Application {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) {
|
public void start(Stage primaryStage) {
|
||||||
|
// 设置窗口标题
|
||||||
|
primaryStage.setTitle("中差评采集工具");
|
||||||
// 添加窗口关闭事件监听器
|
// 添加窗口关闭事件监听器
|
||||||
primaryStage.setOnCloseRequest(this::handleCloseEvent);
|
primaryStage.setOnCloseRequest(this::handleCloseEvent);
|
||||||
// 直接启动登录界面
|
// 直接启动登录界面
|
||||||
|
|||||||
39
src/main/java/com/fantaibao/config/GlobalConfig.java
Normal file
39
src/main/java/com/fantaibao/config/GlobalConfig.java
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package com.fantaibao.config;
|
||||||
|
|
||||||
|
public class GlobalConfig {
|
||||||
|
/**
|
||||||
|
* 基础网络地址
|
||||||
|
*/
|
||||||
|
public static final String BASE_NET_URL = "http://127.0.0.1:9606";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录接口地址
|
||||||
|
*/
|
||||||
|
public static final String loginInterfaceAddress = BASE_NET_URL+"/user/login";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新cookie地址
|
||||||
|
*/
|
||||||
|
public static final String updateCookieInterfaceAddress = BASE_NET_URL+"/crawler/appraisal/update-user-cookie";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户Id标识
|
||||||
|
*/
|
||||||
|
public static String tenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 美团点评评价接口地址
|
||||||
|
*/
|
||||||
|
public static String mtDianPingInterfaceAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 美团大众点评评价接口地址
|
||||||
|
*/
|
||||||
|
public static String mtDaZhInterfaceAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 抖音评价接口地址
|
||||||
|
*/
|
||||||
|
public static String dyPingJiaInterfaceAddress;
|
||||||
|
|
||||||
|
}
|
||||||
17
src/main/java/com/fantaibao/model/LoginUserDTO.java
Normal file
17
src/main/java/com/fantaibao/model/LoginUserDTO.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package com.fantaibao.model;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class LoginUserDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号
|
||||||
|
*/
|
||||||
|
private String account;
|
||||||
|
/**
|
||||||
|
* 密码
|
||||||
|
*/
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.fantaibao.page;
|
package com.fantaibao.page;
|
||||||
|
|
||||||
import com.fantaibao.DesktopApplication;
|
import cn.hutool.http.HttpUtil;
|
||||||
import javafx.application.Platform;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.fantaibao.config.GlobalConfig;
|
||||||
|
import com.fantaibao.model.LoginUserDTO;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
@@ -11,21 +13,14 @@ import javafx.scene.control.PasswordField;
|
|||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import javafx.stage.WindowEvent;
|
|
||||||
|
|
||||||
public class LoginView {
|
public class LoginView {
|
||||||
|
|
||||||
private Stage primaryStage;
|
|
||||||
|
|
||||||
public LoginView(Stage primaryStage) {
|
public LoginView(Stage primaryStage) {
|
||||||
this.primaryStage = primaryStage;
|
initialize(primaryStage);
|
||||||
initialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initialize() {
|
private void initialize(Stage primaryStage) {
|
||||||
// 设置窗口标题
|
|
||||||
primaryStage.setTitle("中差评采集工具");
|
|
||||||
|
|
||||||
// 创建主容器
|
// 创建主容器
|
||||||
VBox root = new VBox();
|
VBox root = new VBox();
|
||||||
root.setAlignment(Pos.CENTER);
|
root.setAlignment(Pos.CENTER);
|
||||||
@@ -58,9 +53,18 @@ public class LoginView {
|
|||||||
|
|
||||||
// 添加登录按钮事件处理
|
// 添加登录按钮事件处理
|
||||||
loginButton.setOnAction(e -> {
|
loginButton.setOnAction(e -> {
|
||||||
|
// 获取用户输入的账号和密码
|
||||||
|
String account = accountField.getText();
|
||||||
|
String password = passwordField.getText();
|
||||||
|
LoginUserDTO loginUserDTO = new LoginUserDTO();
|
||||||
|
loginUserDTO.setAccount(account);
|
||||||
|
loginUserDTO.setPassword(password);
|
||||||
|
String result = HttpUtil.post(GlobalConfig.loginInterfaceAddress, JSON.toJSONString(loginUserDTO));
|
||||||
|
System.out.println(result);
|
||||||
|
|
||||||
// 这里可以添加实际的登录验证逻辑
|
// 这里可以添加实际的登录验证逻辑
|
||||||
// 当前简化处理,直接跳转到平台选择页面
|
// 当前简化处理,直接跳转到平台选择页面
|
||||||
navigateToPlatformSelection();
|
navigateToPlatformSelection(primaryStage);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 添加组件到主容器
|
// 添加组件到主容器
|
||||||
@@ -73,7 +77,7 @@ public class LoginView {
|
|||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void navigateToPlatformSelection() {
|
private void navigateToPlatformSelection(Stage primaryStage) {
|
||||||
new PlatformSelectionView(primaryStage);
|
new PlatformSelectionView(primaryStage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,17 +11,22 @@ module fantaibao.crawler.desktop {
|
|||||||
requires lombok;
|
requires lombok;
|
||||||
requires java.desktop;
|
requires java.desktop;
|
||||||
requires jakarta.annotation;
|
requires jakarta.annotation;
|
||||||
|
requires cn.hutool;
|
||||||
|
requires fastjson;
|
||||||
|
requires java.sql;
|
||||||
|
|
||||||
opens com.fantaibao to spring.core, spring.beans, spring.context,
|
opens com.fantaibao to spring.core, spring.beans, spring.context,
|
||||||
javafx.fxml, javafx.base, javafx.graphics, spring.boot, spring.boot.autoconfigure;
|
javafx.fxml, javafx.base, javafx.graphics, spring.boot, spring.boot.autoconfigure;
|
||||||
opens com.fantaibao.config to spring.core,spring.beans, spring.context;
|
opens com.fantaibao.config to spring.core,spring.beans, spring.context;
|
||||||
opens com.fantaibao.service to spring.core,spring.beans, spring.context;
|
opens com.fantaibao.service to spring.core,spring.beans, spring.context;
|
||||||
|
opens com.fantaibao.page to com.alibaba.fastjson2;
|
||||||
|
|
||||||
|
|
||||||
exports com.fantaibao;
|
exports com.fantaibao;
|
||||||
exports com.fantaibao.service;
|
exports com.fantaibao.service;
|
||||||
exports com.fantaibao.page;
|
exports com.fantaibao.page;
|
||||||
exports com.fantaibao.config;
|
exports com.fantaibao.config;
|
||||||
exports com.fantaibao.base;
|
exports com.fantaibao.base;
|
||||||
|
exports com.fantaibao.model;
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user