12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import { login } from '@/api/user'
- import router, { resetRouter } from '@/router'
- import { setToken, deleteToken } from '@/utils/auth'
- import Base from '@/utils/base64ToPassword'
- // import Vue from 'vue'
- // import { checkToken } from '@/api/system'
- const SET_SINGLE_SIGN_ON = localStorage.getItem('SET_SINGLE_SIGN_ON')
- const USERINFO = localStorage.getItem('userInfo')
- const state = {
- singleSignOn: SET_SINGLE_SIGN_ON !== '0', // 单点登录
- userInfo: !USERINFO ? {} : JSON.parse(USERINFO)
- }
- const mutations = {
- SET_SINGLE_SIGN_ON (state, loginType) {
- state.singleSignOn = loginType === 1
- localStorage.setItem('SET_SINGLE_SIGN_ON', loginType)
- },
- SET_USERINFO: (state, userInfo) => {
- state.userInfo = userInfo
- localStorage.setItem('userInfo', JSON.stringify(userInfo))
- }
- }
- const actions = {
- login ({ commit, dispatch }, params) {
- const { username, password, ...query } = params
- const newBase = new Base()
- const newParams = {
- username: username.trim(),
- password: newBase.encode(password.trim() + (Math.random()).toString().slice(2, 8)),
- ...query
- }
- // 账号密码处理
- return new Promise((resolve, reject) => {
- login(newParams).then(res => {
- // 登录成功返回对应的信息 包括token 用户信息 权限等等
- const { data } = res
- commit('SET_SINGLE_SIGN_ON', 0)
- commit('menu/SET_REFRESH', true, { root: true })
- setToken(data.token)
- // const { username, name, id, employeeCode } = data.user
- commit('SET_USERINFO', data.user)
- resolve()
- }).catch(reject)
- })
- },
- // 退出登录
- /**
- *
- * @param {*} param
- * @param { Boolean } isLogin 是否调用回到登录页方法
- */
- userLogout ({ commit }) {
- // 清空token
- deleteToken()
- // 清除路由
- resetRouter()
- if (!state.singleSignOn) {
- // 普通退出
- router.push({ path: '/login-local' })
- commit('SET_SINGLE_SIGN_ON', 1) // 重置为单点登录
- return
- }
- router.push({ path: '/reminder' })
- }
- }
- export default {
- namespaced: true,
- state,
- mutations,
- actions
- }
|