user.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import * as $auth from "../../common/auth"
  2. import * as $dictUtils from "../../common/dictUtils"
  3. import userService from "@/api/sys/userService"
  4. const user = {
  5. state:{
  6. forcedLogin: false,
  7. hasLogin: false,
  8. dictList: $dictUtils.getDictList(),
  9. token:$auth.getUserToken() || null,
  10. username:$auth.getUsername() || null,
  11. avatar: $auth.getUserInfo().photo || '/static/user/flat-avatar.png',
  12. userInfo: $auth.getUserInfo() || null, // 登录成功返回的个人信息
  13. permissions:$auth.getPermissions() || null
  14. },
  15. mutations:{
  16. // 登录的用户信息
  17. SET_USERINFO(state,userInfo){
  18. state.userInfo = userInfo;
  19. state.avatar = userInfo.photo
  20. $auth.setUserInfo(userInfo);
  21. },
  22. SET_USER_AVATAR(state,photo){
  23. state.avatar = photo;
  24. },
  25. SET_TOKEN: (state,token) => {
  26. state.token = token;
  27. $auth.setUserToken(token);
  28. },
  29. SET_USERNAME: (state,name) => {
  30. state.username = name;
  31. $auth.setUsername(name);
  32. },
  33. SET_DICTLIST: (state,dictList) => {
  34. state.dictList = dictList;
  35. $dictUtils.setDictList(dictList);
  36. },
  37. SET_PERMISSIONS: (state,permissionArr) => {
  38. state.permissions = permissionArr
  39. $auth.setPermissions(permissionArr);
  40. },
  41. logout(state) {
  42. state.token = null;
  43. state.userInfo = null
  44. $auth.removeUserInfo()
  45. $auth.removeUserToken()
  46. }
  47. },
  48. actions: {
  49. refreshUserInfo({commit}) {
  50. userService.info().then(({data}) => {
  51. commit('SET_USERINFO', data.user)
  52. commit('SET_USERNAME', data.user.name)
  53. })
  54. userService.getMenus().then(({data}) => {
  55. commit('SET_PERMISSIONS', data.permissions || [])
  56. commit('SET_DICTLIST', data.dictList || [])
  57. })
  58. }
  59. }
  60. }
  61. export default user