class LoginManager { constructor(apiUrl) { this.apiUrl = apiUrl; // 存储API的URL } validateInput(username, password) { const invalidChars = /[^a-zA-Z0-9]/; // 定义一个正则表达式,匹配非法字符 if (invalidChars.test(username) || invalidChars.test(password)) { return false; // 如果输入包含非法字符,则验证失败 } return true; // 否则验证成功 } async login(username, password) { if (!this.validateInput(username, password)) { alert("用户名和密码只能包含字母和数字!"); // 验证失败时弹出提示 return; } try { const response = await fetch(this.apiUrl, { // 发送POST请求到服务器 method: 'POST', headers: { 'Content-Type': 'application/json' // 设置请求头部为JSON格式 }, body: JSON.stringify({ username, password }) // 将用户名和密码转换为JSON字符串 }); if (response.ok) { const data = await response.json(); // 如果请求成功,解析JSON数据 return data; // 返回数据 } else { throw new Error('登录失败!'); // 如果响应不成功,抛出错误 } } catch (error) { console.error('登录请求失败:', error); // 捕获错误并在控制台输出 } } } export default LoginManager; // 导出LoginManager类