【1】Vite+Vue3 登录功能

news/2024/10/22 16:33:32/

一、介绍

在当今前端开发的领域里,快速、高效的项目构建工具以及使用最新技术栈是非常关键的。Vite+Vue3 组合为一体的项目实战示例专栏将带领你深入了解和掌握这一最新的前端开发工具和框架。

作为下一代前端构建工具,Vite 在开发中的启动速度和热重载方面具有突出的优势。而Vue3,则以更加简化的API和更高效的响应式系统为开发者带来了更加流畅的开发体验。结合使用Vite和Vue3,你将能够快速搭建稳定、高效的前端项目。

在这个专栏里,我们将通过100+个实战示例,详细介绍Vite+Vue3的各个方面。从项目的创建和配置开始,我们会一步一步地引导你使用Vite搭建项目的基本框架,并深入讲解Vue3的语法和特性。随后,我们将演示如何构建常见的前端组件、路由管理和状态管理,以及与后端API的交互等实际项目开发中常见的场景。

无论你是从零开始学习Vite+Vue3,还是希望进一步提升你的前端开发能力,本专栏都能为你提供实用的知识和实战经验。通过这100+个实战示例的学习,你将能够掌握Vite+Vue3的核心概念和技术,并能够在实际项目中灵活应用。

赶快加入我们吧,开始你的Vite+Vue3项目实战之旅!

二、系统中登录是什么 ❔ ❔ ❔

登录功能是指用户通过提供一定的凭证(如用户名和密码)来验证自己的身份,并获得对系统的访问权限。

三、登录功能的作用是什么 ❔ ❔ ❔

1、身份验证 ✨ ✨

通过登录功能,系统可以验证用户提供的身份信息,确保只有合法用户可以访问系统的资源和功能。

2、安全性 ✨ ✨

登录功能可以提升系统的安全性,防止未经授权的访问和恶意操作。

3、定制化设置 ✨ ✨

登录功能可以根据用户的身份和权限,将特定的设置、数据和功能展示给用户,实现个性化的用户体验。

四、常见的系统登录方式有那些 ❔ ❔ ❔

1、用户名和密码 🌟 🌟

用户通过输入注册的用户名和密码进行登录。

2、第三方登录 🌟 🌟

用户可以通过社交媒体账号(如微信、QQ、微博等)进行登录。

3、邮箱验证 🌟 🌟

用户通过输入注册时绑定的邮箱和验证链接进行登录。

4、手机号验证 🌟 🌟

用户通过输入注册时绑定的手机号和短信验证码进行登录。

5、指纹识别和面部识别 🌟 🌟

某些设备和系统支持使用指纹或面部识别技术进行登录。

6、双因素验证 🌟 🌟

除了输入用户名和密码外,用户还需要提供额外的身份验证信息,如手机验证码或动态口令。

至于选择什么方式,不同系统根据需求和安全性要求,可能会选择其中的一种或多种登录方式来实现用户登录功能。

五、完整代码实现 👇 👇 👇

由于只是一个demo演示,知道如何实现一个登录功能以后,可以自行去扩展验证码。不管使用哪一种登录方式,对于前端来说都是大差不差的,因为我们使用都是要去调用后端接口进行数据的校验。其次我的脚手架是提前搭建好的,代码中的图标使用可能和常见的写法有些区别。详细请看Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3项目(组件、图标等按需引入)[保姆级]

