user.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import store from '@/utils/store';
  2. import service from '@/service/index';
  3. import dayjs from 'dayjs';
  4. import { ProjectName } from '@/config/config';
  5. export default {
  6. state: {
  7. token: store.get('token') || null,
  8. shopInfo: store.get('shopInfo') || {},
  9. info: store.get('userInfo') || {}
  10. },
  11. actions: {
  12. userLogin({ commit }, form) {
  13. let host = null;
  14. if (ProjectName == 'business') {
  15. host = () => {
  16. return service.common.userLogin(form);
  17. };
  18. } else {
  19. host = () => {
  20. return service.common.sassLogin(form);
  21. };
  22. }
  23. return host(form).then(res => {
  24. commit('SET_TOKEN', res);
  25. return res;
  26. });
  27. },
  28. userLogout({ commit }) {
  29. // return service.common.userLogout().done(() => {
  30. commit('CLEAR_USER');
  31. commit('CLEAR_SHOPINFO');
  32. commit('CLEAR_TOKEN');
  33. commit('RESET_PROCESS');
  34. commit('SET_MENU_GROUP', []);
  35. commit('SET_VIEW_ROUTES', []);
  36. commit('SET_MENU_LIST', 0);
  37. // });
  38. },
  39. shopInfo({ commit }) {
  40. return service.common.shopInfo().then(res => {
  41. commit('SET_SHOPINFO', res);
  42. return res;
  43. });
  44. },
  45. userInfo({ commit }) {
  46. let host = null;
  47. if (ProjectName == 'business') {
  48. host = () => {
  49. return service.common.userInfo();
  50. };
  51. } else {
  52. host = () => {
  53. return service.common.sassInfo();
  54. };
  55. }
  56. return host().then(res => {
  57. commit('SET_USERINFO', res);
  58. return res;
  59. });
  60. },
  61. userInvalid({ commit }) {
  62. commit('CLEAR_TOKEN');
  63. }
  64. },
  65. mutations: {
  66. SET_SHOPINFO(state, val) {
  67. state.shopInfo = val;
  68. store.set('shopInfo', val);
  69. },
  70. SET_USERINFO(state, val) {
  71. state.info = val;
  72. store.set('userInfo', val);
  73. },
  74. SET_TOKEN(state, { token, expire }) {
  75. state.token = token;
  76. store.set('token', token, expire && dayjs().add(expire, 'second'));
  77. },
  78. CLEAR_SHOPINFO(state) {
  79. state.shopInfo = {};
  80. store.remove('shopInfo');
  81. },
  82. CLEAR_USER(state) {
  83. state.info = {};
  84. store.remove('userInfo');
  85. },
  86. CLEAR_TOKEN(state) {
  87. state.token = null;
  88. store.remove('token');
  89. }
  90. }
  91. };