From 9f8395fab13ca4b230a0f7d62636e209745c91d4 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期日, 28 九月 2025 14:16:18 +0800
Subject: [PATCH] feat: 完善注册流程的文件上传功能

---
 web/src/views/login/index.vue |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/web/src/views/login/index.vue b/web/src/views/login/index.vue
index 995bd4f..a8b0433 100644
--- a/web/src/views/login/index.vue
+++ b/web/src/views/login/index.vue
@@ -62,6 +62,8 @@
 import { useRouter } from 'vue-router'
 import { ElMessage } from 'element-plus'
 import type { FormInstance, FormRules } from 'element-plus'
+import { loginApi } from '@/utils/graphql'
+import { setToken, setUserInfo } from '@/utils/auth'
 
 const router = useRouter()
 const loginFormRef = ref<FormInstance>()
@@ -93,17 +95,38 @@
     await loginFormRef.value.validate()
     loading.value = true
     
-    // TODO: 璋冪敤鐧诲綍API
-    // 妯℃嫙鐧诲綍
-    setTimeout(() => {
-      localStorage.setItem('token', 'mock-token-' + Date.now())
-      ElMessage.success('鐧诲綍鎴愬姛')
-      router.push('/')
-      loading.value = false
-    }, 1000)
+    // 璋冪敤鐧诲綍API
+    const response = await loginApi({
+      phone: loginForm.phone,
+      password: loginForm.password
+    })
     
-  } catch (error) {
+    // 淇濆瓨token鍜岀敤鎴蜂俊鎭�
+    setToken(response.token)
+    setUserInfo(response.userInfo)
+    
+    ElMessage.success('鐧诲綍鎴愬姛')
+    router.push('/')
+    
+  } catch (error: any) {
     console.error('鐧诲綍澶辫触:', error)
+    
+    // 鏄剧ず閿欒淇℃伅
+    let errorMessage = '鐧诲綍澶辫触'
+    if (error.message) {
+      if (error.message.includes('鐢ㄦ埛涓嶅瓨鍦�')) {
+        errorMessage = '鐢ㄦ埛涓嶅瓨鍦紝璇锋鏌ユ墜鏈哄彿'
+      } else if (error.message.includes('瀵嗙爜涓嶆纭�')) {
+        errorMessage = '瀵嗙爜涓嶆纭紝璇烽噸鏂拌緭鍏�'
+      } else if (error.message.includes('娌℃湁鏉冮檺')) {
+        errorMessage = '鎮ㄦ病鏈夎闂潈闄愶紝璇疯仈绯荤鐞嗗憳'
+      } else {
+        errorMessage = error.message
+      }
+    }
+    
+    ElMessage.error(errorMessage)
+  } finally {
     loading.value = false
   }
 }

--
Gitblit v1.8.0