From 20d01f507d32e3cfd0b0806ee70d3c711a746d5b Mon Sep 17 00:00:00 2001 From: tianyuan <2861334240@qq.com> Date: Sat, 11 Oct 2025 20:42:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=94=A8=E6=88=B7=E5=90=8D?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controller/AppController.java | 4 ++++ src/controller/UserManager.java | 8 ++++++++ src/ui/RegisterPanel.java | 11 ++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/controller/AppController.java b/src/controller/AppController.java index d9ec606..33da71f 100644 --- a/src/controller/AppController.java +++ b/src/controller/AppController.java @@ -104,4 +104,8 @@ public class AppController { JOptionPane.showMessageDialog(frame, "请输入有效的数字!"); } } + + public UserManager getUserManager() { + return userManager; + } } \ No newline at end of file diff --git a/src/controller/UserManager.java b/src/controller/UserManager.java index c0d819d..f5fd984 100644 --- a/src/controller/UserManager.java +++ b/src/controller/UserManager.java @@ -25,6 +25,14 @@ public class UserManager { return users.containsKey(email); } + public boolean isUsernameExists(String username) { + for (User user : users.values()) { + if (user.getUsername().equalsIgnoreCase(username)) { + return true; + } + } + return false; + } // 修改 addUser 方法,接收 username 参数 public void addUser(String email, String password, String username) { users.put(email, new User(email, password, username)); diff --git a/src/ui/RegisterPanel.java b/src/ui/RegisterPanel.java index 553b26f..a4d68d0 100644 --- a/src/ui/RegisterPanel.java +++ b/src/ui/RegisterPanel.java @@ -1,6 +1,7 @@ package ui; import controller.AppController; +import controller.UserManager; import util.EmailUtil; import javax.swing.*; @@ -109,7 +110,15 @@ public class RegisterPanel extends JPanel { JOptionPane.showMessageDialog(this, "密码需包含大小写字母与数字,长度6-10位!"); return; } - + //防止用户名重复 + if (controller.getUserManager().isUsernameExists(username)) { + JOptionPane.showMessageDialog(this, "用户名已存在,请更换!"); + return; + } + if (username.isEmpty() || password.isEmpty() || email.isEmpty() || code.isEmpty()) { + JOptionPane.showMessageDialog(this, "请填写完整信息!"); + return; + } controller.handleRegister(email, password, username); // 传递username }); -- 2.34.1