user.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { httpServer } from "@/components/httpServer/httpServer.js";
  2. import router from '@/router/index'
  3. export const user = {
  4. namespaced: true,
  5. state: {
  6. userInfo: {
  7. uuid: "",
  8. nickname: "",
  9. headImg: "",
  10. authority: "",
  11. },
  12. typeList:[],
  13. token: "",
  14. },
  15. mutations: {
  16. setUserInfo(state, userInfo) {
  17. state.userInfo = userInfo
  18. },
  19. setToken(state, token) {
  20. state.token = token
  21. },
  22. setTypeList(state, typeList) {
  23. state.typeList = typeList
  24. },
  25. LoginOut(state) {
  26. state.userInfo = {}
  27. state.token = ""
  28. localStorage.uid = ""
  29. localStorage.token=""
  30. sessionStorage.clear()
  31. if( location.pathname != '/'){
  32. router.push('/')
  33. }
  34. },
  35. ResetUserInfo(state, userInfo = {}) {
  36. state.userInfo = {...state.userInfo,
  37. ...userInfo
  38. }
  39. }
  40. },
  41. actions: {
  42. async loadBaseInfo({ commit, router }) {
  43. let res = await httpServer("User.baseInfo", {})
  44. if( res.code != 0 && res.code != 200){
  45. commit('LoginOut', {} )
  46. return true
  47. }
  48. localStorage.uid = res.data.uid
  49. localStorage.token = res.data.token
  50. commit('setUserInfo', res.data)
  51. commit('setToken', res.data.token)
  52. return res.data
  53. },
  54. async loadTypeList({ commit, router }) {
  55. let res = await httpServer("Course.getTypeList", {})
  56. commit('setTypeList', res.data||[])
  57. return true
  58. },
  59. async saveBaseInfo({ commit }, userInfo) {
  60. commit('ResetUserInfo', userInfo)
  61. },
  62. async doLogout({ commit }, userInfo) {
  63. // let res = await httpServer("Auth.Logout", {} )
  64. commit('LoginOut', {})
  65. return true
  66. },
  67. async doLogin({ commit }, param ) {
  68. console.log("loginStart", res )
  69. let res = await httpServer("Auth.LoginStudy", param )
  70. if( res.code == 200 ){
  71. commit('setUserInfo', res.data)
  72. commit('setToken', res.data.token)
  73. localStorage.nickname = res.data.nickname;
  74. localStorage.token = res.data.token;
  75. localStorage.headImg = res.data.headImg;
  76. localStorage.uid = res.data.uid;
  77. return res.data
  78. }
  79. return false
  80. }
  81. },
  82. getters: {
  83. userInfo(state) {
  84. return state.userInfo
  85. },
  86. typeList(state) {
  87. return state.typeList
  88. },
  89. token(state) {
  90. return state.token
  91. },
  92. }
  93. }