user.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { LOGIN,GET_TOKEN } from '@/api'
  2. import { getToken, setToken, removeToken } from '@/utils/auth'
  3. import axios from '@/axios'
  4. const user = {
  5. state: {
  6. token: getToken(),
  7. name: '',
  8. avatar: '',
  9. roles: []
  10. },
  11. mutations: {
  12. SET_TOKEN: (state, token) => {
  13. state.token = token
  14. },
  15. SET_NAME: (state, name) => {
  16. state.name = name
  17. },
  18. SET_AVATAR: (state, avatar) => {
  19. state.avatar = avatar
  20. },
  21. SET_ROLES: (state, roles) => {
  22. state.roles = roles
  23. }
  24. },
  25. actions: {
  26. // 登录
  27. Login({ commit }, userInfo) {
  28. const username = userInfo.username.trim()
  29. return new Promise((resolve, reject) => {
  30. login(username, userInfo.password).then(response => {
  31. const data = response.data
  32. setToken(data.token)
  33. commit('SET_TOKEN', data.token)
  34. resolve()
  35. }).catch(error => {
  36. reject(error)
  37. })
  38. })
  39. },
  40. //获取TOKEN
  41. GET_TOKEN({ state, commit }, data) {
  42. console.log(data);
  43. axios.post(GET_TOKEN, data).then(res => {
  44. if (res && res.code == '999') {
  45. commit('SET_TOKEN', data.data);
  46. this.$router.push("/home");
  47. } else {
  48. this.$router.push("/");
  49. }
  50. })
  51. },
  52. // 获取用户信息
  53. GetInfo({ commit, state }) {
  54. return new Promise((resolve, reject) => {
  55. getInfo(state.token).then(response => {
  56. const data = response.data
  57. commit('SET_ROLES', data.roles)
  58. commit('SET_NAME', data.name)
  59. commit('SET_AVATAR', data.avatar)
  60. resolve(response)
  61. }).catch(error => {
  62. reject(error)
  63. })
  64. })
  65. },
  66. // 登出
  67. // LogOut({ commit, state }) {
  68. // return new Promise((resolve, reject) => {
  69. // logout(state.token).then(() => {
  70. // commit('SET_TOKEN', '')
  71. // commit('SET_ROLES', [])
  72. // removeToken()
  73. // resolve()
  74. // }).catch(error => {
  75. // reject(error)
  76. // })
  77. // })
  78. // },
  79. // 前端 登出
  80. FedLogOut({ commit }) {
  81. return new Promise(resolve => {
  82. commit('SET_TOKEN', '')
  83. removeToken()
  84. resolve()
  85. })
  86. }
  87. }
  88. }
  89. export default user