- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章前端vue+elementUI如何实现记住密码功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
我们这回使用纯前端保存密码 。
既然是记住密码,前端也就是使用cookie保存,访问时用cookie读取 。
先来了解下cookie的基本使用吧 。
Cookie 。
所有的cookie信息都在document.cookie中存放着,是一个字符串,里面的cookie以分号和空格分隔。就像这样:
1
2
3
|
"key1=value1; key2=value2; key3=value3"
// 使用document.cookie 来获取所有cookie
docuemnt.cookie =
"id="
+value
|
操作cookie 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/**
* 设置cookie值
*
* @param {String} name cookie名称
* @param {String} value cookie值
* @param {Number} expiredays 过期时间,天数
*/
function
setCookie (name, value, expiredays) {
let exdate =
new
Date()
//setDate获取N天后的日期
exdate.setDate(exdate.getDate() + expiredays)
//getDate() 获取当前月份的日 + 过期天数
document.cookie =name+
"="
+encodeURI(value)+
";path=/;expires="
+exdate.toLocaleString()
}
/**
* 获取cookie值
* @param {String} name cookie名称
*/
function
getCookie (name) {
var
arr = document.cookie.split(
";"
)
//转换数组
//["_ga=GA1.1.1756734561.1561034020", " mobile=123" password=456"]
for
(
var
i=0;i<arr.length;i++){
var
arr2 = arr[i].split(
'='
);
// ["_ga", "GA1.1.1756734561.1561034020"]
if
(arr2[0].trim() == name){
return
arr2[1]
}
}
}
/**
* 删除指定cookie值
* @param {String} name cookie名称
*/
function
clearCookie (name) {
setCookie(name,
''
, -1)
}
/**
* 浏览器是否支持本地cookie
*/
function
isSupportLocalCookie () {
let {name, value} = {name:
'name'
, value:
'mingze'
}
setCookie(name, value, 1)
//设置cookie
return
getCookie(name).includes(value)
//includes 判断数组name中是否含有当前value(返回true or false)
}
|
好了了解了cookie我们开始如何实现一个简单的记住密码功能 。
HTML代码 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<
el-form
:model
=
"ruleForm"
:rules
=
"rules"
status-icon
ref
=
"ruleForm"
label-position
=
"left"
label-width
=
"0px"
class
=
"demo-ruleForm login-page"
>
<
h3
class
=
"title"
>系统登录</
h3
>
<
el-form-item
prop
=
"username"
>
<
el-input
type
=
"text"
v-model
=
"ruleForm2.username"
auto-complete
=
"off"
placeholder
=
"用户名"
></
el-input
>
</
el-form-item
>
<
el-form-item
prop
=
"password"
>
<
el-input
type
=
"password"
v-model
=
"ruleForm2.password"
auto-complete
=
"off"
placeholder
=
"密码"
></
el-input
>
</
el-form-item
>
<
el-checkbox
v-model
=
"checked"
style
=
"color:#a0a0a0;margin:0 0 20px 0"
>记住密码</
el-checkbox
>
<
el-form-item
style
=
"width:100%;"
>
<
el-button
type
=
"primary"
style
=
"width:100%;"
@
click
=
"handleSubmit"
:loading
=
"logining"
>登录 </
el-button
>
</
el-form-item
>
</
el-form
>
|
vue代码 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
data(){
return
{
logining:
false
,
checked:
true
ruleForm: {
username:
''
,
password:
''
,
},
rules: {
username: [{required:
true
, message:
'请输入您的帐户'
, trigger:
'blur'
}],
password: [{required:
true
, message:
'请输入您的密码'
, trigger:
'blur'
}]
},
}
},
mounted() {
this
.account()
//获取cookie的方法
},
account(){
if
(document.cookie.length <= 0){
console.log(
this
.getCookie(
'mobile'
))
this
.ruleForm.username =
this
.getCookie(
'mobile'
)
this
.ruleForm.password =
this
.getCookie(
'password'
)
}
},
setCookie(c_name,c_pwd,exdate){
//账号,密码 ,过期的天数
var
exdate =
new
Date()
console.log(c_name,c_pwd)
exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdate)
//保存的天数
document.cookie =
"mobile="
+c_name+
";path=/;expires="
+exdate.toLocaleString()
document.cookie =
"password="
+c_pwd+
";path=/;expires="
+exdate.toLocaleString()
},
getCookie(name){
var
arr = document.cookie.split(
";"
)
//["_ga=GA1.1.1756734561.1561034020", " mobile=123" password=456"]
for
(
var
i=0;i<arr.length;i++){
var
arr2 = arr[i].split(
'='
);
// ["_ga", "GA1.1.1756734561.1561034020"]
if
(arr2[0].trim() == name){
return
arr2[1]
}
}
},
clearCookie(){
this
.setCookie("
","
",-1)
//清除cookie
},
handleSubmit(){
//提交登录
this
.$refs.ruleForm.validate((valid) => {
if
(valid){
this
.logining =
true
;
var
_this =
this
;
if
(_this.checked ==
true
){
//存入cookie
_this.setCookie(_this.ruleForm.username,_this.ruleForm.password,7)
//保存7天
}
else
{
_this.clearCookie();
}
Login({
mobile:_this.ruleForm.username,
password:_this.ruleForm.password
}).then((result) => {
console.log(result)
_this.$alert(
'登陆成功'
)
})
}
}
|
好了,这回的记住密码就到这里,小伙伴们一起努力吧 ^ 0 ^ 。
总结 。
到此这篇关于前端vue+elementUI如何实现记住密码功能的文章就介绍到这了,更多相关vue+elementUI记住密码内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/mingze6576/article/details/103815996 。
最后此篇关于前端vue+elementUI如何实现记住密码功能的文章就讲到这里了,如果你想了解更多关于前端vue+elementUI如何实现记住密码功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我观察到很少有逆向工程师,他们将十进制转换为十六进制的速度如此之快。这简直太神奇了。我一直没有机会问他们。就我个人而言,我真的很讨厌这个转换,而且我总是使用计算器进行转换。 我想知道这种转换是否有某种
我有一个程序使用三个 JTextField 字段作为主要数据输入字段。我想要它,以便当用户终止程序然后再次打开它时,他们的最后一个条目仍将在字段中。 我怎样才能做到这一点?我需要某种数据库还是有更简单
我有以下脚本将 jquery 生成的对象的颜色更改为蓝色: $(".objects_list").live('click', function(event) { $(this).css("co
这个问题在这里已经有了答案: Is it a good idea to memoize all of my react components? (2 个答案) 关闭去年。 我知道使用 React.m
我在 R 中编写了一个递归函数并使用 memoise 来加速它。我试图通过在 Rcpp 中编写它然后记住 Rcpp 函数来进一步加快它的速度,但 R 函数更快。为什么会这样,有什么方法可以加快我的使用
我的应用程序包含几个 View ,我想在应用程序启动且用户尚未完成向导时显示一个小设置。我知道我可以使用 NSUserDefaults 实现此目的,但我不确定如何使其根据 NSUserDefaults
我正在从一台机器(相同版本的Delphi)开发应用程序。该应用程序的原始版本使用了TMS包中的TMoneyEdit组件。在移动项目时,我想删除对该产品的依赖。因此,在源代码中,我删除了TMoneyEd
我有一个触发器,希望将相同的随机值插入两个表中。我该怎么做呢? 在TableAB上插入后创建触发器insertTrigger 开始 插入TableA(id,num)VALUES(RANDOM(),1)
我有以下代码,通过 .swf 解决方案将服务器 IP 复制到客户端的剪贴板。正如您所看到的,它用成功的“已复制”消息替换了“复制 IP”按钮。我该如何让“复制 IP”按钮在显示成功消息 5 秒后返回,
我正在使用 GPS 定位功能,问题是权限弹出窗口一遍又一遍地出现(每次新的网址刷新/按 F5 键)。 我如何记住用户在浏览器中选择的状态(已批准或已拒绝)。 if (navigator.geoloca
有一个按钮(实际上有很多),它有一个事件处理程序: el.onclick = function(){ if(this.className.indexOf("minimized") != -1)
我正在制作一个纯 html+JavaScript 幻灯片。幻灯片位于网站的侧边栏中,该网站为每个具有幻灯片侧边栏的页面加载了 php。唯一没有侧边栏的页面是主页。 幻灯片放映工作正常。然而,可以理解的
我想制作一个 Chrome 扩展程序,它将存储来自用户的潜在大型代码片段(以及代码片段的名称)并使用它们。 我希望用户能够上传包含这些片段的文件(或者更好的是,将这些片段复制并粘贴到扩展程序选项页面的
我有一个方法是 pure function并需要一段时间才能运行。我想记住这个方法,以便后续调用更快。我可以在 Groovy 的文档中看到,您可以通过以下方式内存闭包: foo = {…}.memoi
[jQuery][1] 始终记住您的鼠标触发器,无论是单击还是悬停。因此,如果您鼠标输入和鼠标退出四次,它将执行该事件四次。 如何让它“忘记”触发器,以便当我用鼠标输入和退出触发器时它只执行一次? 编
对于我的开发人员工作,我几乎整天都在 *nix shell 环境中工作,但似乎仍然无法记住我每天不使用的程序的名称和参数细节。我想知道其他“临时健忘症患者”是如何处理这个问题的。你有一个大的备忘单吗?
我有一个表格,在客户填写各种表格后,我希望能够浏览网站,并返回表格并保持填写状态。 我考虑过在浏览器的客户端中保留 cookie,您可能会推荐其他方法吗? 关于代码,这里是 o 想到的 javascr
好的,我已经实现了 Facebook 登录按钮: loginButton.readPermissions = ["public_profile", "email", "user_friends"] l
我在移动应用程序中使用 AngularJS。用户能够将产品添加到订单中。但是我使用了不同的选项卡,以便用户可以在类别之间切换,并且对于每个类别,都会显示属于该类别的产品。这些产品可以添加到他/她的订单
我有一个使用自定义适配器、布局和模型类的 ListView (包含文本和复选框)。我想将选定的复选框保存在 sqlite 数据库中,以便当我导航到另一个 Activity 然后返回时,选定的复选框保持
我是一名优秀的程序员,十分优秀!