大家通常会在登录后把个人信息存放在LocalStorage
中,且是明文的。。。这其实是有很大的安全隐患的,假如被别有用心的人直接编辑修改,那会造成伪造权限进行操作的现象
http.post('/api/v1/login', params, (userInfo) => {
localStorage.setItem('userInfo', userInfo)
})
我们应该对存储的个人信息进行加密,并且也需要在取值时进行解密
const USER_INFO_KEY = 'userInfo'
class UserInfoStroage {
tasks: Record<> = {}
get(key) {
// 解密取值
}
set(value) {
// 加密存储
// 执行tasks
}
clear() {
// 清除
}
subscribe(key, cb) {
// 事件订阅,监听变化
tasks[key] = cb
}
}
export const uis = new UserInfoStroage()
这个事件订阅挺重要的,我们可能需要监听userInfo
变化时去执行一些函数,就可以在这里进行订阅~
网友评论