当前位置: 首页 > news >正文

16. Vue-element-template记住密码

Vue-element-template 记住密码

1. 在登录页面添加记住密码按钮

  1. 新增参数 rememberMe

    # resources/src/views/login/index.vueloginForm: {username: 'admin',password: '123456',rememberMe: false},
    
  2. 添加复选框

    # resources/src/views/login/index.vue<div style="margin-bottom: 20px;"><el-checkbox v-model="loginForm.rememberMe"><span style="color: #fff; font-size: 12px;"> 记住我 </span></el-checkbox></div>
    
  3. 提交参数

    # resources/src/views/login/index.vuehandleLogin() {…………不用改}
    

2. 在 user module 里改造login方法

  1. 获取 rememberMe 参数, 传给 setToken 方法

    # resources/src/store/modules/user.jslogin({ commit }, userInfo) {const { username, password, rememberMe } = userInforeturn new Promise((resolve, reject) => {login({ username: username.trim(), password: password }).then(response => {const { data } = responsecommit('SET_TOKEN', data.token)setToken(data.token, rememberMe)resolve()}).catch(error => {reject(error)})})},
    
  2. 修改setToken方法, 保存到localStorage

    #resources/src/utils/auth.jsexport function setToken(token, persistent = false) {if (persistent) {Cookies.set(TokenKey, token);return localStorageSetItem(TokenKey, token)} else {return Cookies.set(TokenKey, token)}
    }export function localStorageSetItem(key, value) {const curTime = new Date().getTime()localStorage.setItem(key, JSON.stringify({data: value, time: curTime}))
    }
    
  3. 修改 getToken 和 removeToken

    #resources/src/utils/auth.js
    const TokenKey = 'AUTH-TOKEN';
    const EXP = 30;export function getToken() {let token = Cookies.get(TokenKey)if (!token) {token = localStorageGetItem(TokenKey, EXP)}return token
    }export function removeToken() {localStorageRemoveItem(TokenKey)return Cookies.remove(TokenKey)
    }export function localStorageGetItem(key, exp) {const data = localStorage.getItem(key)const dataObj = JSON.parse(data)if (dataObj === null || new Date().getTime() - dataObj.time > exp * 864e+5) {return null} else {return dataObj.data}
    }export function localStorageRemoveItem(key) {localStorage.removeItem(key)
    }
    

3. 测试

➜  Genes-Admin git:(ogenes) ✗ npm run watch

image-20220901102914341

image-20220901102937796

4. 定义相关文案的翻译,修改默认文案

#resources/src/i18n/langs/en/login.js
#resources/src/i18n/langs/zh_CN/login.js
#resources/src/i18n/langs/zh_HK/login.js之前已经翻译过
export const login = {……rememberMe: '記住我',……
}
#<span style="color: #000; font-size: 12px;"> 记住我 </span>
<span style="color: #000; font-size: 12px;"> {{ $t("loginForm.rememberMe") }} </span>

相关文章:

16. Vue-element-template记住密码

Vue-element-template 记住密码 1. 在登录页面添加记住密码按钮 新增参数 rememberMe # resources/src/views/login/index.vueloginForm: {username: admin,password: 123456,rememberMe: false},添加复选框 # resources/src/views/login/index.vue<div style"margin-…...

Python文件打包成exe文件

文章目录 背景安装pyinstaller开始打包总结 背景 今天因为在线将pdf转为word被收费了&#xff0c;有点不爽&#xff0c;所以自己动手撸一个pdf转word的小工具&#xff0c;想着打包成exe给朋友使用&#xff0c;万一哪天会用到呢&#xff1f; 安装pyinstaller 打开cmd命令窗口…...

【简单实用框架】【十大排序算法直接调用】【可移植】

☀️博客主页&#xff1a;CSDN博客主页&#x1f4a8;本文由 萌萌的小木屋 原创&#xff0c;首发于 CSDN&#x1f4a2;&#x1f525;学习专栏推荐&#xff1a;面试汇总❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&#…...

微服务架构之RPC调用

在单体应用时&#xff0c;一次服务调用发生在同一台机器上的同一个进程内部&#xff0c;也就是说调用发生在本机内部&#xff0c;因此也被叫作本地方法调用。在进行服务化拆分之后&#xff0c;服务提供者和服务消费者运行在两台不同物理机上的不同进程内&#xff0c;它们之间的…...

One2Multi Graph Autoencoder for Multi-view Graph Clustering

One2Multi Graph Autoencoder for Multi-view Graph Clustering | Proceedings of The Web Conference 2020 (acm.org) 目录 Abstract 1 Introduction 2 Model 2.1 Overview 2.2 One2Multi Graph Convolutional Autoencoder Informative graph convolutional encoder M…...

Java编程实现输入数的阶乘(for循环):读入一个小于 10 的整数 n,输出它的阶乘 n。(for循环)

