From 2ee3f12888f5901c8eddabaa08464007d295112d Mon Sep 17 00:00:00 2001 From: heshunme Date: Sun, 30 Jun 2024 17:01:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E5=AE=8C=E5=96=84login?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/authentication/Login.vue | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/views/authentication/Login.vue b/src/views/authentication/Login.vue index 21b485d..bd4a9da 100644 --- a/src/views/authentication/Login.vue +++ b/src/views/authentication/Login.vue @@ -10,19 +10,31 @@ const rememberMe = ref(false); const handleLogin = async () => { console.log('Logging in with', { username: username.value, password: password.value, rememberMe: rememberMe.value }); + try { const response = await axios.post('/api/login', { username: username.value, password: password.value, }); - if (response.data === 'Login successful!') { - ElMessage.success('登录成功'); + + if (response.status === 200) { + const data = response.data; + ElMessage.success(data.message); + // 保存token到本地存储或Vuex状态管理 + localStorage.setItem('token', data.token); // 处理登录成功逻辑,例如跳转到主页 + // router.push('/home'); } else { - ElMessage.error('用户名或密码错误'); + // 处理非200的情况 + ElMessage.error('登录失败,请稍后再试'); } } catch (error) { - ElMessage.error('登录失败,请稍后再试'); + if (error.response && error.response.status === 401) { + const data = error.response.data; + ElMessage.error(data.message); + } else { + ElMessage.error('登录失败,请稍后再试'); + } } };