mirror of https://github.com/chillzhuang/Sword
96 lines
2.6 KiB
JavaScript
96 lines
2.6 KiB
JavaScript
// use localStorage to store the authority info, which might be sent from server in actual project.
|
|
export function getAuthority(str) {
|
|
// return localStorage.getItem('antd-pro-authority') || ['admin', 'user'];
|
|
const authorityString =
|
|
typeof str === 'undefined' ? localStorage.getItem('sword-authority') : str;
|
|
// authorityString could be admin, "admin", ["admin"]
|
|
let authority;
|
|
try {
|
|
authority = JSON.parse(authorityString);
|
|
} catch (e) {
|
|
authority = authorityString;
|
|
}
|
|
if (typeof authority === 'string') {
|
|
return [authority];
|
|
}
|
|
return authority || ['guest'];
|
|
}
|
|
|
|
export function setAuthority(authority) {
|
|
const proAuthority =
|
|
typeof authority === 'string'
|
|
? authority.split(',')
|
|
: typeof authority === 'undefined'
|
|
? null
|
|
: authority;
|
|
return localStorage.setItem('sword-authority', JSON.stringify(proAuthority));
|
|
}
|
|
|
|
export function getToken() {
|
|
return localStorage.getItem('sword-token');
|
|
}
|
|
|
|
export function setToken(token) {
|
|
localStorage.setItem('sword-token', token);
|
|
}
|
|
|
|
export function getAccessToken() {
|
|
return localStorage.getItem('sword-access-token') || '';
|
|
}
|
|
|
|
export function setAccessToken(accessToken) {
|
|
localStorage.setItem('sword-access-token', accessToken);
|
|
}
|
|
|
|
export function getRoutes() {
|
|
return JSON.parse(localStorage.getItem('sword-routes')) || [];
|
|
}
|
|
|
|
export function setRoutes(routes) {
|
|
localStorage.removeItem('sword-routes');
|
|
localStorage.setItem('sword-routes', JSON.stringify(routes));
|
|
}
|
|
|
|
export function getButtons() {
|
|
return JSON.parse(localStorage.getItem('sword-buttons')) || [];
|
|
}
|
|
|
|
export function getButton(code) {
|
|
const buttons = getButtons();
|
|
const data = buttons.filter(d => {
|
|
return d.code === code;
|
|
});
|
|
return data.length === 0 ? [] : data[0].buttons;
|
|
}
|
|
|
|
export function setButtons(buttons) {
|
|
localStorage.removeItem('sword-buttons');
|
|
localStorage.setItem('sword-buttons', JSON.stringify(buttons));
|
|
}
|
|
|
|
export function getCurrentUser() {
|
|
return JSON.parse(localStorage.getItem('sword-current-user'));
|
|
}
|
|
|
|
export function setCurrentUser(account) {
|
|
localStorage.setItem('sword-current-user', JSON.stringify(account));
|
|
}
|
|
|
|
export function setCaptchaKey(key) {
|
|
localStorage.removeItem('sword-captcha-key');
|
|
localStorage.setItem('sword-captcha-key', key);
|
|
}
|
|
|
|
export function getCaptchaKey() {
|
|
return localStorage.getItem('sword-captcha-key');
|
|
}
|
|
|
|
export function removeAll() {
|
|
localStorage.removeItem('sword-authority');
|
|
localStorage.removeItem('sword-token');
|
|
localStorage.removeItem('sword-routes');
|
|
localStorage.removeItem('sword-buttons');
|
|
localStorage.removeItem('sword-current-user');
|
|
localStorage.removeItem('sword-captcha-key');
|
|
}
|