From 8c3d15eae99d51193e20ff222dedf96cdba57b33 Mon Sep 17 00:00:00 2001
From: tanghaolin <1723298894@qq.com>
Date: 星期二, 15 四月 2025 09:21:43 +0800
Subject: [PATCH] 删除多余照片

---
 src/views/Login.vue |   68 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/src/views/Login.vue b/src/views/Login.vue
index 5967d41..ed56c53 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -1,5 +1,5 @@
 <template>
-	<div class="login-container min-h-screen flex items-center justify-center">
+	<div class="login-container min-h-screen flex items-center justify-center" v-loading="loading">
 		<div class="login-background"></div>
 		<div class="login-content max-w-md w-full relative z-10">
 			<!-- 鐧诲綍琛ㄥ崟 -->
@@ -26,7 +26,7 @@
 						/>
 					</el-form-item>
 
-					<el-form-item prop="captcha" class="flex space-x-4 mb-2">
+					<!-- <el-form-item prop="captcha" class="flex space-x-4 mb-2">
 						<el-input
 							v-model="loginForm.captcha"
 							placeholder="璇疯緭鍏ュ浘鐗囬獙璇佺爜"
@@ -35,7 +35,7 @@
 							class="custom-input flex-1 mr-2"
 						/>
 						<img src="@/assets/login/captcha.png" alt="楠岃瘉鐮�" class="h-[40px] w-[100px] cursor-pointer" @click="refreshCaptcha" />
-					</el-form-item>
+					</el-form-item> -->
 
 					<div class="flex items-center justify-between mb-4">
 						<el-checkbox v-model="loginForm.remember">璁颁綇璐﹀彿</el-checkbox>
@@ -45,8 +45,8 @@
 					<el-button type="primary" class="w-full" size="large" @click="handleLogin">鐧� 褰�</el-button>
 
 					<div class="mt-4 text-center space-x-2">
-						<router-link to="/register" class="text-[#40a9ff]">绔嬪嵆娉ㄥ唽</router-link>
-						<span class="text-gray-300">路</span>
+						<!-- <router-link to="/register" class="text-[#40a9ff]">绔嬪嵆娉ㄥ唽</router-link>
+						<span class="text-gray-300">路</span> -->
 						<router-link to="/" class="text-[#40a9ff]">杩斿洖棣栭〉</router-link>
 					</div>
 				</el-form>
@@ -59,11 +59,14 @@
 import { Key, Lock, User } from '@element-plus/icons-vue';
 import { ElMessage } from 'element-plus';
 import { reactive, ref } from 'vue';
+import { useLogin } from '@/stores/useLogin';
+import { useRoute } from 'vue-router';
 import { useRouter } from 'vue-router';
-
+import { login } from '@/api/login';
 const router = useRouter();
+const route = useRoute();
 const formRef = ref();
-
+const loginStore = useLogin();
 const loginForm = reactive({
 	username: '',
 	password: '',
@@ -74,19 +77,60 @@
 const rules = {
 	username: [{ required: true, message: '璇疯緭鍏ョ敤鎴峰悕', trigger: 'blur' }],
 	password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }],
-	captcha: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }],
+	// captcha: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }],
 };
+const loading = ref(false);
+
+const logingTipsEmun= {
+    "-1": "璐︽埛涓嶅瓨鍦�",
+    "-2": "瀵嗙爜閿欒 ",
+    "-3": "璐﹀彿灏佸仠",
+    "-4": "璐﹀彿鏈粦瀹�",
+    "1": "姝e父",
+  }
 
 const handleLogin = () => {
 	formRef.value.validate((valid: boolean) => {
 		if (valid) {
-			// 杩欓噷娣诲姞鐧诲綍閫昏緫
-			ElMessage.success('鐧诲綍鎴愬姛');
-			router.push('/');
+			submitLogin();
 		} else {
 			return false;
 		}
 	});
+};
+const submitLogin = () => {
+	let form_data = {
+		UserType: 0,
+		LoginName:'demo',
+		PassWord: '123456',
+	};
+	loading.value = true;
+	login(form_data)
+		.then((res) => {
+			loading.value = false;
+			let data = res.data.Data;
+			if (res.data.Code !== 0) {
+				ElMessage.error(res.data.Message);
+				return;
+			}
+			if(data.Status !== 1){
+				ElMessage.error(logingTipsEmun[data.Status]);
+				return;
+			}
+			let { redirectPath } = route.query;
+			let redirect = '/';
+			if (redirectPath != null) {
+				redirect = redirectPath;
+			}
+			//瀛樺偍鐧诲綍鎴愬姛鍚庣殑鐢ㄦ埛淇℃伅
+			loginStore.init(data.User);
+			ElMessage.success('鐧诲綍鎴愬姛');
+			router.replace(redirect);
+		})
+		.catch((err) => {
+			loading.value = false;
+			ElMessage.error(err);
+		});
 };
 
 const refreshCaptcha = () => {
@@ -107,7 +151,7 @@
 	left: 0;
 	right: 0;
 	bottom: 0;
-	background-image: url('@/assets/images/login-bg.png');
+	/* background-image: url('@/assets/images/login-bg.png'); */
 	background-size: cover;
 	background-position: center;
 	opacity: 0.1;

--
Gitblit v1.9.3