index.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import api from "@/api/api"
  4. import MinCache from'@/common/util/MinCache.js'
  5. import { ACCESS_TOKEN,USER_NAME,USER_INFO } from "@/common/util/constants"
  6. Vue.use(Vuex)
  7. export default new Vuex.Store({
  8. state: {
  9. token: '',
  10. userid:'',
  11. username: '',
  12. realname: '',
  13. welcome: '',
  14. avatar: '',
  15. showColum: {}
  16. },
  17. mutations: {
  18. SET_TOKEN: (state, token) => {
  19. state.token = token
  20. },
  21. SET_NAME: (state, { username, realname, welcome }) => {
  22. state.username = username
  23. state.realname = realname
  24. state.welcome = welcome
  25. },
  26. SET_AVATAR: (state, avatar) => {
  27. state.avatar = avatar
  28. },
  29. SET_SHOWCOLUM: (state, showColum) => {
  30. state.showColum = showColum
  31. }
  32. },
  33. actions: {
  34. // 登录
  35. mLogin({ commit }, userInfo) {
  36. return new Promise((resolve, reject) => {
  37. api.login(userInfo).then(response => {
  38. if(response.data.code ==200){
  39. const result = response.data.result
  40. const userInfo = result.userInfo
  41. uni.setStorageSync(ACCESS_TOKEN,result.token);
  42. uni.setStorageSync(USER_INFO,userInfo);
  43. commit('SET_TOKEN', result.token)
  44. commit('SET_AVATAR', userInfo.avatar)
  45. commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname})
  46. resolve(response)
  47. }else{
  48. resolve(response)
  49. }
  50. }).catch(error => {
  51. console.log("catch===>response",response)
  52. reject(error)
  53. })
  54. })
  55. },
  56. //手机号登录
  57. PhoneLogin({ commit }, userInfo) {
  58. return new Promise((resolve, reject) => {
  59. api.phoneNoLogin(userInfo).then(response => {
  60. if(response.data.code ==200){
  61. const result = response.data.result
  62. const userInfo = result.userInfo
  63. uni.setStorageSync(ACCESS_TOKEN,result.token);
  64. uni.setStorageSync(USER_INFO,userInfo);
  65. commit('SET_TOKEN', result.token)
  66. commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname})
  67. commit('SET_AVATAR', userInfo.avatar)
  68. resolve(response)
  69. }else{
  70. reject(response)
  71. }
  72. }).catch(error => {
  73. reject(error)
  74. })
  75. })
  76. },
  77. // 登出
  78. Logout({ commit, state }) {
  79. return new Promise((resolve) => {
  80. let logoutToken = state.token;
  81. commit('SET_TOKEN', '')
  82. uni.removeStorageSync(ACCESS_TOKEN)
  83. api.logout(logoutToken).then(() => {
  84. resolve()
  85. }).catch(() => {
  86. resolve()
  87. })
  88. })
  89. },
  90. },
  91. getters:{
  92. token: state => state.token,
  93. username: state => {state.userid=uni.getStorageSync(USER_INFO).username; return state.username},
  94. nickname: state => {state.userid=uni.getStorageSync(USER_INFO).realname; return state.user.realname},
  95. avatar: state => {state.userid=uni.getStorageSync(USER_INFO).avatar; return state.user.avatar},
  96. userid:state => {state.userid=uni.getStorageSync(USER_INFO).id; return state.userid},
  97. showColum:state => {state.userid=uni.getStorageSync(USER_INFO).showColum; return state.showColum},
  98. }
  99. })