【信贷后台管理之登录(一)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


目录结构

在这里插入图片描述


一、项目搭建

找到存放项目的文件夹。打开终端,vue create debtproject,自定义安装
在这里插入图片描述

在这里插入图片描述

二、登录页面

路由组件都放在views文件夹,登录组件LoginView.vue
登录组件里用两个div容器,登录表单用element-ui,密码要求不小于6位数,登录成功后跳转至/home页面。
【想要实现运行成功后,页面主动跳出,可在package.json里添加–open,如下】
在这里插入图片描述
【想要运行成功后的地址不带#号,路由器工作模式选择history模式,在router/index.js】
在这里插入图片描述

需要下载element-ui,在该项目控制台下npm install element-ui -S
【遇到certificate has expired证书过期问题】
在这里插入图片描述
【解决方法】
npm cache clean --force
npm config set strict-ssl false
npm install
然后再次安装element-ui即可

1.引入Element-ui

在main.js完整引入,记得use
在这里插入图片描述

2.LoginView.vue组件

<template>
  <div class="login-box">
    <div class="login-input-box">
      <h1>信贷后台管理系统</h1>
      <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="70px" class="demo-ruleForm">
        <el-form-item label="用户名" prop="username">
          <el-input  v-model="ruleForm.username" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="密码" prop="pass">
          <el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>

</template>

<script >
export default {
  data(){
    // 密码校验,长度不小于8位且不大于20位字符,必须包含大写字母,小写字母,数字和特殊符号
    // var ISPWD =/^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/;
    // // 密码校验
    // const validatePass = (rule, value, callback) =>{
    //   if (!ISPWD.test(this.registerForm.password)) {
    //     callback(new Error("用户密码必须包含大写字母、小写字母、数字和特殊符号"));
    //   } else {
    //     callback();
    //   }
    // }

    // const validatePass = (rule,value,callback){
    //   if(this.ruleForm.pass === '') {
    //     callback(new Error('请输入密码'))
    //   }else if(this.ruleForm.pass.length < 6){
    //     callback(new Error('密码长度不能小于6'))
    //   }else{
    //     callback();
    //   }
    // },
    return{
      ruleForm: {
        username:'',
        pass:'',
      },
      rules:{
        username: [
          {required:true,trigger:'blur',message:'请输入用户名'}
        ],
        pass:[
          {required:true,trigger:'blur',validator:this.validatePass},
        ],
      },
    };
  },

  methods:{
    // 校验规则
    validatePass(rule,value,callback){
      if (value === ""){
        callback(new Error("请输入密码"));
      }else if (value.length < 6){
        callback(new Error("密码不能小于6位数"));
      }else{
        callback();
      }

    },
    submitForm(){
      // 验证规则
      this.$refs.ruleForm.validate((valid) => {
        if (valid) {
          this.login(this.ruleForm);
        }else{
          return false;
        }
      });
    },
    login(){
      this.$router.replace("/home");
    }
  }
}

</script>

<style lagn="scss" scoped>
.login-box{
  display: flex;   /* div可成为flex容器*/
  justify-content: center;  /*上面贴着父元素,居于中间*/
  align-items: center;  /* 左侧贴着父元素,把项目位置调整到中间 */
  height: 100vh; /* 元素撑开和屏幕一致*/
  background-image: url("../assets/login-background.jpg");
  background-size: cover;
}
.login-input-box{
  width: 650px;
  height: 320px;
  background-color: #fff;
  text-align: center;
  padding: 40px 40px 12px 12px;
}
.el-button{
  width: 600px;
}
.el-input{
  width: 600px;
  margin-bottom: 16px;
}
::v-deep .el-input_inner{
  background: #e5e5e5;
}
</style>

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

涉及样式学习参考:https://blog.csdn.net/Zoey_J/article/details/89445844
涉及el-form学习参考:
https://blog.csdn.net/m0_46123285/article/details/136709541
https://blog.csdn.net/xuanyuanjiaqi/article/details/132314536
路由跳转学习参考:https://blog.csdn.net/weixin_44038287/article/details/126136566
登录功能优化参考:https://blog.csdn.net/ccyolo/article/details/126967074

3.router文件的index.js引入组件

在这里插入图片描述


gitee仓库地址

https://gitee.com/sunmyi/debt-project.git
在这里插入图片描述

相关推荐

  1. 【Vue管理后台】用户登录强制修改密码

    2024-03-29 15:56:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 15:56:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 15:56:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 15:56:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 15:56:02       18 阅读

热门阅读

  1. 算法题1两数之和

    2024-03-29 15:56:02       16 阅读
  2. Windows运维_Windows下配置Apache-Haus(Apache2.4)

    2024-03-29 15:56:02       13 阅读
  3. 如何分配FPGA管脚

    2024-03-29 15:56:02       19 阅读
  4. vue3 绑定form弹窗的方式

    2024-03-29 15:56:02       14 阅读
  5. angular 组件传值交互

    2024-03-29 15:56:02       17 阅读
  6. Python进行DevOps实践

    2024-03-29 15:56:02       14 阅读
  7. Calendar日历类

    2024-03-29 15:56:02       17 阅读
  8. Python教程:一文掌握Python多线程(很详细)

    2024-03-29 15:56:02       15 阅读
  9. 离散数对问题

    2024-03-29 15:56:02       16 阅读
  10. CentOS 7 安装python 3.7 需要必要的依赖。

    2024-03-29 15:56:02       15 阅读