actions.ts 1010 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { ActionTree } from 'vuex';
  2. import axios from '@/api/axios';
  3. import { processReturn } from '@/utils/common';
  4. import { SET_USER, SET_TOKEN, SET_LOADING } from './mutation-types';
  5. import { AppState } from './state';
  6. import { RootState } from '../../index';
  7. const actions: ActionTree<AppState, RootState> = {
  8. async register({ commit }, payload) {
  9. commit(SET_LOADING, true);
  10. const res = await axios.post('/auth/register', {
  11. ...payload,
  12. });
  13. const data = processReturn(res);
  14. commit(SET_LOADING, false);
  15. if (data) {
  16. commit(SET_USER, data.user);
  17. commit(SET_TOKEN, data.token);
  18. return data;
  19. }
  20. },
  21. async login({ commit }, payload) {
  22. commit(SET_LOADING, true);
  23. const res = await axios.post('/auth/login', {
  24. ...payload,
  25. });
  26. const data = processReturn(res);
  27. commit(SET_LOADING, false);
  28. if (data) {
  29. commit(SET_USER, data.user);
  30. commit(SET_TOKEN, data.token);
  31. return data;
  32. }
  33. },
  34. };
  35. export default actions;