index.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import Vue from 'vue';
  2. import Vuex from 'vuex';
  3. import MD5 from '@/assets/scripts/md5';
  4. import configs from '@/configs/env';
  5. import apis from '@/configs/http';
  6. import chart from '@/store/modules/chart';
  7. Vue.use(Vuex);
  8. const store = new Vuex.Store({
  9. strict: !configs.isProduction,
  10. modules: {
  11. chart
  12. },
  13. state: {
  14. loginUser: {},
  15. token: '',
  16. isLoading: false,
  17. },
  18. mutations: {
  19. setLoginUser(state, loginUser) {
  20. state.loginUser = loginUser;
  21. },
  22. setToken(state, token) {
  23. state.token = token;
  24. },
  25. setLoading(state, flag) {
  26. state.isLoading = flag;
  27. },
  28. },
  29. actions: {
  30. login({ commit }, { username, password }) {
  31. commit('setLoading', true);
  32. console.log(`login actions: `, arguments);
  33. const encryptPwd = MD5(password);
  34. const data = { username, password: encryptPwd };
  35. return apis.sz.post('/TAdmin/userLogin', data)
  36. .then(res => {
  37. // const { token, userObj } = res.data;
  38. const userObj = res.data;
  39. commit('setLoading', false);
  40. commit('setLoginUser', userObj);
  41. // commit('setToken', token);
  42. }, _ => {
  43. commit('setLoading', false);
  44. return Promise.reject();
  45. });
  46. }
  47. }
  48. });
  49. export default store;