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
|
||||
# Log file
|
||||
*.log
|
||||
*.log.*.gz
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -56,7 +56,7 @@
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>1.2.83</version>
|
||||
<version>2.0.9</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -29,6 +29,8 @@ public class DesktopApplication extends Application {
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage) {
|
||||
// 设置窗口标题
|
||||
primaryStage.setTitle("中差评采集工具");
|
||||
// 添加窗口关闭事件监听器
|
||||
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;
|
||||
|
||||
import com.fantaibao.DesktopApplication;
|
||||
import javafx.application.Platform;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.fantaibao.config.GlobalConfig;
|
||||
import com.fantaibao.model.LoginUserDTO;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.Scene;
|
||||
@@ -11,21 +13,14 @@ import javafx.scene.control.PasswordField;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.WindowEvent;
|
||||
|
||||
public class LoginView {
|
||||
|
||||
private Stage primaryStage;
|
||||
|
||||
public LoginView(Stage primaryStage) {
|
||||
this.primaryStage = primaryStage;
|
||||
initialize();
|
||||
initialize(primaryStage);
|
||||
}
|
||||
|
||||
private void initialize() {
|
||||
// 设置窗口标题
|
||||
primaryStage.setTitle("中差评采集工具");
|
||||
|
||||
private void initialize(Stage primaryStage) {
|
||||
// 创建主容器
|
||||
VBox root = new VBox();
|
||||
root.setAlignment(Pos.CENTER);
|
||||
@@ -58,9 +53,18 @@ public class LoginView {
|
||||
|
||||
// 添加登录按钮事件处理
|
||||
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();
|
||||
}
|
||||
|
||||
private void navigateToPlatformSelection() {
|
||||
private void navigateToPlatformSelection(Stage primaryStage) {
|
||||
new PlatformSelectionView(primaryStage);
|
||||
}
|
||||
}
|
||||
@@ -11,17 +11,22 @@ module fantaibao.crawler.desktop {
|
||||
requires lombok;
|
||||
requires java.desktop;
|
||||
requires jakarta.annotation;
|
||||
requires cn.hutool;
|
||||
requires fastjson;
|
||||
requires java.sql;
|
||||
|
||||
opens com.fantaibao to spring.core, spring.beans, spring.context,
|
||||
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.service to spring.core,spring.beans, spring.context;
|
||||
|
||||
|
||||
opens com.fantaibao.page to com.alibaba.fastjson2;
|
||||
|
||||
|
||||
exports com.fantaibao;
|
||||
exports com.fantaibao.service;
|
||||
exports com.fantaibao.page;
|
||||
exports com.fantaibao.config;
|
||||
exports com.fantaibao.base;
|
||||
exports com.fantaibao.model;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user