Vue3+SpringBoot实现【登录】【毛玻璃】【渐变色】

news2024/9/28 13:22:28

首先创建Login.vue,编写界面和样式

这个是渐变色背景,登陆框背景为白色

<template>
   <div class="wrapper">
     <div style="margin: 200px auto; background-color: #fff; width: 350px; height: 300px;padding: 20px;
     border-radius: 10px">
       <div style="margin: 20px 0;text-align: center;font-size: 24px"><b>登录</b>
         <el-input size="medium" style="margin: 10px 0" v-model="user.username">
           <template #prefix>
             <el-icon class="el-input__icon">
               <user></user>
             </el-icon>
           </template>
         </el-input>

         <el-input size="medium" style="margin: 10px 0" show-password v-model="user.password">
           <template #prefix>
             <el-icon class="el-input__icon">
               <lock></lock>
             </el-icon>
           </template>
         </el-input>

         <div style="margin: 10px 0; text-align: right">
           <el-button type="primary" size="small" autocomplete="off">登录</el-button>
           <el-button type="primary" size="small" autocomplete="off">注册</el-button>
         </div>
       </div>
     </div>
   </div>
</template>

<script>
import {Lock, User} from "@element-plus/icons";
export default {
  name: "LoginView",
  components: {Lock, User},
  data(){

    return{
      user:{}
    }
  }
}
</script>

<style scoped>
 .wrapper{
   height: 100vh;
   background-image: linear-gradient(to bottom right,#FC466B,#3F5EFB);
   overflow:hidden;
 }
</style>

,如果想要登录框为毛玻璃,可以将上面第二个div的 “background-color: #fff;”去掉

然后把这个div设置为class=login,编写login类的样式如下

 .login{
   background-color:rgba(255,255,255,0.1); //透明度
   backdrop-filter: blur(10px);  //毛玻璃效果
 }

 效果: (如果换一个比较鲜艳的背景,毛玻璃效果会更明显)

设置Login.vue的路由

 绑定登陆按钮的点击时间login 

 编写login事件

 methods:{
    login(){
          this.request.post("http://localhost:8081/login",this.user).then(res =>{
            if(!res){
              this.$message.error("用户名或密码错误")
            }else {
              this.$message.success("登陆成功")
              this.$router.push("/new/home")
            }
          })
    }
  }

定义一个UserDto类

import lombok.Data;

/*
接受前端登陆请求的参数
 */

@Data
public class UserDto {
    private String username;
    private String password;

}

编写接口:

 //登陆的接口  RequestBody是将前端json传后端
    @PostMapping("/login")
    public boolean login(@RequestBody UserDto userDto){
        String username = userDto.getUsername();
        String password = userDto.getPassword();
        //这个if校验最好放在前端做
        if(StrUtil.isBlank(username)||StrUtil.isBlank(username))  {//判断是否为空,且使用了hutool里的工具类
         return false;
        }
        return userService.login(userDto);
    }

编写业务层接口

public boolean login(UserDto userDto) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("username",userDto.getUsername());
        queryWrapper.eq("password",userDto.getPassword());
        User one = getOne(queryWrapper);
        return one!=null;
    }

即可实现登录功能

如果想要退出登陆,其实很简单,给退出绑定一个router-link就可以了

    <el-dropdown-item>
               <router-link to="/login" style="text-decoration: none">退出</router-link>
    </el-dropdown-item>

完善:

添加校验

(1)在把需要校验的部分用el-form表单标签括起来

<el-form  :rules="rules">
         <el-input size="default" style="margin: 10px 0" v-model="user.username">
           <template #prefix>
             <el-icon class="el-input__icon">
               <user></user>
             </el-icon>
           </template>
         </el-input>

         <el-input size="default" style="margin: 10px 0" show-password v-model="user.password">
           <template #prefix>
             <el-icon class="el-input__icon">
               <lock></lock>
             </el-icon>
           </template>
         </el-input>

         <div style="margin: 10px 0; text-align: right">
           <el-button type="primary" size="small" autocomplete="off" @click="login">登录</el-button>
           <el-button type="warning" size="small" autocomplete="off">注册</el-button>
         </div>
       </el-form>

(2)在element-plus官网找到form那一块的校验 Form 表单 | Element Plus (element-plus.org)

