@choerodon/master
Version:
A package of Master for Choerodon platform.
72 lines (61 loc) • 1.5 kB
JavaScript
import { getCookie, removeCookie, setCookie } from "./cookie";
import { ACCESS_TOKEN, TOKEN_TYPE } from "./constants";
var cachedToken = null;
export function getCookieToken() {
var option = {
path: '/'
};
var token = getCookie(ACCESS_TOKEN, option);
if (token && cachedToken && token !== cachedToken) {
return null;
}
return token;
}
/**
* 前端存储cookie token
*/
export function setAccessToken(token, tokenType, expiresIn) {
var isHttps = window.location.protocol === 'https:';
var option = {
path: '/'
};
if (isHttps) {
option.sameSite = 'none';
option.secure = true;
}
if (expiresIn) {
var expires = 30 * 24 * 60 * 60 * 1000;
option.expires = new Date(Date.now() + expires);
}
setCookie(ACCESS_TOKEN, token, option);
setCookie(TOKEN_TYPE, tokenType, option);
cachedToken = token;
}
/**
* 获取cookie token
*/
export function getAccessToken() {
var option = {
path: '/'
};
var accessToken = getCookieToken();
var tokenType = getCookie(TOKEN_TYPE, option);
if (accessToken && tokenType) {
return "".concat(tokenType, " ").concat(accessToken);
}
return null;
}
/**
* 移除token
*/
export function removeAccessToken() {
var option = {
path: '/'
}; // if (!LOCAL && !localReg.test(window.location.host)) {
// console.log(COOKIE_SERVER);
// option.domain = COOKIE_SERVER;
// }
// console.log(option);
removeCookie(ACCESS_TOKEN, option);
removeCookie(TOKEN_TYPE, option);
}