解决用户名重复问题 #5

Merged
p95fco63j merged 1 commits from junmao_branch into develop 3 months ago

@ -104,4 +104,8 @@ public class AppController {
JOptionPane.showMessageDialog(frame, "请输入有效的数字!");
}
}
public UserManager getUserManager() {
return userManager;
}
}

@ -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));

@ -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
});

Loading…
Cancel
Save