vue账号密码登录增加记住密码功能

2023-11-02

实现思路:

刷新登录页面时查看cookie中是否存储用户名、密码、是否记住密码,如果有就将cookie中的用户名和密码回显到form表单中,如果没有则将用户输入的用户名和密码存入cookie

html代码:(只截取了部分账号密码功能部分代码,主要是记住密码功能)

<el-tab-pane label="账号登录" name="first">
          <el-form-item prop="username">
            <span class="svg-container">
              <svg-icon icon-class="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">
              <svg-icon icon-class="password" />
            </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">
              <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
            </span>
          </el-form-item>
          <el-checkbox v-model="isRemember" style="margin-bottom:10px;">记住密码</el-checkbox>
          <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">登录</el-button>
</el-tab-pane>

js代码:

export default {
  data() {
    return {
        loginForm: {
        username: '',
        password: ''
      },
      isRemember: false, // 默认不记住密码
        }
    },
    mounted() {
    this.getCookie()// 判断cookie中的值
    },
     methods: {
     getCookie() {
      if (document.cookie.length > 0) {
        var arr = document.cookie.split(';')
        for (var i = 0; i < arr.length; i++) {
          var userKey = arr[i].split('=')
          if (userKey[0].trim() === 'userName') {
            this.loginForm.username = userKey[1]
          } else if (userKey[0].trim() === 'userPws') {
            this.loginForm.password = userKey[1]
          } else if (userKey[0].trim() === 'isRemember') {
            this.isRemember = Boolean(userKey[1])
          }
        }
      }
    },
    // 存储
    setCookie(userName, userPws, days) {
      var curDate = new Date()
      curDate.setTime(curDate.getTime() + 24 * 60 * 60 * 1000 * days) // 设置cookie存储的有效时间
      window.document.cookie = 'userName' + '=' + userName + ';path=/;expires=' + curDate.toGMTString()
      window.document.cookie = 'userPws' + '=' + userPws + ';path=/;expires=' + curDate.toGMTString()
      window.document.cookie = 'isRemember' + '=' + this.isRemember + ';path=/;expires=' + curDate.toGMTString()
        },
        handleLogin() {
            this.loading = true
          // 登录时判断是否选择记住密码,如果是则设置cookie不是清除cookie,然后再调用登录函数进行登录
          if (this.isRemember === true) {
            this.setCookie(this.loginForm.username, this.loginForm.password, 7)
          } else {
            this.setCookie('', '', -1)// 清除cookie
          }
            //后面调登录接口
        }
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue账号密码登录增加记住密码功能 的相关文章

  • 未调用 Ajax 回调。如何解决这个问题?

    我再次来这里寻求您的建议 我有一些 AJAX 调用 用于从我的编辑器 PHP 在线编辑器 运行代码 大家可以来看看my site http web guru99 com 我有一些 ajax 调用来发送编辑器的数据并接收输出 问题 for 循
  • 今天(儒勒·凡尔纳)的 Google 涂鸦是如何运作的?

    相信很多人都已经看过今天的了 2011 02 08 谷歌的涂鸦 http www google com logos verne html 如果涂鸦发生变化 请链接到 CNN 上的文章 http edition cnn com 2011 TE
  • $(window).resize() 和打印预览模式

    我有一段非常简单的代码 可以在调整大小后刷新窗口 window resize function location reload 当我尝试在 Chrome 中打开打印预览模式 Ctrl P 时 它也会刷新它 有什么想法如何避免这种行为吗 要确
  • Firefox 中的 jQuery 表单提交

    请帮我解决一个问题 我有这个代码 用于通过锚点提交表单
  • jQuery:如何将 jQuery 日期选择器放入 Bootstrap Popover 中? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我试图在引导弹出窗口中显示 jquery datepicker 并尝试了解决方案引导程序弹出窗口内的日期选择器 关闭 https
  • 数字和数字对象有什么区别?

    存储在普通变量中的数字有什么区别 var foo 5 和一个数字对象 var bar new Number 5 数字对象可以用来做什么 A Number对象包含一些有用的方法和属性 例如 数字对象方法 Method Description
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • 在 HTML5 中堆叠多个画布

    我试图使用相互堆叠的四块画布 但除了顶部画布的内容外 它们的内容不会显示 我按照我希望它们显示的顺序将 z index 值放入其中 但只有最上面的一个显示内容 它们的位置是绝对的 z 索引是 1 2 3 和 4 是否还有其他原因导致它们不显
  • 如何从谷歌地图中的纬度和经度获取地址位置? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 所以我有纬度和经度就像44 4647452 and 7 3553838 我需要获得如下地址 米兰 意大利 str 肯尼迪 89 我怎样才能
  • jQuery 显示隐藏左侧滑动面板

    我希望在单击按钮时面板从浏览器的左边缘滑动 并在单击同一按钮 切换 时隐藏面板 Html div class panel div a href class slider arrow show raquo a CSS panel width
  • d3js v5 + Topojson v3 关于加入 csv 和 json 的优化

    为了制作地图 我需要将一些值从 csv 导入到 json直接在代码中 为了加载 json 和 csv 文件 我使用 Promise 对象的异步操作 并使用两个循环和一个公共键在 json 文件上添加新属性 for var i 0 i lt
  • 无法获取子 DOM 元素

    注 由于问题有点复杂 为了可读性对代码进行了抽象 We ve a
  • 查找第一个可滚动父级

    我遇到这种情况 需要将元素滚动到视口中 问题是我不知道哪个元素是可滚动的 例如 在纵向中 主体是可滚动的 而在横向中 它是另一个元素 还有更多情况会更改可滚动元素 现在的问题是 给定一个需要滚动到视口中的元素 找到其第一个可滚动父元素的最佳
  • 过滤文件上传仅用于文本文件

    我使用的是 Firefox 版本 14 0 1 我需要过滤上传文件窗口以仅显示 txt files 我的浏览器不仅仅支持文本文件 text plain 我可以通过指定此格式来限制图像文件 image 但我只需要过滤文本文件在文件选择器窗口中
  • 在 Graal.js 中使用 java 类

    使用 Graal js 如何将 java 类导入到 JS 脚本中 以下代码适用于 Nashorn JJS 但不适用于 Graal js 因为没有Java type 在graal中 我需要在某个时候调用truffle吗 var ArrayLi
  • 在单页应用程序上重用 Google Maps API 实例

    假设我有一个单页应用程序 Angular JS 应用程序 并且我在元素 id 上绘制一个 Google 地图实例googleMap var mapInstance new google maps Map document getElemen
  • 地理编码服务与 gMap 搜索之间的差异结果

    我想获取此地址的纬度和经度 Boulevard de la Marne Zone industrielle COULOMMIERS 77120 France 我将 api 添加到我的页面 当我使用 gmaps 时 结果很好 但是当我想通过
  • 通过 Javascript 填充 ReactJS HTML 表单

    我正在开发一个应用程序 在打开第 3 方网站后 我可以在浏览器上下文中运行我自己的 Javascript 作为一个基于reactjs构建并具有登录表单的示例网站 您可以参考此链接 我正在尝试在reactjs生成的表单中填写用户名和密码 但是
  • 嵌套对象的 setState

    我有一个嵌套对象作为状态 并且在组件中有一个表单 我正在考虑每次用户在表单中输入某些内容时更新状态 并且为了避免为每个输入创建许多函数 我正在考虑使用 switch 创建单个函数 使用 switch 创建单一函数是个好主意吗 如何更新对象的
  • 只允许在输入字段中输入数字

    我想要打开电话号码字段这个网站 http myfrugaltech com dev savoo register 只接受数字或数字 我无权编辑 HTML 代码 那么可以使用 jQuery 通过定位字段 ID 来完成此操作吗 如果可以的话 该

随机推荐

  • 在Android Studio3.6中打开Android Device Monitor的一种解决方案

    前言 从Android Studio 3 0开始 Android Device Monitor就被弃用了 3 1被废弃 并于3 2被移除 即不能再通过Tools gt Android gt Android Device Monitor来打开
  • JAVA获取机器的MAC地址

    JAVA获取机器的MAC地址 需求 获取机器的mac地址 问题 一些国产操作系统获取不到MAC地址 以下搜集了一些获取mac地址的方法 1 获取MAC地址 ps 该方法在银河麒麟中可用 public static String getMAC
  • 网站域名服务器 地址查询,查看网站dns域名服务器ip地址查询

    查看网站dns域名服务器ip地址查询 内容精选 换一换 公网域名解析是基于Internet网络的域名解析过程 可以把人们常用的域名 如www example com 转换成用于计算机连接的IP地址 如1 2 3 4 公网域名解析支持通过直接
  • 用Python搭建匿名代理池

    01 写在前面 常听到很多人抱怨自己的IP因爬虫次数太多而被网站屏蔽 不得不频繁使用各种代理IP 却又因为网上的公开代理大部分都是不能使用 而又要花钱花精力去申请VIP代理 几番波折又遭屏蔽 特此写一篇如何利用Python搭建代理池的文章
  • adc0832工作原理详解_ADC0832

    include include ADC0832 c code uchar seven seg 0xc0 0xf9 0xa4 0xb0 0x99 0x92 0x82 0xf8 0x80 0x90 共阳数码管0 9 0时为有效断 uchar c
  • 提升工作效率,这5个Jupyter Notebook “插件”,你有必要了解!

    点上方 菜鸟学Python 选择 星标 471篇原创干货 第一时间送达转自 机器之心 Jupyter Notebook 是一个很棒的教学 探索和编程环境 但其功能不足也是出了名的 幸好 有许多方法可以改进这个不错的工具 如 Jupyter
  • 从零搭建若依(Ruoyi-Vue)管理系统(5)--整合日志实现

    本章结束后对应的节选代码文件 Gangbb Vue 05 Log 项目地址 https github com Gang bb Gangbb Vue 历史遗留TODO 第三章 mybatis缓存暂时没用到 后面整合redis后用redis做缓
  • python学会基础之后要做什么检查_Python基本语法学完了,接下来不知道要干什么?...

    不知道题主打算往什么方向发展 我说说自己的学习过程 题主可以适当参考 我学完语法过后马上开始学习爬虫 因为觉得爬虫很酷 很有趣 跟着网上的教程写了几个爬虫过后 发现自己只知道要这么写 但不知道为什么要这样写 于是又花了一点时间 学习了HTM
  • nginx代理请求到内网不同服务器

    需求 之前用的是frp做的内网穿透 但是每次电脑断电重启 路由或者端口会冲突 现在使用汉土云盒替换frp 需要把公网ip映射到任意一台内网服务器上 然后在这台内网服务器上用Nginx做代理即可访问内网其它服务器 如果内网仅一台服务器则不需要
  • nginx-1.20*安装check模块

    主动地健康检查 nignx定时主动地去ping后端的服务列表 当发现某服务出现异常时 把该服务从健康列表中移除 当发现某服务恢复时 又能够将该服务加回健康列表中 使用第三访模块nginx checkcheck模块下载 1 若健康检查包类型为
  • Qt之如何获取主窗口的指针

    QMainWindow getMainWindow foreach QWidget w qApp gt topLevelWidgets if QMainWindow mainWin qobject cast
  • NIO是什么?适用于何种场景?

    NIO与IO的最大区别就是 当读取数据的时候 NIO读取之后需要缓冲 是面向缓冲区的 而IO不需要缓冲 是面向流的 IO是阻塞的 就意味着当一个线程调用read 或write 时 该线程被阻塞 直到有一些数据被读取 或数据完全写入 该线程在
  • 支持STEM学习的九个方式

    随着STEM教育的兴起 一些国家把STEM教育提升到了国家战略层面 相继出台了促进STEM人才培养的政策措施 加大STEM教育的公共和私人投资 整合政府 大中小学 企业 科研机构 社区和家庭多方力量 共同促进STEM教育发展 接下来 格物斯
  • 如何在树莓派上使用Nginx搭建本地站点并通过内网穿透实现远程访问

    文章目录 1 Nginx安装 2 安装cpolar 3 配置域名访问Nginx 4 固定域名访问 5 配置静态站点 安装 Nginx 发音为 engine x 可以将您的树莓派变成一个强大的 Web 服务器 可以用于托管网站或 Web 应用
  • svg转换png,svg转png格式步骤

    svg转换png svg转png格式步骤 在过去一年多的工作经历中 我接触到了大量的图片 认识到了各种图片格式 每种格式图片拥有的属性是不一样的 就像我们每个人所具备的属性性格特点不同一个道理 比如SVG是一种图形文件格式 用户可以直接用代
  • 网络错误代码

    网络错误代码 又称ADSL错误代码 ADSL Asymmetric Digital Subscriber Line 非对称数字用户环路 是中国电信报提供的一种新的数据传输方式 它因为上行和下行带宽不对称 因此称为非对称数字用户线环路 它采用
  • 混淆矩阵的计算方式

    下图中有三个序列 L表示标签值 P表示预测值 n表示分类数 我们需要计算n L P来计算预测结果值 当L和P都取最大时 得出的结果就是其最大计算空间 例如下图 L 0 5 P 0 5 则n L P 0 35 然后我们将n L P映射到36维
  • Linux的环境配置文件----.bashrc文件

    bashrc文件主要保存个人的一些个性化设置 如命令别名 路径等 也即在同一个服务器上 只对某个用户的个性化设置相关 它是一个隐藏文件 需要使用ls a来查看 bash history 记录之前输入的命令 bash logout 当你退出时
  • 南大通用GBase8s 常用SQL语句(256)

    使用 FILE TO 选项 当您执行 SET EXPLAIN FILE TO 语句时 开启说明输出 SET EXPLAIN FILE TO 语句可更改说明输出的缺省的文件名称 直到会话结束为止 或直到发出另一 SET EXPLAIN 语句为
  • vue账号密码登录增加记住密码功能

    实现思路 刷新登录页面时查看cookie中是否存储用户名 密码 是否记住密码 如果有就将cookie中的用户名和密码回显到form表单中 如果没有则将用户输入的用户名和密码存入cookie html代码 只截取了部分账号密码功能部分代码 主