<template><div class="login"><el-form ref="loginFormRef" :model="loginForm" :rules="loginRules" class="login-form" autocomplete="on" label-position="left"><div class="login-form--title"><h1><i-noto-tiger-face class="animate__infinite animate__animated animate__rotateIn" />Etc.End的系统管理平台</h1></div><el-form-item prop="userName"><el-input ref="userNameRef" v-model="loginForm.userName" placeholder="请输入用户名" name="userName"><template #prefix><i-ep-avatar /></template></el-input></el-form-item><el-form-item prop="passWord"><el-inputref="passwordRef"v-model="loginForm.passWord"placeholder="请输入密码"show-passwordname="passWord"@blur="capsTooltip = false"><template #prefix><i-carbon-password /></template></el-input></el-form-item><el-button :loading="loading" type="primary" class="login-form--submit" @click.prevent="handleLogin"><template #icon><i-carbon-login /></template>登录</el-button></el-form></div>
</template><script lang="ts">
import {defineComponent, onMounted, reactive, ref, toRefs} from "vue";type LoginType = {userName: string;passWord: string;
};export default defineComponent({setup() {const userNameRef = ref<Element>();const passwordRef = ref<Element>();const loginFormRef = ref<Element>();const state = reactive({loginForm: {userName: '',passWord: '',} as LoginType,loginRules: {userName: [{ message: '请输入正确的用户名', required: true, trigger: 'blur' }],passWord: [{ message: '密码长度为6~20', required: true, trigger: 'blur', min: 6, max: 20 }],},loading: false,capsTooltip: false,});const handleLogin = () => {(loginFormRef.value as any).validate(async (valid: boolean) => {if (valid) {state.loading = true;try {// 这里去做一些调用接口的操作,验证用户输入的用户名密码是否正确。然后进行下一步操作console.log(state.loginForm);} catch (e) {console.log(e);} finally {setTimeout(() => {state.loading = false;}, 0.5 * 1000);}} else {return false;}});};onMounted(() => {if (state.loginForm.userName === '') {(userNameRef.value as any).focus();} else if (state.loginForm.passWord === '') {(passwordRef.value as any).focus();}});return {...toRefs(state),loginFormRef,userNameRef,passwordRef,handleLogin,}}
})
</script><style scoped lang="scss">.login {height: 100%;width: 100%;overflow: hidden;background: #2d3a4b;-moz-background-size:100% 100%;background-size:100% 100%;.login-form {min-width: 320px;max-width: 520px;width: auto;padding: 160px 35px 0;margin: 0 auto;overflow: hidden;.login-form--title {position: relative;margin: 0 auto 40px auto;h1 {font-size: 40px;color: #eee;font-weight: bold;letter-spacing: 2px;display: flex;align-items: center;justify-content: center;svg {margin-right: 4px;}}}.login-form--submit {width: 100%;margin: 0 auto;display: flex;align-items: center;justify-content: center;}}}
</style>

六、核心代码解析 👇 👇 👇

1、效果图中的老虎头会一直转动是因为下面代码中加入的class。使用了Animate.css动画库。

<h1><i-noto-tiger-face class="animate__infinite animate__animated animate__rotateIn" />Etc.End的系统管理平台
</h1>

2、页面初始化后,输入用户名或者密码为空时就获得焦点。

onMounted(() => {if (state.loginForm.userName === '') {(userNameRef.value as any).focus();} else if (state.loginForm.passWord === '') {(passwordRef.value as any).focus();}
});

3、用户点击登录按钮以后,调用handleLogin方法,你需要对其进行扩展,比如调用后端的登录校验接口,失败进行提示,成功以后如果有token需要进行cookie或者LocalStorage的缓存。接着进行路由跳转。

const handleLogin = () => {(loginFormRef.value as any).validate(async (valid: boolean) => {if (valid) {state.loading = true;try {// 这里去做一些调用接口的操作,验证用户输入的用户名密码是否正确。然后进行下一步操作console.log(state.loginForm);} catch (e) {console.log(e);} finally {setTimeout(() => {state.loading = false;}, 0.5 * 1000);}} else {return false;}});
};

我是Etc.End。每一次进步都值得庆祝,每一次努力都值得赞赏。不要忽视自己的成长,每一步都是向前迈进的力量。如果我的文章对你有所帮助的话,希望能留下你的点赞和收藏。😍。

👇 👇 👇 👇 👇 👇 👇 👇 👇 👇 👇 👇


http://www.ppmy.cn/news/918473.html

相关文章

12306爬虫抢票软件代码

1、需要登录页面&#xff0c;手动输入账号密码&#xff01; 2、地查询车次&#xff0c;输入 起点、目的、出发时间&#xff0c;找到车次&#xff0c;就进行选择 3、选择完成后&#xff0c;就查询该车次是否有余票&#xff08;进行显示&#xff09;如果有就进行购买&#xff0c…

【火车票】心蓝抢票软件

实时监控抢票&#xff0c;需要 交钱购买注册。。升学 向海春 有买&#xff0c;哈哈 转载于:https://www.cnblogs.com/smilexumu/p/7489850.html

程序员放假抢票软件

分流抢票&#xff1a;https://www.bypass.cn/ 抢火车票神器

火车票软件哪个好用_抢火车票软件哪个好用?

展开全部 360抢票软件好用。 360今年除对抢票王产品进行技术升级之外&#xff0c;还加大了对手机端e68a8462616964757a686964616f31333431366432抢票软件的技术研发&#xff0c;并增加数百台服务器支持&#xff0c;使手机购票成功率显著提升。用户除了通过PC端抢票王刷票之外&a…

火车票网上抢票软件推荐(亲测)

2019抢票软件哪个好&#xff1f;面对众多的抢票软件&#xff0c;很多小伙伴们都不知道哪个成功率高&#xff0c;今天小编为大家整理了2019抢票成功率高软件推荐&#xff0c;一起来get下吧。 2019年哪款软件抢票成功率高&#xff1f;2019抢票软件哪个好&#xff1f; 1、 去哪儿旅…

微言软件出品——微言火车票抢票大师

微言软件出品——微言火车票抢票大师 2012/1/1 19:26:30 微言软件 微言抢票大师&#xff0c;是全网首个具备抢票功能的软件, 依托研发团队强大的浏览器技术能力&#xff0c;使用嵌入式IE进入中铁官网购票系统自动托管式&#xff0c;全程可视化抢票&#xff0c;让你体验软件…

python爬虫抢火车票_如何用python写一个简单的12306抢票软件|python 爬火车票 教程...

python 如果抓取验证码图片 类似12306的登录验证码图片 这个以前做次。最大的麻烦是码的识别算法的识别率太低。12306那种网站登陆错3次就限制你20分钟。所以除非你有33%以上的识别率否则不要尝试了。 通常做法是另存验证码图片&#xff0c;通常收集几十个&#xff0c;然后训…

12306Bypass-分流抢票 火车票抢票攻略

2019独角兽企业重金招聘Python工程师标准>>> 12306Bypass-分流抢票 火车票抢票攻略 为什么要写这个 想分享些心得,让更多有缘异乡人能抢到回家的票。算是为社会做出点贡献吧(实际上,就像12306bypass 作者说的,帮助别人抢票也只是让部分人优先得到票而已,总会…