关于系统登录
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标签,获取当前域名和端口,进行跳转
1 2 3 | 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.点击消息通知获取菜单信息(点击待办中心,跳转到待办子系统中)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现