严智鑫
2024-04-16 e208aa1ef8e861dba168e8d83ab3066fc9f1e02d
UI-Project/src/views/LoginView.vue
@@ -1,12 +1,10 @@
<script lang="ts" setup>
import {onMounted, onUnmounted, reactive, ref} from "vue"
import {useRouter,useRoute } from 'vue-router'
import {onMounted, onUnmounted, reactive, ref} from 'vue'
import {useRoute, useRouter} from 'vue-router'
import type {FormInstance, FormRules} from 'element-plus'
import { ElMessage } from "element-plus";
import { Lock,Avatar } from '@element-plus/icons-vue'
import {ElMessage} from 'element-plus'
import request from '@/utils/request'
import userInfo from '@/stores/userInfo'
const store=userInfo()
let ruleFormRef  = ref<FormInstance>()
@@ -14,11 +12,11 @@
const route = useRoute()
const userForm = reactive({
  userId: '',
  pass: ''
  userName: '',
  password: '',
})
if (typeof(route.query.id) != "undefined"){
if (typeof route.query.id != 'undefined') {
  userForm.userId = <string>route.query.id
}
@@ -40,7 +38,7 @@
const rules = reactive<FormRules<typeof userForm>>({
  userId: [{ validator: validateUser, trigger: 'blur' }],
  pass: [{ validator: validatePass, trigger: 'blur' }]
  pass: [{validator: validatePass, trigger: 'blur'}],
})
//登陆方法
@@ -49,10 +47,12 @@
  formEl.validate((valid) => {
    if (valid) {
      loginLoadings.value=true
      request.post('/user/login',
          userForm).then((res) => {
      request
          .post('/userinfo/login', userForm)
          .then((res) => {
        if(res['code']==200){
          store.$patch({user:res.data})
              console.log(res.data)
          router.push('/main')
          ElMessage.success(`登录成功`)
@@ -61,8 +61,9 @@
          loginLoadings.value=false
          return false
        }
      }).catch(error => {
        ElMessage.error("服务器连接失败")
          })
          .catch((error) => {
            ElMessage.error('服务器连接失败')
        loginLoadings.value=false
        return false
      })
@@ -71,7 +72,6 @@
}
function register() {
  router.push({
    path:'/register',
  })
@@ -92,7 +92,6 @@
onUnmounted(() => {
  window.removeEventListener('keydown', keyDown)
})
</script>
<template>
@@ -111,53 +110,43 @@
      </div>
    </div>
      <div id="div-login">
        <el-form
            @submit.native.prevent
        <el-form @submit.native.prevent
            ref="ruleFormRef"
            :model="userForm"
            status-icon
            :rules="rules"
        >
                 :rules="rules">
        <div id="center">
            <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">账号</div>
          <el-form-item prop="userId">
            <el-input
            style="width: 340px;"
                v-model="userForm.userId"
              <el-input style="width: 340px;"
                        v-model="userForm.userName"
                type="text"
                autocomplete="off"
                :prefix-icon="Avatar"
                placeholder="请输入账号"
            />
                        placeholder="请输入账号"/>
          </el-form-item>
            <div style="color: rgba(78, 89, 105, 1);margin-bottom: 10px;">密码</div>
          <el-form-item prop="pass">
            <el-input
            style="width: 340px;"
                v-model="userForm.pass"
              <el-input style="width: 340px;"
                        v-model="userForm.password"
                type="password"
                autocomplete="off"
                :prefix-icon="Lock"
                show-password
                placeholder="请输入密码"
            />
                        placeholder="请输入密码"/>
          </el-form-item>
          <el-form-item id="submitForm">
            <el-button
                :loading="loginLoadings"
              <el-button :loading="loginLoadings"
                type="primary"
                native-type="submit"
                @click="submitForm(ruleFormRef)"
                @keyup.enter.native="keyDown(e)"
                plain
            >登录
                         plain>登录
            </el-button>
            <el-button
                :loading="registerLoadings"
              <el-button :loading="registerLoadings"
                type="primary"
                @click="register"
                plain
            >注册
                         plain>注册
            </el-button>
          </el-form-item>
@@ -173,14 +162,15 @@
.mainDiv{
  overflow: hidden;
  min-width: 718px;
  background-image: url("../../src/assets/background.jpg");
  background-image: url('../../src/assets/background.jpg');
}
#main-login{
  margin: 150px auto 0 auto;
  height: 70vh;
  width: 80vw;
}
#img-div{
  width: 55%;
  height: 100%;
@@ -189,10 +179,12 @@
  align-items: center;
  float: left;
}
#img-pic{
  max-height: 90%;
  max-width: 100%;
}
#div-login{
  margin-top: 5%;
  /* margin-top: 20%; */
@@ -205,20 +197,23 @@
  border-radius: 4px;
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19);
}
#center{
  margin-top: -30px;
}
.el-form{
  width: 60%;
  margin: 20% auto auto;
}
#submitForm {
  display: flex;
  justify-content: space-evenly;
  margin-top: 2rem;
}
:deep(.el-form-item__content){
  flex: unset
:deep(.el-form-item__content) {
  flex: unset;
}
</style>