将rules绑定属性填进form标签

 然后在return里填写官网给的rules返回的数据形式,编写校验的规则

return {
      user: {},
      rules: {
        username: [
          {required: true, message: '请输入用户名', trigger: 'blur'},
          {min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur'},
        ],
        password: [
          {required: true, message: '请输入用户名', trigger: 'blur'},
          {min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur'},
        ],
      }
    }

再把我们的规则用prop传值写在el-form-item里面

<el-form-item label="Activity name" prop="name">
      <el-input v-model="ruleForm.name" />
    </el-form-item>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/339570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hadoop高可用+mapreduce on yarn集群搭建

虚拟机安装 本次安装了四台虚拟机&#xff1a;hadoop001、hadoop002、hadoop003、hadoop004&#xff0c;安装过程略过 移除虚拟机自带jdk rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps关闭防火墙 systemctl stop firewalld systemctl disable firewalld.service给普…

MyBatis-Plus基本CRUD

MyBatis-Plus基本CRUD三、基本CRUD1、BaseMapper2、插入3、删除a>通过id删除记录b>通过id批量删除记录c>通过map条件删除记录4、通过id修改一条记录5、查询a>根据id查询用户信息b>根据多个id查询多个用户信息c>通过map条件查询用户信息d>查询所有数据6、通…

微软ATP智汇十二道场 · 探索AI 驱动转型(北京专场)

为了推动微软与苏州人工智能产业创新中心共同构建企业级AI创新生态圈&#xff0c;微软ATP定于2023年3月3日在微软亚太研发集团总部&#xff08;北京&#xff09;举办“微软ATP智汇十二道场 探索AI 驱动转型”线下活动。 ▍微软探索AI商用&#xff0c;避免“创新陷阱”ChatGPT …

Lesson 6.6 多分类评估指标的 macro 和 weighted 过程 Lesson 6.7 GridSearchCV 的进阶使用方法

文章目录一、多分类评估指标的 macro 和 weighted 过程1. 多分类 F1-Score 评估指标2. 多分类 ROC-AUC 评估指标二、借助机器学习流构建全域参数搜索空间三、优化评估指标选取1. 高级评估指标的选用方法2. 同时输入多组评估指标四、优化后建模流程在正式讨论关于网格搜索的进阶…

Element UI框架学习篇(六)

Element UI框架学习篇(六) 1 删除数据 1.1 前台核心函数 1.1.1 elementUI中的消息提示框语法 //①其中type类型和el-button中的type类型是一致的,有info灰色,success绿色,danger红色,warning黄色,primary蓝色 //②message是你所要填写的提示信息 //③建议都用,因为比双引号…

字符串装换整数(atoi)-力扣8-java

一、题目描述请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。函数 myAtoi(string s) 的算法如下&#xff1a;读入字符串并丢弃无用的前导空格检查下一个字符&#xff08;假设还未…

合宙ESP32S3-CORE开发板|保姆级|Arduino IDE|windows11|esp32S3支持库|helloword例程:Arduino 环境搭建

Arduino主页网址&#xff1a; Software | Arduino 以windows11版本为例&#xff1a; Arduino IDE最新版本为2.0.3 左边的按钮是直接下载&#xff08;免捐赠&#xff09;&#xff1a; 下载安装完成后&#xff0c;更改软件默认语言&#xff1a; 默认的库是不支持ESP32的&#…

Allegro如何更改铜皮显示密度操作指导

Allegro如何更改铜皮显示密度操作指导 用Allegro做PCB设计的时候,铜皮正常显示模式如下图 铜皮的密度是基本填充满的,Allegro支持更改铜皮的显示密度 如下图 如何更改密度,具体操作如下 点击setup

Element UI框架学习篇(七)

Element UI框架学习篇(七) 1 新增员工 1.1 前台部分 1.1.1 在vue实例的data里面准备好需要的对象以及属性 addStatus:false,//判断是否弹出新增用户弹窗dailog,为true就显示depts:[],//部门信息mgrs:[],//上级领导信息jobs:[],//工作岗位信息//新增用户所需要的对象newEmp:…

Top-1错误率、Top-5错误率等常见的模型算法评估指标解析

Top-1 错误率&#xff1a;指预测输出的概率最高的类别与人工标注的类别相符的准确率&#xff0c;就是你预测的label取最后概率向量里面最大的那一个作为预测结果&#xff0c;如过你的预测结果中概率最大的那个分类正确&#xff0c;则预测正确&#xff0c;否则预测错误。比如预测…

Zabbix 构建监控告警平台(五)

Zabbix 自动发现Zabbix 自动注册1.Zabbix 自动发现 1.1前言 为了满足监控企业成千上万台服务器&#xff0c;因此我们需要使用Zabbix批量监控来实现。自动发现和自动注册。 1.2zabbix-server &#xff08;一&#xff09;1、创建自动发现规则 在“配置”->“自动发现”->“…

Spring Boot 快速入门(绝对经典)

目录 1、理论概述 1.1、什么是Spring Boot? 1.2、Spring Boot的特点 1.3、开发环境 2、实战——创建和配置项目 2.1、Spring Boot项目创建的两种方式 2.1.1、方法一&#xff1a;通过网站构建项目 2.1.2、使用Spring Initializr创建&#xff08;推荐&#xff09; 2.2、…

10个SEO 写作的必读小技巧!包你读完写更好创作

我们都知道写作是需要技巧的&#xff0c;目的是为了让读者有兴趣阅读&#xff0c;所以标题跟内容架构都需要清晰的思路。同样的&#xff0c;撰写SEO部落格文章也需要技巧&#xff0c;但拥有的不仅是传统写文章的技巧而已&#xff0c;而需要将Google的排名因素考虑进去。换句话说…

使用VueBarcode结合vueEasyPrint打印条形码标签

目标&#xff1a; 生成标签并实现打印功能 学习步骤&#xff1a; 1、了解 VueBarcode 2、了解 VueEasyPrint 3、VueBarcode 实践 4、VueEasyPrint 实践 5、VueBarcode VueEasyPrint 合体 一、了解 VueBarcode 点击传送至官网 原文介绍&#xff1a; JsBarcode是一个用JavaScr…

电子学会2020年6月青少年软件编程(图形化)等级考试试卷(四级)答案解析

青少年软件编程&#xff08;Scratch&#xff09;等级考试试卷&#xff08;四级A卷&#xff09; 分数&#xff1a;100.00 题数&#xff1a;30 一、单选题&#xff08;共15题&#xff0c;每题2分&#xff0c;共30分&#xff09; 1. 执行下图程序后&#xff0c;“花名…

Paper——Diffusion Model前向过程和反向过程详解

文章目录Diffusion过程解析前向过程公式详解每一步增加噪声的求解从起始状态到最终状态的公式反向过程损失函数总结公式Diffusion过程解析 前向和后向相互独立&#xff0c;前向过程使用马尔科夫链实现&#xff0c;反向过程采用神经网络进行预测。 前向过程 输入一个原始图片&…

二叉树的四种遍历方式(二)

接上文《二叉树的四种遍历方式&#xff08;一&#xff09;》&#xff08;https://blog.csdn.net/helloworldchina/article/details/128895188&#xff09;&#xff0c;在本文讲述一下第四种遍历方式&#xff0c;即按层次遍历二叉树。 一 讲解 1 先序遍历二叉树&#xff0c; 见…

【Redis】Redis高可用之Redis Cluster集群模式详解(Redis专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于知名金融公…

nodejs+vue地铁站自动售票系统-火车票售票系统vscode

地铁站自动售票系统主要包括个人中心、地铁线路管理、站点管理、购票信息管理、乘坐管理、用户信息管理等多个模块。它使用的是前端技术&#xff1a;nodejsvueelementui 前后端通讯一般都是采取标准的JSON格式来交互。前端技术&#xff1a;nodejsvueelementui,视图层其实质就是…

MWORKS--系统建模与仿真

MWORKS--系统建模与仿真1 系统定义特征2 系统研究2.1 特点与原则2.2 方法百度百科归纳同元杠归纳3 系统建模与仿真3.1 系统、模型、仿真的关系3.2 系统建模4 建模方法4.1 方法4.2 一般流程4.3 目的5 仿真方法5.1 方法5.2 流程参考1 系统定义 系统是由相互作用相互依赖的若干组…