user.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import { wechatAuthLogin, mobileLogin, getAccessToken } from '@/services/api/auth.js'
  2. import { wxLogin } from '@/common/auth.js'
  3. import { setStorage } from '@/common/storage.js'
  4. import { objAssign } from '@/common/utils.js'
  5. const state = {
  6. // 用户信息
  7. headImgUrl: '',
  8. mobile: '',
  9. nickName: '',
  10. openId: '',
  11. userId: 0,
  12. userIdentity: -1, // 用户类型
  13. inviteUserId: '', // 分享者用户ID
  14. accessToken: '', // token
  15. }
  16. const mutations = {
  17. SET_USER_INFO: (state, userInfo) => {
  18. objAssign(state, userInfo)
  19. },
  20. SET_INVITE_USER_ID: (state, id) => {
  21. state.inviteUserId = id
  22. },
  23. SET_ACCESS_TOKEN: (state, token) => {
  24. state.accessToken = token
  25. }
  26. }
  27. const actions = {
  28. // 微信自动登录
  29. async wxAutoLogin({ commit, state, dispatch }) {
  30. try {
  31. const code = await wxLogin() // 获取微信code
  32. const res = await wechatAuthLogin({ code }) // 微信自动登录
  33. const data = JSON.parse(res.data)
  34. commit('SET_USER_INFO', data)
  35. setStorage('USER_INFO', data)
  36. dispatch('getAccessToken') // 获取token
  37. return res
  38. } catch (e) {
  39. commit('SET_LOGIN_FLAG', false)
  40. return Promise.reject(e)
  41. }
  42. },
  43. // 手机号注册登录
  44. async register({ commit }, resigterData) {
  45. try {
  46. const res = await mobileLogin(resigterData)
  47. const data = JSON.parse(res.data)
  48. commit('SET_USER_INFO', data)
  49. setStorage('USER_INFO', data)
  50. return res
  51. } catch (e) {
  52. return Promise.reject(e)
  53. }
  54. },
  55. // 获取accessToken
  56. async getAccessToken({ commit }) {
  57. try {
  58. const res = await getAccessToken()
  59. commit('SET_ACCESS_TOKEN', res.data)
  60. return res
  61. } catch (e) {
  62. return Promise.reject(e)
  63. }
  64. }
  65. }
  66. export default {
  67. namespaced: true,
  68. state,
  69. mutations,
  70. actions
  71. }