index.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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,X_TENANT_ID } 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. shopSelectedIds: []
  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. },
  30. actions: {
  31. // 登录
  32. mLogin({ commit }, param) {
  33. return new Promise((resolve, reject) => {
  34. api.login(param.passWord,param.username).then(response => {
  35. if(response.data.code ==200){
  36. const result = response.data.result
  37. const userInfo = result.userInfo
  38. uni.setStorageSync(ACCESS_TOKEN,result.token);
  39. uni.setStorageSync(USER_INFO,userInfo);
  40. commit('SET_TOKEN', result.token)
  41. commit('SET_AVATAR', userInfo.avatar)
  42. commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname})
  43. resolve(response)
  44. }else{
  45. resolve(response)
  46. }
  47. }).catch(error => {
  48. console.log("catch===>response",response)
  49. reject(error)
  50. })
  51. })
  52. },
  53. //手机号登录
  54. PhoneLogin({ commit }, userInfo) {
  55. return new Promise((resolve, reject) => {
  56. api.phoneNoLogin(userInfo).then(response => {
  57. if(response.data.code ==200){
  58. const result = response.data.result
  59. const userInfo = result.userInfo
  60. uni.setStorageSync(ACCESS_TOKEN,result.token);
  61. uni.setStorageSync(USER_INFO,userInfo);
  62. commit('SET_TOKEN', result.token)
  63. commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname})
  64. commit('SET_AVATAR', userInfo.avatar)
  65. resolve(response)
  66. }else{
  67. reject(response)
  68. }
  69. }).catch(error => {
  70. reject(error)
  71. })
  72. })
  73. },
  74. // 第三方登录
  75. ThirdLogin({ commit }, param) {
  76. return new Promise((resolve, reject) => {
  77. api.thirdLogin(param.token,param.thirdType,param.tenantId).then(response => {
  78. if(response.data.code =='200'){
  79. const result = response.data.result
  80. const userInfo = result.userInfo
  81. uni.setStorageSync(ACCESS_TOKEN,result.token);
  82. uni.setStorageSync(USER_INFO,userInfo);
  83. uni.setStorageSync(X_TENANT_ID,userInfo.loginTenantId);
  84. commit('SET_TOKEN', result.token)
  85. commit('SET_AVATAR', userInfo.avatar)
  86. commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname })
  87. commit('SET_ID', userInfo.id)
  88. commit('SET_INFO', userInfo)
  89. commit('SET_TENANTID', userInfo.loginTenantId)
  90. resolve(response)
  91. }else{
  92. reject(response)
  93. }
  94. }).catch(error => {
  95. reject(error)
  96. })
  97. })
  98. },
  99. // 登出
  100. Logout({ commit, state }) {
  101. return new Promise((resolve) => {
  102. let logoutToken = state.token;
  103. commit('SET_TOKEN', '')
  104. uni.removeStorageSync(ACCESS_TOKEN)
  105. api.logout(logoutToken).then(() => {
  106. resolve()
  107. }).catch(() => {
  108. resolve()
  109. })
  110. })
  111. },
  112. },
  113. getters:{
  114. token: state => state.token,
  115. username: state => {state.userid=uni.getStorageSync(USER_INFO).username; return state.username},
  116. nickname: state => {state.userid=uni.getStorageSync(USER_INFO).realname; return state.user.realname},
  117. avatar: state => {state.userid=uni.getStorageSync(USER_INFO).avatar; return state.user.avatar},
  118. userid:state => {state.userid=uni.getStorageSync(USER_INFO).id; return state.userid},
  119. }
  120. })