cache.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import store from '@/store'
  2. import Lockr from 'lockr'
  3. import axios from 'axios'
  4. const cache = {
  5. /**
  6. * 载入全部登陆信息
  7. */
  8. loadingCache: function () {
  9. if (Lockr.get('shenzhoubb_token') && !axios.defaults.headers['access_token']) {
  10. /** 将用户信息放入缓存 */
  11. const userInfo = Lockr.get('loginUserInfo')
  12. const userId = Lockr.get('userId')
  13. if (userInfo) {
  14. store.commit('SET_USERINFO', userInfo)
  15. }
  16. if (userId) {
  17. store.commit('SET_USERID', userId)
  18. }
  19. }
  20. store.commit('SET_APPNAME', Lockr.get('systemName'))
  21. store.commit('SET_APPLOGO', Lockr.get('systemLogo'))
  22. },
  23. /**
  24. * 请求和更新登录缓存
  25. */
  26. updateAxiosCache: function () {
  27. axios.defaults.headers['access_token'] = Lockr.get('shenzhoubb_token')
  28. return store.dispatch('GetUserInfo')
  29. },
  30. updateAxiosHeaders: function (token) {
  31. const newToken = token || Lockr.get('shenzhoubb_token')
  32. if (token) {
  33. Lockr.set('shenzhoubb_token', token)
  34. }
  35. if (newToken && axios.defaults.headers['access_token'] !== newToken) {
  36. axios.defaults.headers['access_token'] = newToken
  37. return true // token 变动
  38. }
  39. },
  40. /**
  41. * 移除登录信息
  42. * @param {*}
  43. */
  44. rmAxiosCache: function () {
  45. Lockr.rm('shenzhoubb_token')
  46. }
  47. }
  48. export default cache