user.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import router from "@/router";
  2. import mockMunus from "@/router/menu";
  3. import { setCookie, removeCookie } from "@/utils/cookie";
  4. import { AUTH_TOKEN_FRONT } from "@/common/Constant";
  5. const state = {
  6. userInfo: {},
  7. menus: [],
  8. roles: []
  9. };
  10. const mutations = {
  11. // 登录状态保存
  12. SET_LOGIN: (state, user) => {
  13. state.userInfo = user;
  14. setCookie(AUTH_TOKEN_FRONT, user.token);
  15. },
  16. // 添加userInfo信息
  17. ADD_USERINFO: (state, addInfo) => {
  18. let keys = Object.keys(addInfo);
  19. for (let i = 0; i < keys.length; i++) {
  20. state.userInfo[keys[i]] = addInfo[keys[i]];
  21. }
  22. },
  23. // 菜单状态保存
  24. SET_MENU(state, menus) {
  25. if (sessionStorage.MenusFromDB === "false") {
  26. state.menus = mockMunus;
  27. return;
  28. }
  29. state.menus = menus;
  30. },
  31. // 角色状态保存
  32. SET_ROLE(state, roles) {
  33. state.roles = roles;
  34. },
  35. // 注销登录状态
  36. SET_LOGOUT(state) {
  37. state.userInfo = {};
  38. state.menus = [];
  39. state.roles = [];
  40. sessionStorage.removeItem("online");
  41. removeCookie(AUTH_TOKEN_FRONT);
  42. }
  43. };
  44. const actions = {
  45. logout({ commit }) {
  46. commit("SET_LOGOUT");
  47. router.push("/login");
  48. }
  49. };
  50. export default {
  51. namespaced: true,
  52. state,
  53. mutations,
  54. actions
  55. };