关于系统登录
1.登录时
1)判断用户名和密码包不包含中文
/^[\u4e00-\u9fa5]+$/.test(this.name)
2)对用户名和密码进行加密
base64加密
encode64(input){ var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "="; var output = ""; var chr1, chr2, chr3 = ""; var enc1, enc2, enc3, enc4 = ""; var i = 0; do { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4); chr1 = chr2 = chr3 = ""; enc1 = enc2 = enc3 = enc4 = ""; } while (i < input.length); return output; }
this.encode64(this.name)
作用:登录的时候输入用户名密码,密码虽然是看不到的,但是会点前端的都会按f12后还是可以看到用户输入的是明码,轻松知道用户名和密码,而且现在浏览器很多都是记住用户名密码的,更加导致了用户名和密码的泄露风险
3)储存用户信息及子系统信息
localStorage.setItem('systemList',JSON.stringify(res.systemList))
localStorage.setItem('user',JSON.stringify(res.user))
2.判断是否登录
如果登录直接跳转到首页,
没有登录先存储用户信息和子系统信息再跳转
3.退出登录
创建a标签,获取当前域名和端口,进行跳转
let a = document.createElement('a')
a.href = location.protocol + '//'+location.host
a.click()
4.密码校验
密码必须包含数字、字母,长度6~16位
/^(?=.*[0-9])(?=.*[a-zA-Z])(.{6,16})$/.test(this.newPwd)
1)判断新密码和旧密码是否相同
2)判断新密码是否符合条件
5.修改密码
修改密码后退出登录提示修改成功
6.获取用户信息
7.获取按钮
8.点击消息通知获取菜单信息(点击待办中心,跳转到待办子系统中)

浙公网安备 33010602011771号