123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- import { login, fetchUserInfo, fetchUserVipInfo } from '@/api/user'
- import { resetRouter } from '@/router'
- import { getToken, getUserInfo, removeToken, removeUserInfo, setToken, setUserInfo } from '@/utils/auth'
- // 用户信息
- const state = {
- token: getToken(),
- userInfo: null,
- name: '',
- shopStatus: '',
- authUserId: '',
- userIdentity: '',
- shopType: '',
- brandId: '',
- loginAccount: '',
- mobile: '',
- vipStatus: '',
- roles: [],
- menusList: [],
- permissions: [],
- vipInfo: {}
- }
- const mutations = {
- // 重置用户信息
- SAVE_USER_INOF: (state, playload) => {
- const userInfo = playload
- state.name = userInfo.name || ''
- state.shopStatus = userInfo.shopStatus || ''
- state.authUserId = userInfo.authUserId || ''
- state.userIdentity = userInfo.userIdentity || ''
- state.shopType = userInfo.shopType || ''
- state.brandId = userInfo.brandId || ''
- state.loginAccount = userInfo.loginAccount || ''
- state.mobile = userInfo.mobile || ''
- state.vipStatus = userInfo.vipStatus || ''
- },
- // 设置token
- SET_TOKEN: (state, token) => {
- state.token = token
- },
- // 设置用户角色
- SET_ROLES: (state, roles) => {
- state.roles = roles
- },
- // 保存菜单列表
- SET_MENUS: (state, menus) => {
- state.menusList = menus
- },
- // 保存权限列表
- SET_PERMISSIONS: (state, permissions) => {
- state.permissions = permissions
- },
- // 保存会员信息
- SET_VIPINFO: (state, info) => {
- state.vipInfo = info
- }
- }
- const actions = {
- // 登录操作
- login({ commit }, userInfo) {
- const { username, password } = userInfo
- return login({ mobileOrName: username.trim(), password: password })
- .then(res => {
- // 保存token及用户信息
- setToken(res.data.token)
- setUserInfo(res.data)
- commit('SAVE_USER_INOF', res.data)
- commit('SET_TOKEN', res.data.token)
- })
- .catch(() => {
- commit('SAVE_USER_INOF', {})
- commit('SET_TOKEN', '')
- commit('SET_ROLES', [])
- })
- },
- // 获取用户菜单列表
- fetchUserInfo({ commit, state }) {
- return fetchUserInfo({ authUserId: state.authUserId }).then(res => {
- console.log(res)
- commit('SET_ROLES', res.data.roles)
- commit('SET_MENUS', res.data.menus)
- commit('SET_PERMISSIONS', res.data.permissions)
- })
- },
- // 获取用户会员信息
- fetchUserVipInfo({ commit, state }) {
- if (state.userIdentity === 1) return
- fetchUserVipInfo({ authUserId: state.authUserId }).then(res => {
- commit('SET_VIPINFO', res.data)
- })
- },
- // 退出登录
- logout({ commit }) {
- removeToken()
- removeUserInfo()
- resetRouter()
- commit('SAVE_USER_INOF', {})
- commit('SET_TOKEN', '')
- commit('SET_ROLES', [])
- },
- // 代理登录
- proxyLogin({ commit, rootGetters }) {
- commit('SET_ROLES', [])
- commit('SAVE_USER_INOF', rootGetters.proxyInfo)
- },
- // 代理登出
- proxyLogout({ commit }) {
- commit('SET_ROLES', [])
- commit('SAVE_USER_INOF', getUserInfo())
- }
- }
- export default {
- namespaced: true,
- state,
- mutations,
- actions
- }
|