nsn-util
Version:
NSN工具辅助组件
43 lines (32 loc) • 1.22 kB
JavaScript
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import JwtDecode from 'jwt-decode';
import moment from 'moment';
import { NConst } from 'nsn-const';
import * as NStore from './NStore';
/** 缓存token */
var set = function set(token) {
return NStore.set(_defineProperty({}, NConst.HEADER_TOKEN, token));
};
/** 获取token缓存 */
var get = function get() {
return NStore.get(NConst.HEADER_TOKEN) || undefined;
};
/** token 是否过期 */
var isExpired = function isExpired(accessToken) {
var token = accessToken || get();
if (token && token.startsWith(NConst.TOKEN_SPLIT)) {
try {
var payload = JwtDecode(token.substring(NConst.TOKEN_SPLIT.length));
if (payload && payload.exp) {
// var expDay = moment(payload.exp * 1000).format('YYYY-MM-DD HH:mm:ss');
// http://momentjs.cn/docs/#/query/is-after/
if (moment(payload.exp * 1000).isAfter(moment())) {
return false;
}
} // return true;
} catch (e) {// do nothing
}
}
return true;
};
export { set, get, isExpired };