user.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. });
  47. },
  48. info(context, options) {
  49. if (!user.isLogin()) {
  50. context.commit('accessToken', null);
  51. }
  52. user.getAccessToken().then(accessToken => {
  53. context.commit('accessToken', accessToken);
  54. user.getInfo(options).then(data => {
  55. context.commit('info', data);
  56. });
  57. });
  58. },
  59. refreshInfo(context) {
  60. context.commit('accessToken', null);
  61. },
  62. refresh(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(e => {
  85. if (!e) return;
  86. context.commit('accessToken', e);
  87. });
  88. },
  89. logout(context) {
  90. context.commit('accessToken', null);
  91. user.loginByToken(null);
  92. },
  93. };
  94. export default {
  95. namespaced: true,
  96. state,
  97. getters,
  98. mutations,
  99. actions
  100. }