You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

authorization-util.ts 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { Authorization, Token, UserInfo } from '@/constants/authorization';
  2. import { getSearchValue } from './common-util';
  3. const KeySet = [Authorization, Token, UserInfo];
  4. const storage = {
  5. getAuthorization: () => {
  6. return localStorage.getItem(Authorization);
  7. },
  8. getToken: () => {
  9. return localStorage.getItem(Token);
  10. },
  11. getUserInfo: () => {
  12. return localStorage.getItem(UserInfo);
  13. },
  14. getUserInfoObject: () => {
  15. return JSON.parse(localStorage.getItem('userInfo') || '');
  16. },
  17. setAuthorization: (value: string) => {
  18. localStorage.setItem(Authorization, value);
  19. },
  20. setToken: (value: string) => {
  21. localStorage.setItem(Token, value);
  22. },
  23. setUserInfo: (value: string | Record<string, unknown>) => {
  24. let valueStr = typeof value !== 'string' ? JSON.stringify(value) : value;
  25. localStorage.setItem(UserInfo, valueStr);
  26. },
  27. setItems: (pairs: Record<string, string>) => {
  28. Object.entries(pairs).forEach(([key, value]) => {
  29. localStorage.setItem(key, value);
  30. });
  31. },
  32. removeAuthorization: () => {
  33. localStorage.removeItem(Authorization);
  34. },
  35. removeAll: () => {
  36. KeySet.forEach((x) => {
  37. localStorage.removeItem(x);
  38. });
  39. },
  40. setLanguage: (lng: string) => {
  41. localStorage.setItem('lng', lng);
  42. },
  43. getLanguage: (): string => {
  44. return localStorage.getItem('lng') as string;
  45. },
  46. };
  47. export const getAuthorization = () => {
  48. const sharedId = getSearchValue('shared_id');
  49. const authorization = sharedId
  50. ? 'Bearer ' + sharedId
  51. : storage.getAuthorization() || '';
  52. return authorization;
  53. };
  54. export default storage;