0.1.0 • Published 6 years ago
jason-user
Licence
—
Version
0.1.0
Deps
0
Size
251 kB
Vulns
0
Weekly
0
jason-user
一个简单的用户登录状态管理
安装
npm i --save jason-user
API
import User from 'jason-user';
实例化用户
实例化时
将根据 storage 中的数据自动更新一次 this.data
实现记住密码功能
let user = new User({
// 可选
// 用户数据存入 sessionStore 或 localStore 中的 key 值
storageKey: 'jason-user',
// 登录逻辑核心函数
// 必有
// 这个函数通常返回 Promise,也可以同步返回结果
// resolve 或 同步返回值应该是一个对象(或无返回值代表登陆失败)
// 包含着用户状态数据
login (params) {
return data
},
// 验证用户身份是否有效的核心代码
// 可选
// 这个函数通常返回 Promise,也可以同步返回结果
// 若无,则调用 user.verify 时会返回 false
// 这个函数应该返回结果 true 和 false
verify () {
return false;
},
// 当用户数据改变时(update)
// 传入用户状态数据
onUpdate
})
登录
这个方法将返回一个 Promise
核心实现是基于实例化时传入的 login 函数
resolve 时会有 result 参数(Boolean)
代表登录成功还是失败
user.login()
.then(result => console.log(result))
// => true / false
获取用户属性
user.data 一定是一个对象或者为 null
console.log(user.data)
更新用户数据
传入的参数会以 assign 的方式进行新旧值对象合并到 this.data
注意:update 方法的参数必须是一个对象或者 null
user.update({ name: 'xxx', age: 18 })
检测用户登录状态是否有效
这个方法将返回一个 Promise
核心实现是基于实例化时传入的 verify 函数
resolve 时会有 result 参数(Boolean)
代表验证成功还是失败
user.verify()
.then(result => console.log(result))
// => true / false
记录登录状态
默认会以 sessionStorage 的方式记住
传入 true 则以 localStorage 的方式记住
user.remember();
// user.remember(true);
退出登录
将会清空 user.data
user.logout();