mirror of https://gitee.com/pnoker/dc3-web.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.0 KiB
68 lines
2.0 KiB
import md5 from 'js-md5';
|
|
|
|
import {getStore, removeCookies, removeStore, setCookies, setStore} from '@/util/store'
|
|
import {cancelToken, generateSalt, generateToken} from '@/api/user'
|
|
|
|
import website from "@/config/website";
|
|
|
|
const user = {
|
|
state: {},
|
|
actions: {
|
|
GenerateSalt({commit}, name) {
|
|
return new Promise((resolve, reject) => {
|
|
generateSalt(name).then(res => {
|
|
resolve(res.data);
|
|
}).catch(error => {
|
|
reject(error);
|
|
})
|
|
});
|
|
},
|
|
GenerateToken({commit}, form) {
|
|
let login = {
|
|
tenant: form.tenant,
|
|
name: form.name,
|
|
salt: form.salt,
|
|
password: md5(md5(form.password) + form.salt)
|
|
};
|
|
return new Promise((resolve, reject) => {
|
|
generateToken(login).then(res => {
|
|
const data = res.data;
|
|
commit('SET_TOKEN',
|
|
{
|
|
tenant: login.tenant,
|
|
name: login.name,
|
|
salt: login.salt,
|
|
token: data
|
|
}
|
|
);
|
|
resolve();
|
|
}).catch(error => {
|
|
reject(error);
|
|
});
|
|
});
|
|
},
|
|
ClearToken({commit}) {
|
|
return new Promise((resolve) => {
|
|
let token = getStore(website.token_header);
|
|
if (token && token.name) {
|
|
cancelToken(token.name);
|
|
}
|
|
commit('REMOVE_TOKEN');
|
|
resolve();
|
|
});
|
|
}
|
|
},
|
|
mutations: {
|
|
SET_TOKEN: (state, token) => {
|
|
setCookies(website.token_header, token);
|
|
setStore(website.token_header, token);
|
|
},
|
|
REMOVE_TOKEN: () => {
|
|
removeCookies(website.token_header);
|
|
removeStore(website.token_header);
|
|
}
|
|
}
|
|
};
|
|
|
|
export default user
|