mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-23 23:16:58 +08:00
### What problem does this PR solve? Feat: If the user is not logged in, jump to the login page by refreshing. ### Type of change - [x] New Feature (non-breaking change which adds functionality)
64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import { Authorization, Token, UserInfo } from '@/constants/authorization';
|
|
import { getSearchValue } from './common-util';
|
|
const KeySet = [Authorization, Token, UserInfo];
|
|
|
|
const storage = {
|
|
getAuthorization: () => {
|
|
return localStorage.getItem(Authorization);
|
|
},
|
|
getToken: () => {
|
|
return localStorage.getItem(Token);
|
|
},
|
|
getUserInfo: () => {
|
|
return localStorage.getItem(UserInfo);
|
|
},
|
|
getUserInfoObject: () => {
|
|
return JSON.parse(localStorage.getItem('userInfo') || '');
|
|
},
|
|
setAuthorization: (value: string) => {
|
|
localStorage.setItem(Authorization, value);
|
|
},
|
|
setToken: (value: string) => {
|
|
localStorage.setItem(Token, value);
|
|
},
|
|
setUserInfo: (value: string | Record<string, unknown>) => {
|
|
let valueStr = typeof value !== 'string' ? JSON.stringify(value) : value;
|
|
localStorage.setItem(UserInfo, valueStr);
|
|
},
|
|
setItems: (pairs: Record<string, string>) => {
|
|
Object.entries(pairs).forEach(([key, value]) => {
|
|
localStorage.setItem(key, value);
|
|
});
|
|
},
|
|
removeAuthorization: () => {
|
|
localStorage.removeItem(Authorization);
|
|
},
|
|
removeAll: () => {
|
|
KeySet.forEach((x) => {
|
|
localStorage.removeItem(x);
|
|
});
|
|
},
|
|
setLanguage: (lng: string) => {
|
|
localStorage.setItem('lng', lng);
|
|
},
|
|
getLanguage: (): string => {
|
|
return localStorage.getItem('lng') as string;
|
|
},
|
|
};
|
|
|
|
export const getAuthorization = () => {
|
|
const auth = getSearchValue('auth');
|
|
const authorization = auth
|
|
? 'Bearer ' + auth
|
|
: storage.getAuthorization() || '';
|
|
|
|
return authorization;
|
|
};
|
|
|
|
export default storage;
|
|
|
|
// Will not jump to the login page
|
|
export function redirectToLogin() {
|
|
window.location.href = location.origin + `/login`;
|
|
}
|