# User ```javascript import User from "@jx3box/jx3box-common/js/user.js"; ``` ## 1.判断用户是否登录 `User.isLogin()` ```javascript let status = User.isLogin(); // => true 或 false ``` ## 2.获取用户信息 `User.getInfo()` ```javascript let profile = User.getInfo(); // => 返回一个用户信息对象 ``` 可链式获取指定值 ```javascript let uid = User.getInfo().uid; //用户ID,未登录用户为0,登录用户为其ID let group = User.getInfo().group; //用户用户组ID,未登录用户为0,登录用户>0 ``` 其它信息 - `name` 昵称 - `avatar_origin` 原头像 - `avatar` 头像 - `bio` 签名 ## 3.获取用户组 并不能真实作为判别依据,只是用来做权级划分 - `isEmailMember()` 判断是否邮箱验证(8) - `isPhoneMember()` 判断是否绑定手机(16) - `isSuperAuthor()` 判断是否为签约作者(32) - `isAdmin()` 判断是否为编辑(64) - `isSuperAdmin()` 判断是否为管理员(128) - `isSystemAdmin()` 判断是否为超管(512) ## 4.是否为会员 - `isVIP()` 是否为高级会员或者专业会员 - `isPRO()` 是否专业会员 返回的均是一个 promise,需作后续处理 ## 5.用户其他资产(购买权限等) - `getAsset()` 返回一个 Promise #### 资产模板 ```javascript { was_vip: 0, expire_date: "1970-02-02T16:00:00.000Z", total_day: 0, was_pro: 0, pro_expire_date: "1970-02-02T16:00:00.000Z", pro_total_day: 0, rename_card_count: 0, //改名卡 namespace_card_count: 0, //铭牌购买次数 box_coin: 0, //盒币 points: 0, //积分 } ``` ## 6.获取 JWT 令牌 `User.getToken()` ```javascript let token = User.getToken(); ``` 用于部分场景无法通过 cookie 效验时。附带令牌信息在 basic auth 的 username 中,password 中放置备注信息。 axios 请求示例: ```javascript axios .post( API, { data, }, { auth: { username: token, password: "some remark", }, } ) .then((res) => { //鉴权成功 }) .catch((err) => { console.log(err); }); ``` ## 7.注销 `User.destroy()` 登出注销 ## 8.跳转登录并重定向 `User.toLogin()` ```javascript User.toLogin(); //无参数时自动跳回当前调用页面 User.toLogin($url); //登录后跳转至指定页面 ```