user.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import user from '../../core/user.js';
  2. const state = {
  3. accessToken: null,
  4. info: null,
  5. showLoginModal: false,
  6. tempParentId: 0,
  7. };
  8. const getters = {
  9. accessToken(state) {
  10. return state.accessToken;
  11. },
  12. info(state) {
  13. return state.info;
  14. },
  15. showLoginModal(state) {
  16. return state.showLoginModal;
  17. },
  18. tempParentId(state) {
  19. return state.tempParentId;
  20. },
  21. is_vip(state) {
  22. return state.is_vip_card_user;
  23. }
  24. };
  25. const mutations = {
  26. accessToken(state, data) {
  27. state.accessToken = data;
  28. },
  29. info(state, data) {
  30. state.info = data;
  31. },
  32. showLoginModal(state, data) {
  33. state.showLoginModal = data;
  34. },
  35. tempParentId(state, data) {
  36. state.tempParentId = data;
  37. },
  38. };
  39. const actions = {
  40. accessToken(context) {
  41. if (!user.isLogin()) {
  42. context.commit('accessToken', null);
  43. }
  44. user.getAccessToken().then(accessToken => {
  45. context.commit('accessToken', accessToken);
  46. }).catch(e => {
  47. });
  48. },
  49. info(context) {
  50. if (!user.isLogin()) {
  51. context.commit('accessToken', null);
  52. }
  53. user.getAccessToken().then(accessToken => {
  54. context.commit('accessToken', accessToken);
  55. user.getInfo().then(data => {
  56. context.commit('info', data);
  57. }).catch(e => {
  58. });
  59. }).catch(e => {
  60. });
  61. },
  62. refreshInfo(context) {
  63. if (!user.isLogin()) {
  64. context.commit('accessToken', null);
  65. }
  66. user.getAccessToken().then(accessToken => {
  67. context.commit('accessToken', accessToken);
  68. user.getInfo({
  69. refresh: true,
  70. }).then(data => {
  71. context.commit('info', data);
  72. }).catch(e => {
  73. });
  74. }).catch(e => {
  75. });
  76. },
  77. setTempParentId(context, data) {
  78. context.commit('tempParentId', data);
  79. },
  80. loadAccessTokenFormCache(context) {
  81. if (context.accessToken) return;
  82. user.getAccessToken({
  83. cacheOnly: true,
  84. }).then(accessToken => {
  85. if (!accessToken) return;
  86. context.commit('accessToken', accessToken);
  87. }).catch(e => {
  88. });
  89. },
  90. logout(context) {
  91. context.commit('accessToken', null);
  92. user.loginByToken(null);
  93. },
  94. };
  95. export default {
  96. namespaced: true,
  97. state,
  98. getters,
  99. mutations,
  100. actions
  101. }