一. npm i js-cookie和npm i vuex包下载
二.在utils创建setToken.js文件,在vuex创建store创建index.js,modules文件夹中创建user.js
三.封装js-cookie
import Cookies from 'js-cookie'
const TokenKey = 'token'
export function getToken () {
return Cookies.get(TokenKey)
}
export function setToken (token) {
return Cookies.set(TokenKey, token)
}
export function removeToken () {
return Cookies.remove(TokenKey)
}
四.vuex封装
user.js封装
// js-cookie
import { getToken} from '../../utils/setToken'
// 登录请求接口
import { sysLogin} from '../../api/login'
const state = {
token: getToken() || '',
}
const mutations = {
// token存
setToken (state, value) {
state.token = value
}
}
const actions = {
async toLogin (store, form) {
const res = await sysLogin(form)
console.log('token', res.data)
store.commit('setToken', res.data.access_token)
}
}
export default {
namespaced: true,
state,
mutations,
actions
}
index.js
import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
user
}
})
export default store
五.实现token存储