public class Main { public static void main(String[] args) { Scanner input new Scanner(System.in); //输入提示语句 System.out.print(“请输入一个小于10的数&#xff1a;”); //从键盘获取值 int num input.nextInt(); //定义一个总和 int sum 1; //开始判断输入数是…...

算法提高-搜索-FloodFill和最短路

FloodFill和最短路 FloodFillAcwing 1097. 池塘计数AcWing 1098. 城堡问题AcWing 1106. 山峰和山谷 最短路AcWing 1076. 迷宫问题AcWing 188. 武士风度的牛AcWing 1100. 抓住那头牛 FloodFill Acwing 1097. 池塘计数 //acwing 1097. 池塘计数 #include <iostream> #inc…...

【蓝桥杯单片机第八届国赛真题】

【蓝桥杯单片机第八届国赛真题】 文章目录 【蓝桥杯单片机第八届国赛真题】前言一、真题二、源码 前言 有幸进入国赛&#xff0c;为自己大学最后一个比赛画上完满的句号^^ 下面为蓝桥杯单片机第八届国赛程序部分&#xff0c;功能差不多都实现了&#xff0c;可能存在小bug&#…...

一种简单的Android骨架屏实现方案----0侵入0成本

对骨架屏的理解 什么是骨架屏 所谓骨架屏&#xff0c;就是在页面进行耗时加载时&#xff0c;先展示的等待 UI, 以告知用户程序目前正在运行&#xff0c;稍等即可。 等待的UI大部分是 loading 转圈的弹窗&#xff0c;有的是自己风格的小动画。其实大同小异。而骨架屏无非也是一…...

【Kubernetes 架构】了解 Kubernetes 网络模型

Kubernetes 网络使您能够在 k8s 网络内配置通信。它基于扁平网络结构&#xff0c;无需在主机和容器之间映射端口。 Kubernetes 网络支持容器化组件之间的通信。这种网络模型的主要优点是不需要在主机和容器之间映射端口。然而&#xff0c;配置 Kubernetes 网络模型并不是一件容…...

shell

一、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间。 二、判断web服务是否运行 三、使用curl命令访问第二题的web服务&#xff0c;看能否正常访问&#xff0c;如果能正常访问&#xff0c;…...

springboot+ssm+java校园二手物品交易系统vxkyj

样需要经过市场调研&#xff0c;需求分析&#xff0c;概要设计&#xff0c;详细设计&#xff0c;编码&#xff0c;测试这些步骤&#xff0c;基于Java语言、Jsp技术设计并实现了校园二手物品交易系统。系统主要包括个人中心、商家管理、用户管理、商品分类管理、商品信息管理、商…...

Android系统内置应用

Android系统内置应用 背景 客户提供APK&#xff0c;需要集成进系统&#xff0c;并且不可卸载 Android原生是怎么做的&#xff1f; 已Launcher3为例&#xff0c;apk是位于/system/priv-app/Launcher3目录下 AOSP系统内置app步骤 1.在package/apps/目录下创建相应的文件夹如&…...

CMMI实施需要准备什么:

1. 人力资源 实施中会涉及到EPG过程改进小组、QA、试点项目团队等人力资源&#xff1a; 1) 专职人员&#xff1a;1-2名 即在CMMI实施推广期内&#xff0c;基本上100%的时间投入。 2) 质量人员&#xff1a;1-更多名 组建质量管理部门&#xff0c;实施体系执行的监控&#x…...

【ARM AMBA AXI 入门 1 - AXI 握手协议】

文章目录 1.1 AXI 双向握手机制简介1.1.1 信号列表1.1.2 双向握手目的1.1.3 握手过程 1.2 数据通路的握手要求1.2.1 读数据通路1.2.2 读地址通路1.2.3 写数据通路1.2.4 写地址通路1.2.5 写回复通路1.2.6 全信号 1.3 不同数据通路间的约束关系1.3.1 读操作约束关系1.3.2 写操作约…...

详解uni-app应用生命周期函数

详解uni-app应用生命周期函数 详解uni-app应用生命周期函数 文章目录 详解uni-app应用生命周期函数前言一、应用生命周期函数二、页面生命周期函数总结 前言 UNI-APP学习系列之详解uni-app应用生命周期函数 一、应用生命周期函数 函数名说明onLaunch当uni-app 初始化完成时触…...

【WebFlux】List指定bean引用对象更新后同步到List

Java 8的流式API实现 如果你想在WebFlux中更新List中指定bean的引用对象并将其同步到List中&#xff0c;你可以使用Java 8的流式API来完成这个任务。 以下是一个例子&#xff1a; List<MyBean> myBeanList new ArrayList<>(); MyBean myBean1 new MyBean(); My…...

【JavaSE】Java基础语法(二十六):Collection集合

文章目录 1. 数组和集合的区别2. 集合类体系结构3. Collection 集合概述和使用【应用】4. Collection集合的遍历【应用】5. 增强for循环【应用】 1. 数组和集合的区别 相同点 都是容器,可以存储多个数据不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型…...

jmeter做接口压力测试_jmeter接口性能测试

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简单。因为jmeter是java开发的&#xff0c;所以运行的时候必须先要安装jdk才可以。jmeter是免…...

网络编程 lesson5 IO多路复用

select 当需要在一个或多个文件描述符上等待事件发生时&#xff0c;可以使用select函数。 select函数是一个阻塞调用&#xff0c;它会一直等待&#xff0c;直到指定的文件描述符上有事件发生或超时。 select函数详解 int select(int nfds, fd_set *readfds, fd_set *writefd…...

从论文到代码:手把手复现OpenPose手部检测(CMU开源模型),并教你用MediaPipe做个对比测试

从论文到实践&#xff1a;OpenPose与MediaPipe手部关键点检测深度评测 在计算机视觉领域&#xff0c;手部关键点检测技术正逐渐成为人机交互、增强现实和虚拟现实应用的核心组件。不同于面部或全身姿态估计&#xff0c;手部检测需要处理更精细的动作和更复杂的遮挡情况。本文将…...

Qwen2-VL-2B-Instruct助力Java开发:智能代码注释与文档生成实战

Qwen2-VL-2B-Instruct助力Java开发&#xff1a;智能代码注释与文档生成实战 写Java代码最烦什么&#xff1f;对我来说&#xff0c;除了调试那些神出鬼没的Bug&#xff0c;就是写注释和文档了。明明代码逻辑自己一清二楚&#xff0c;但要把它转化成清晰、规范的文档&#xff0c…...

MoveCertificate终极指南:Android 7-15系统证书管理全解析

MoveCertificate终极指南&#xff1a;Android 7-15系统证书管理全解析 【免费下载链接】MoveCertificate 支持Android7-15移动证书&#xff0c;兼容magiskv20.4/kernelsu/APatch, Support Android7-15, compatible with magiskv20.4/kernelsu/APatch 项目地址: https://gitco…...

Faster-Whisper架构解析:基于CTranslate2的高性能语音识别优化方案

Faster-Whisper架构解析&#xff1a;基于CTranslate2的高性能语音识别优化方案 【免费下载链接】faster-whisper plotly/plotly.js: 是一个用于创建交互式图形和数据可视化的 JavaScript 库。适合在需要创建交互式图形和数据可视化的网页中使用。特点是提供了一种简单、易用的 …...

PROFINET通信进阶:S7-1200作为服务器与S7-200 SMART的高效数据交换

PROFINET通信进阶&#xff1a;S7-1200作为服务器与S7-200 SMART的高效数据交换 在工业自动化领域&#xff0c;PROFINET通信协议因其高实时性和稳定性而广受青睐。当S7-1200 PLC作为服务器与S7-200 SMART进行数据交换时&#xff0c;如何优化通信性能成为工程师们关注的焦点。本文…...

.NETCore Serilog 代码设置相关参数说明及按Sink设置不同级别(不同日志级别),使用异步方式写日志

rollingInterval设置为RollingInterval.Day与fileSizeLimitBytes配合使用&#xff1a; 在.NET Core Serilog中&#xff0c;同时设置rollingInterval RollingInterval.Day和fileSizeLimitBytes参数并不会产生配置冲突。这两个参数实际上是互补的&#xff0c;共同提供了更灵活的…...

NcmpGui:解锁网易云音乐NCM格式的终极桌面解决方案

NcmpGui&#xff1a;解锁网易云音乐NCM格式的终极桌面解决方案 【免费下载链接】ncmppGui 一个使用C编写的转换ncm文件的GUI工具 项目地址: https://gitcode.com/gh_mirrors/nc/ncmppGui 你是否曾因网易云音乐的NCM格式文件无法在其他播放器上正常播放而感到困扰&#x…...

KART-RERANK大模型实战:Python爬虫数据智能排序与相关性分析

KART-RERANK大模型实战&#xff1a;Python爬虫数据智能排序与相关性分析 你是不是也遇到过这种情况&#xff1f;用Python爬虫吭哧吭哧抓了一大堆数据&#xff0c;结果发现里面什么都有&#xff1a;有用的、没用的、相关的、跑题的、高质量的、纯广告的……看着满屏的文本&…...

OpenVoice语音合成技术全解析:从痛点突破到多场景落地实践

OpenVoice语音合成技术全解析&#xff1a;从痛点突破到多场景落地实践 【免费下载链接】OpenVoice 项目是MyShell AI开源的即时语音克隆技术OpenVoice&#xff0c;旨在提供一种能够快速从少量语音样本中准确复制人类声音特征&#xff0c;并实现多种语言及语音风格转换的解决方案…...

别再到处找安装包了!Win10下Apache 2.4保姆级安装与配置(附网盘资源)

Win10下Apache 2.4终极安装指南&#xff1a;从零避坑到高效部署 第一次在Windows上配置Apache服务器时&#xff0c;我盯着命令行里反复出现的"Syntax error"提示整整两小时——直到发现是因为配置文件里少了个引号。这种看似简单的环境搭建&#xff0c;往往藏着无数…...