103 lines
4.0 KiB
HTML
103 lines
4.0 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>修改密码</title>
|
||
<link rel="stylesheet" href="/static/layui/css/layui.css">
|
||
<link rel="stylesheet" href="/static/css/style.css">
|
||
</head>
|
||
<body>
|
||
<div class="layui-fluid">
|
||
<div class="layui-card">
|
||
<div class="layui-card-body">
|
||
<form class="layui-form" lay-filter="changePasswordForm">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">原密码</label>
|
||
<div class="layui-input-block">
|
||
<input type="password" name="old_password" required lay-verify="required"
|
||
placeholder="请输入原密码" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">新密码</label>
|
||
<div class="layui-input-block">
|
||
<input type="password" name="newPassword" required lay-verify="required|password"
|
||
placeholder="请输入新密码" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">确认密码</label>
|
||
<div class="layui-input-block">
|
||
<input type="password" name="confirmPassword" required lay-verify="required|confirmPassword"
|
||
placeholder="请再次输入新密码" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit lay-filter="passwordSubmit">修改</button>
|
||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="/static/layui/layui.js"></script>
|
||
<script>
|
||
layui.use(['form', 'layer'], function(){
|
||
var form = layui.form;
|
||
var layer = layui.layer;
|
||
|
||
// 自定义验证规则
|
||
form.verify({
|
||
password: [
|
||
/^[\S]{6,12}$/,
|
||
'密码必须6到12位,且不能出现空格'
|
||
],
|
||
confirmPassword: function(value) {
|
||
var password = $('input[name=newPassword]').val();
|
||
if (value !== password) {
|
||
return '两次输入的密码不一致';
|
||
}
|
||
}
|
||
});
|
||
|
||
// 表单提交
|
||
form.on('submit(passwordSubmit)', function(data){
|
||
fetch('/api/users/change-password', {
|
||
method: 'POST',
|
||
headers: {
|
||
'Authorization': 'Bearer ' + localStorage.getItem('token'),
|
||
'Content-Type': 'application/json'
|
||
},
|
||
body: JSON.stringify({
|
||
old_password: data.field.oldPassword,
|
||
new_password: data.field.newPassword
|
||
})
|
||
})
|
||
.then(response => response.json())
|
||
.then(result => {
|
||
if (result.error) {
|
||
layer.msg(result.error);
|
||
return;
|
||
}
|
||
layer.msg('密码修改成功,请重新登录');
|
||
setTimeout(function(){
|
||
localStorage.removeItem('token');
|
||
top.location.href = '/login.html';
|
||
}, 1500);
|
||
})
|
||
.catch(error => {
|
||
layer.msg('修改失败:' + error.message);
|
||
});
|
||
|
||
return false;
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |