tanghaolin
8 天以前 9bee4f48db0c5b99b5683545fac737856d94d082
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">
         <!-- 登录表单 -->
@@ -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,17 +59,17 @@
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 { 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 loginStore = useLogin();
const loginForm = reactive({
   username: 'demo',
   password: '123456',
   username: '',
   password: '',
   captcha: '',
   remember: false,
});
@@ -79,38 +79,58 @@
   password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
   // captcha: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
};
const loading = ref(false);
const logingTipsEmun= {
    "-1": "账户不存在",
    "-2": "密码错误 ",
    "-3": "账号封停",
    "-4": "账号未绑定",
    "1": "正常",
  }
const handleLogin = () => {
   formRef.value.validate((valid: boolean) => {
      if (valid) {
         submitLogin()
         submitLogin();
      } else {
         return false;
      }
   });
};
const submitLogin = async () => {
const submitLogin = () => {
   let form_data = {
      UserType: 0,
      LoginName: loginForm.username,
      PassWord: loginForm.password,
      LoginName:'demo',
      PassWord: '123456',
   };
   let res = await login(form_data);
   let data = res.data.Data;
   if (res.data.Code !== 0) {
      ElMessage.error(res.data.Message);
      return;
   }
   let { redirectPath } = route.query;
   let redirect = "/";
   if (redirectPath != null) {
      redirect = redirectPath;
   }
   //存储登录成功后的用户信息
   loginStore.init(data.User);
   ElMessage.success('登录成功');
   router.replace(redirect);
   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 = () => {