1.必填校验
2.新密码确认校验
3.原密码校验
4.密码长度 安全等级校验
以上4条都校验通过才允许修改。
需要注意的是在点击修改密码弹出框时遇到一点小问题,博主用的是elementui的dialog组件,在打开弹出框时遮罩层无法选中操作。(可能是首页地图z-index的层级比较高的原因),所以通过设置dialog的z-index层级就可以解决这个问题了。
代码如下:
this.$nextTick(()=>{//设置dom style z-index 小于998
this.timer=setTimeout(() => {//利用宏任务最后执行,保证dom已经生成
document.querySelector(".v-modal").style="z-index:90 !important";
}, 200);
});
接口很简单:
[HttpPost, HttpGet]
public IActionResult ChangePwd(string usr_id, string newPassword, string oldPassword)
{
bool result = false;
string message = "";
string type = "success";//success,warning,,info,error
SysUsr usr = new SysUsr();
usr = XCode.Entity<SysUsr>.Find("UsrId", usr_id);
if (NewLife.SecurityHelper.MD5(oldPassword) != usr.UsrPwd) {
return Ok(new { code = 208, result=false, type= "warning", message="原密码错误!" });
}
usr.UsrPwd = NewLife.SecurityHelper.MD5(newPassword);
result = XCode.Entity<SysUsr>.Update(usr) > 0 ? true : false;
type = result ? "success" : "error";
message = result ? "操作成功" : "操作失败";
return Ok(new { code = 200, result, type, message });
}