|
|
@ -1,19 +1,16 @@
|
|
|
|
import md5 from 'js-md5';
|
|
|
|
import md5 from 'js-md5';
|
|
|
|
import {getStore, removeStore, setStore} from '@/util/store'
|
|
|
|
|
|
|
|
|
|
|
|
import {getStore, removeCookies, removeStore, setCookies, setStore} from '@/util/store'
|
|
|
|
import {cancelToken, generateSalt, generateToken} from '@/api/user'
|
|
|
|
import {cancelToken, generateSalt, generateToken} from '@/api/user'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import website from "@/config/website";
|
|
|
|
|
|
|
|
|
|
|
|
const user = {
|
|
|
|
const user = {
|
|
|
|
state: {
|
|
|
|
state: {},
|
|
|
|
salt: getStore({name: 'salt'}) || '',
|
|
|
|
|
|
|
|
user: getStore({name: 'user'}) || '',
|
|
|
|
|
|
|
|
token: getStore({name: 'token'}) || '',
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
actions: {
|
|
|
|
actions: {
|
|
|
|
GenerateSalt({commit}, name) {
|
|
|
|
GenerateSalt({commit}, name) {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
generateSalt(name).then(res => {
|
|
|
|
generateSalt(name).then(res => {
|
|
|
|
commit('SET_SALT', res.data);
|
|
|
|
|
|
|
|
commit('SET_USER', name);
|
|
|
|
|
|
|
|
resolve(res.data);
|
|
|
|
resolve(res.data);
|
|
|
|
}).catch(error => {
|
|
|
|
}).catch(error => {
|
|
|
|
reject(error);
|
|
|
|
reject(error);
|
|
|
@ -21,14 +18,23 @@ const user = {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
GenerateToken({commit}, form) {
|
|
|
|
GenerateToken({commit}, form) {
|
|
|
|
let user = {
|
|
|
|
let login = {
|
|
|
|
name: form.user.name,
|
|
|
|
tenant: form.tenant,
|
|
|
|
password: md5(md5(form.user.password) + form.salt)
|
|
|
|
name: form.name,
|
|
|
|
|
|
|
|
salt: form.salt,
|
|
|
|
|
|
|
|
password: md5(md5(form.password) + form.salt)
|
|
|
|
};
|
|
|
|
};
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
generateToken(user).then(res => {
|
|
|
|
generateToken(login).then(res => {
|
|
|
|
const data = res.data;
|
|
|
|
const data = res.data;
|
|
|
|
commit('SET_TOKEN', data);
|
|
|
|
commit('SET_TOKEN',
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tenant: login.tenant,
|
|
|
|
|
|
|
|
name: login.name,
|
|
|
|
|
|
|
|
salt: login.salt,
|
|
|
|
|
|
|
|
token: data
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
);
|
|
|
|
resolve();
|
|
|
|
resolve();
|
|
|
|
}).catch(error => {
|
|
|
|
}).catch(error => {
|
|
|
|
reject(error);
|
|
|
|
reject(error);
|
|
|
@ -36,42 +42,24 @@ const user = {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
ClearToken({commit}) {
|
|
|
|
ClearToken({commit}) {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
cancelToken(getStore({name: 'user'})).then((res) => {
|
|
|
|
let token = getStore(website.token_header);
|
|
|
|
commit('REMOVE_SALT');
|
|
|
|
if (token && token.name) {
|
|
|
|
commit('REMOVE_USER');
|
|
|
|
cancelToken(token.name);
|
|
|
|
|
|
|
|
}
|
|
|
|
commit('REMOVE_TOKEN');
|
|
|
|
commit('REMOVE_TOKEN');
|
|
|
|
resolve(res);
|
|
|
|
resolve();
|
|
|
|
}).catch(error => {
|
|
|
|
|
|
|
|
reject(error);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mutations: {
|
|
|
|
mutations: {
|
|
|
|
SET_SALT: (state, salt) => {
|
|
|
|
|
|
|
|
state.salt = salt;
|
|
|
|
|
|
|
|
setStore({name: 'salt', content: state.salt});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
REMOVE_SALT: (state) => {
|
|
|
|
|
|
|
|
state.salt = '';
|
|
|
|
|
|
|
|
removeStore({name: 'salt'});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
SET_USER: (state, user) => {
|
|
|
|
|
|
|
|
state.user = user;
|
|
|
|
|
|
|
|
setStore({name: 'user', content: state.user});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
REMOVE_USER: (state) => {
|
|
|
|
|
|
|
|
state.user = '';
|
|
|
|
|
|
|
|
removeStore({name: 'user'});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
SET_TOKEN: (state, token) => {
|
|
|
|
SET_TOKEN: (state, token) => {
|
|
|
|
state.token = token;
|
|
|
|
setCookies(website.token_header, token);
|
|
|
|
setStore({name: 'token', content: state.token});
|
|
|
|
setStore(website.token_header, token);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
REMOVE_TOKEN: (state) => {
|
|
|
|
REMOVE_TOKEN: () => {
|
|
|
|
state.token = '';
|
|
|
|
removeCookies(website.token_header);
|
|
|
|
removeStore({name: 'token'});
|
|
|
|
removeStore(website.token_header);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|