iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue实现记住账号密码功能的操作过程
  • 1960
分享到

Vue实现记住账号密码功能的操作过程

2024-04-02 19:04:59 1960人浏览 八月长安
摘要

目录实现思路:记住账号密码实现流程npm安装base64依赖实现思路:   用户登录时若勾选“记住我”功能选项,则将登录名和密码(加密后)存入本地缓存,下次登

实现思路:

  用户登录时若勾选“记住我”功能选项,则将登录名和密码(加密后)存入本地缓存,下次登录页面加载时自动获取保存好的账号和密码(需解密),回显到登录输入框中。

  说到存入本地缓存,大家想到的一定是cookies、localStorage、sessionStorage,不过后者我是不推荐使用的,咱们既然需求是记住密码那肯定是长时间或到下次取消时失效,但sessionStorage仅在当前会话下有效,关闭浏览器窗口后就被清除了,所以并不适用于我们当前的需求,cookies呢可以手动设置过期时间,超过有效期则失效。未设置过期时间,关闭浏览器窗口后就被清除了,显然是符合我们开发需求的,localStorage呢除非主动清除localStorage里的信息,否则将永远存在,关闭浏览器窗口后下次启动任然存在,这个也是符合我们开发需求的,根据业务需求我选择的是localStorage,下面是我实现的具体步骤,废话不多说直接开干。

<el-fORM
      ref="loginForm"
      :model="loginForm"
      :rules="loginRules"
      class="login-form"
      auto-complete="on"
      label-position="left"
    >
      <div class="user-login">
        <div class="title-container">
          <span class="title">用户登录</span>
          <span class="annotation">BACKGROUND LOGIN</span>
        </div>
        <div class="core-container">
          <el-form-item prop="username">
            <span class="svg-container">
              <i class="icon el-icon-user" />
            </span>
            <el-input
              ref="username"
              v-model="loginForm.username"
              placeholder="请输入用户名称"
              name="username"
              type="text"
              tabindex="1"
              auto-complete="on"
            />
          </el-form-item>
          <el-form-item prop="passWord">
            <span class="svg-container">
              <i class="icon el-icon-lock" />
            </span>
            <el-input
              :key="passwordType"
              ref="password"
              v-model="loginForm.password"
              :type="passwordType"
              placeholder="请输入密码"
              name="password"
              tabindex="2"
              auto-complete="on"
              @keyup.enter.native="handleLogin"
            />
            <span class="show-pwd" @click="showPwd">
              <img
                src="@/icons/png/pawyc.png"
                v-if="passwordType === 'password'"
              />
              <i class="el-icon-view" v-else></i>
            </span>
          </el-form-item>
            <el-checkbox
              v-model="checked"
              label="记住密码"
              name="type"
            ></el-checkbox>
        </div>
        <el-button
          class="loginBtn"
          :loading="loading"
          type="primary"
          style="width: 100%; margin-bottom: 30px"
          @click.native.prevent="handleLogin(loginForm)"
          >立即登录</el-button
        >
      </div>
    </el-form>

记住账号密码实现流程

密码加密:为提高安全性,密码存储前需进行加密处理。目前加密方式有很多种,我这里选用了base64。

npm安装base64依赖

//安装
npm install --save js-base64
//引入
const Base64 = require("js-base64").Base64
const Base64 = require('js-base64').Base64
export default {
  data() {
    return {
      loginForm: {
        username: '',
        password: '',
      },
      checked: false,
    };
  },
  mounted () {
    let username = localStorage.getItem('username')
    if (username) {
      this.loginForm.username = localStorage.getItem('username')
      this.loginForm.password = Base64.decode(localStorage.getItem('password'))// base64解密
      this.checked = true
    }
  },
    // 立即登录
    handleLogin (loginForm) {
      this.$refs.loginForm.validate(async (isOK) => {
        if (isOK) {
          
          if (this.checked) {
            let password = Base64.encode(this.loginForm.password) // base64加密
            localStorage.setItem('username', this.loginForm.username)
            localStorage.setItem('password', password)
          } else {
            localStorage.removeItem('username')
            localStorage.removeItem('password')
          }
          try {
            let encrypt = new JSEncrypt() // 新建JSEncrypt对象
            encrypt.setPublicKey(this.publicKey) // 设置公钥
            let password = encrypt.encrypt(this.loginForm.password) // 对密码进行加密
            this.loading = true
            await this['user/login']({
              username: this.loginForm.username,
              password: password,
              captcha: this.captchaKey + ':' + this.loginForm.captcha,
              isRememberMe: this.loginForm.isRememberMe,
              isScanLogin: this.loginForm.isScanLogin ? 1 : 0
            }).then((res) => {
              this.$router.push(
                {
                  path:'/transitionPage',
                  query:{
                    username:this.loginForm.username
                  }
                }
              )
            })
          } catch (error) {
            this.$message.error('用户名或密码错误!')
          } finally {
            //  不论执行try 还是catch 都会执行finally 去关闭转圈
            this.loading = false
          }
        }
      })
    }
  },
};

进行到这里也就算是完成这个需求了

这个需求的核心代码我标一下


           if (this.checked) {
             let password = Base64.encode(this.loginForm.password) // base64加密
             localStorage.setItem('username', this.loginForm.username)
             localStorage.setItem('password', password)
          } else {
             localStorage.removeItem('username')
             localStorage.removeItem('password')
           }

