| 1234567891011121314151617181920212223242526272829303132 |
- import { saveToken, destoryToken } from '@/utils/token';
- import { ActionTree, Module, MutationTree } from 'vuex';
- import { RootState, TokenPayload, TokenState } from '../typings';
- const DEFAULT: TokenState = {
- token: localStorage.getItem('token') || '',
- };
- const actions: ActionTree<TokenState, RootState> = {
- updateToken({ commit }, payload: TokenPayload) {
- commit('updateToken', payload);
- saveToken(payload.token);
- },
- destoryToken({ commit }) {
- commit('updateToken', {
- token: '',
- } as TokenPayload);
- destoryToken();
- },
- };
- const mutations: MutationTree<TokenState> = {
- updateToken(state, { token }: TokenPayload) {
- state.token = token;
- },
- };
- export const token: Module<TokenState, RootState> = {
- state: () => DEFAULT,
- mutations,
- actions,
- };
|