token-util.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**
  2. * token 操作封装
  3. */
  4. import { TOKEN_STORE_NAME } from '@/config/setting';
  5. /**
  6. * 获取缓存的 token
  7. */
  8. export function getToken() {
  9. const token = localStorage.getItem(TOKEN_STORE_NAME);
  10. if (!token) {
  11. return sessionStorage.getItem(TOKEN_STORE_NAME);
  12. }
  13. return token;
  14. }
  15. /**
  16. * 缓存 token
  17. * @param token token
  18. * @param remember 是否永久存储
  19. */
  20. export function setToken(token, remember) {
  21. removeToken();
  22. if (token) {
  23. if (remember) {
  24. localStorage.setItem(TOKEN_STORE_NAME, token);
  25. } else {
  26. sessionStorage.setItem(TOKEN_STORE_NAME, token);
  27. }
  28. }
  29. }
  30. /**
  31. * 获取缓存的 当前登陆角色
  32. */
  33. export function getCurrentUser() {
  34. let currentUser = sessionStorage.getItem('currentUser');
  35. if (!currentUser) {
  36. currentUser = localStorage.getItem('currentUser');
  37. }
  38. return JSON.parse(currentUser);
  39. }
  40. /**
  41. * 缓存 当前登陆角色
  42. * @param token token
  43. * @param remember 是否永久存储
  44. */
  45. export function setCurrentUser(currentUser, remember) {
  46. removeCurrentUser()
  47. if (currentUser) {
  48. if (remember) {
  49. localStorage.setItem('currentUser', JSON.stringify(currentUser));
  50. } else {
  51. sessionStorage.setItem('currentUser', JSON.stringify(currentUser));
  52. }
  53. }
  54. }
  55. /**
  56. * 移除 token
  57. */
  58. export function removeToken() {
  59. localStorage.removeItem(TOKEN_STORE_NAME);
  60. sessionStorage.removeItem(TOKEN_STORE_NAME);
  61. }
  62. /**
  63. * 移除 currentUser
  64. */
  65. export function removeCurrentUser() {
  66. localStorage.removeItem('currentUser');
  67. sessionStorage.removeItem('currentUser');
  68. }