到此这篇关于Vue实现记住账号密码功能的文章就介绍到这了,更多相关Vue记住密码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue实现记住账号密码功能的操作过程

本文链接: https://www.lsjlt.com/news/154189.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue实现记住账号密码功能的操作过程
    目录实现思路:记住账号密码实现流程npm安装base64依赖实现思路:   用户登录时若勾选“记住我”功能选项,则将登录名和密码(加密后)存入本地缓存,下次登...
    99+
    2024-04-02
  • Vue如何实现记住账号密码功能
    这篇“Vue如何实现记住账号密码功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue如何实现记住账号密码功能”文章吧。实...
    99+
    2023-07-02
  • Vue实现登录记住账号密码功能的思路与过程
    目录实现思路这里有三种方法来存储账号密码:功能界面记住账号密码功能的具体实现密码加密localStoragecookies总结实现思路 用户登录时若勾选“记住我”功能选项,则将登录名...
    99+
    2024-04-02
  • Vue如何实现登录记住账号密码功能
    本篇内容主要讲解“Vue如何实现登录记住账号密码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue如何实现登录记住账号密码功能”吧!实现思路用户登录时若勾选“记住我”功能选项,则将登录名和...
    99+
    2023-06-21
  • Android实现记住密码小功能
    本文实例为大家分享了Android实现记住密码小功能的具体代码,供大家参考,具体内容如下 以下有三个点 第一点是记住密码, 第二点是点击隐藏点击显示, 第三点是登录存储。 XML布...
    99+
    2024-04-02
  • Android中使用SharedPreferences完成记住账号密码的功能
    效果图:记住密码后,再次登录就会出现账号密码,否则没有。分析:SharedPreferences可将数据存储到本地的配置文件中SharedPreferences会记录CheckBox的状态,如果CheckBox被选,则将配置文件中记录的账号...
    99+
    2023-05-30
    android sharedpreferences roi
  • JavaWeb 中Cookie实现记住密码的功能示例
    本文主要内容:•1、什么是Cookie•2、Cookie带来的好处•3、Cookie的主要方法 一、什么是Cookiecookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段。Co...
    99+
    2023-05-31
    java web cookie
  • Android实现登陆界面的记住密码功能
    本文实例为大家分享了Android实现登陆界面记住密码功能的具体代码,供大家参考,具体内容如下 所需工具 一、复选框控件:CheckBox,二、SharedPreferences用于...
    99+
    2024-04-02
  • LocalStorage如何实现记住用户和密码功能
    这篇文章主要介绍了LocalStorage如何实现记住用户和密码功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 随着HTML5...
    99+
    2024-04-02
  • 微信小程序记住密码的功能简单几步实现
    目录实现思路实现源码实现思路 其实实现的核心思路非常简单,就是通过 wx.setStorageSync() 与 wx.getStorageSync() 方法在登录后将登录的信息进行存...
    99+
    2023-01-28
    微信小程序记住密码 小程序记住密码
  • Android中的密码记住功能怎么利用 sharedPreferences实现
    本篇文章给大家分享的是有关Android中的密码记住功能怎么利用 sharedPreferences实现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。编写界面交互代码:pack...
    99+
    2023-05-31
    sharedpreferences android roi
  • Android中怎么使用SQLite实现记住密码功能
    这期内容当中小编将会给大家带来有关Android中怎么使用SQLite实现记住密码功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体内容如下package com.example.alimj...
    99+
    2023-05-31
    android sqlite
  • Android如何实现登陆界面的记住密码功能
    这篇文章主要介绍“Android如何实现登陆界面的记住密码功能”,在日常操作中,相信很多人在Android如何实现登陆界面的记住密码功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android如何实现登陆...
    99+
    2023-06-30
  • html5中如何使用localStorage实现记住密码功能
    这篇文章给大家分享的是有关html5中如何使用localStorage实现记住密码功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTML5 提供了两种在客户端存储数据的新方法...
    99+
    2024-04-02
  • Android中怎么实现登录记住多个密码功能
    这篇文章将为大家详细讲解有关Android中怎么实现登录记住多个密码功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在popouWindow里面加上ListView,数据是把List以字符...
    99+
    2023-05-31
    android
  • 如何在Android应用中实现一个记住密码功能
    本篇文章给大家分享的是有关如何在Android应用中实现一个记住密码功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、打开之前完成的Case_login进行修改再编辑二、将...
    99+
    2023-05-31
    android roi
  • vue粘贴复制功能的实现过程记录
    目录引言1. 项目需求图展示:1. 安装第三方插件方法(不推荐)2. 浏览器自带Document.execCommand()复制方法(不推荐)3. Clipboard.writeTe...
    99+
    2024-04-02
  • SSM实现mysql数据库账号密码密文登录功能
    引言       咱们公司从事的是信息安全涉密应用的一些项目研发一共有分为三步,相比较于一般公司和一般的项目,对于信息安全要求更加严格,领导要求数据量和用户...
    99+
    2024-04-02
  • Android怎么实现保存QQ账号与密码功能
    今天小编给大家分享一下Android怎么实现保存QQ账号与密码功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.UI界面...
    99+
    2023-06-30
  • Android实现保存QQ账号与密码功能(文件存储)
    目录1.UI界面2.构建工具类3.编写界面交互代码4.运行程序 写在前面:今天用保存QQ账号和密码的实战演练,带大家掌握Android存储中最基本的文件存储方式 文件存储是Andro...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作