1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import { login } from '@/api/user'
- import { getToken, setToken, removeToken, setUserId } from '@/utils/auth'
- import { resetRouter } from '@/router'
- import md5 from 'js-md5'
-
- const getDefaultState = () => {
- return {
- token: getToken()
- }
- }
-
- const state = getDefaultState()
-
- // 定义Mutations
- const mutations = {
- RESET_STATE: (state) => {
- Object.assign(state, getDefaultState())
- },
- SET_TOKEN: (state, token) => {
- state.token = token
- }
- }
- // 在actions里面增加一个才可以在页面加
- // this.$store.dispatch('user/login', this.loginForm)调用api里面的方法
- const actions = {
- // user login
- login({ commit }, userInfo) {
- const { userName, password } = userInfo
- return new Promise((resolve, reject) => {
- login({ userName: userName.trim(), password: md5(password) }).then(response => {
- const { data } = response
- commit('SET_TOKEN', data.token)
- setToken(data.token)
- setUserId('admin')
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
- },
-
- // user logout
- logout({ commit, state }) {
- return new Promise((resolve, reject) => {
- removeToken() // must remove token first
- resetRouter()
- commit('RESET_STATE')
- resolve()
- })
- },
-
- // remove token
- resetToken({ commit }) {
- return new Promise(resolve => {
- removeToken() // must remove token first
- commit('RESET_STATE')
- resolve()
- })
- }
- }
-
- export default {
- namespaced: true,
- state,
- mutations,
- actions
- }
|