天波用户运营管理后台系统
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

108 líneas
2.5KB

  1. import { login, logout, getInfo } from '@/api/user';
  2. import { getToken, setToken, removeToken } from '@/utils/auth';
  3. import { getAuthToken, setAuthToken, removeAuthToken } from '@/utils/auth-token';
  4. import APPId from '@/utils/appId'
  5. import { resetRouter } from '@/router'
  6. const getDefaultState = () => {
  7. return {
  8. token: getToken(),
  9. authToken: getAuthToken(),
  10. name: '',
  11. avatar: ''
  12. }
  13. }
  14. const state = getDefaultState()
  15. const mutations = {
  16. RESET_STATE: (state) => {
  17. Object.assign(state, getDefaultState())
  18. },
  19. SET_TOKEN: (state, token) => {
  20. state.token = token
  21. },
  22. SET_AUTH_TOKEN: (state, authToken) => {
  23. state.authToken = authToken
  24. },
  25. SET_NAME: (state, name) => {
  26. state.name = name
  27. },
  28. SET_AVATAR: (state, avatar) => {
  29. state.avatar = avatar
  30. },
  31. SET_ROLES: (state, roles) => {
  32. state.roles = roles
  33. }
  34. }
  35. const actions = {
  36. // user login
  37. login({ commit }, userInfo) {
  38. const { loginName, password } = userInfo
  39. return new Promise((resolve, reject) => {
  40. login({ loginName: loginName.trim(), password: password, appId: APPId }).then(response => {
  41. console.log("response", response);
  42. const { data } = response;
  43. commit('SET_TOKEN', data.authToken);
  44. setToken(data.authToken)
  45. resolve(data)
  46. }).catch(error => {
  47. reject(error)
  48. })
  49. })
  50. },
  51. // get user info
  52. getInfo({ commit}) {
  53. return new Promise((resolve, reject) => {
  54. let manufactorId = '5bf13062-a41e-4d00-ba14-1101aad12650'
  55. getInfo({manufactorId: manufactorId}).then(response => {
  56. const { data } = response;
  57. /* data['roles'] = ['admin'] */
  58. if (!data) {
  59. return reject('验证过期,请重新登录!')
  60. }
  61. /* const { roles, name} = data
  62. commit('SET_ROLES', roles)
  63. commit('SET_NAME', name) */
  64. commit('SET_AUTH_TOKEN', data);
  65. setAuthToken(data);
  66. resolve(data)
  67. }).catch(error => {
  68. reject(error)
  69. })
  70. })
  71. },
  72. // user logout
  73. logout({ commit, state }) {
  74. return new Promise((resolve, reject) => {
  75. logout(state.token).then(() => {
  76. removeToken() // must remove token first
  77. resetRouter()
  78. commit('RESET_STATE')
  79. resolve()
  80. }).catch(error => {
  81. reject(error)
  82. })
  83. })
  84. },
  85. // remove token
  86. resetToken({ commit, state }) {
  87. return new Promise(resolve => {
  88. removeToken() // must remove token first
  89. commit('RESET_STATE')
  90. resolve()
  91. })
  92. },
  93. }
  94. export default {
  95. namespaced: true,
  96. state,
  97. mutations,
  98. actions
  99. }