|
@@ -1,12 +1,14 @@
|
|
|
-import { getToken, removeToken, setToken } from '@/utils/auth';
|
|
|
+import { getSessionID, removeSessionID, setSessionID } from '@/utils/auth';
|
|
|
import { user } from '@/store/mutation-types';
|
|
|
import { resetRouter } from '@/router';
|
|
|
+import { login } from '@/api/user';
|
|
|
|
|
|
const getDefaultSate = () => {
|
|
|
return {
|
|
|
- token: getToken(),
|
|
|
- name: 'teacher',
|
|
|
- userType: ''
|
|
|
+ session_id: getSessionID(),
|
|
|
+ user_code: '',
|
|
|
+ user_real_name: '',
|
|
|
+ user_type: ''
|
|
|
};
|
|
|
};
|
|
|
|
|
@@ -16,44 +18,48 @@ const mutations = {
|
|
|
[user.RESET_STATE]: state => {
|
|
|
Object.assign(state, getDefaultSate());
|
|
|
},
|
|
|
- [user.SET_TOKEN]: (state, token) => {
|
|
|
- state.token = token;
|
|
|
+ [user.SET_SESSION_ID]: (state, session_id) => {
|
|
|
+ state.session_id = session_id;
|
|
|
},
|
|
|
- [user.SET_USER_TYPE]: (state, userType) => {
|
|
|
- state.userType = userType;
|
|
|
+ [user.SET_USER_INFO]: (state, { user_code, user_real_name, user_type }) => {
|
|
|
+ state.user_code = user_code;
|
|
|
+ state.user_real_name = user_real_name;
|
|
|
+ state.user_type = user_type;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
const actions = {
|
|
|
// 登录
|
|
|
login({ commit }, userInfo) {
|
|
|
- const {
|
|
|
- loginForm: { username, password },
|
|
|
- userType
|
|
|
- } = userInfo;
|
|
|
- return new Promise(reslove => {
|
|
|
- if (Boolean(username) && Boolean(password)) {
|
|
|
- setToken(`token-${username}-${password}`);
|
|
|
- commit(user.SET_USER_TYPE, userType);
|
|
|
- commit(user.SET_TOKEN, `token-${username}-${password}`);
|
|
|
- reslove();
|
|
|
- }
|
|
|
+ const { loginForm } = userInfo;
|
|
|
+ return new Promise((reslove, reject) => {
|
|
|
+ login(loginForm)
|
|
|
+ .then(response => {
|
|
|
+ let { user_code, user_real_name, user_type, session_id } = response;
|
|
|
+ setSessionID(response.session_id);
|
|
|
+ commit(user.SET_USER_INFO, { user_code, user_real_name, user_type });
|
|
|
+ commit(user.SET_SESSION_ID, session_id);
|
|
|
+ reslove();
|
|
|
+ })
|
|
|
+ .catch(error => {
|
|
|
+ reject(error);
|
|
|
+ });
|
|
|
});
|
|
|
},
|
|
|
|
|
|
// 用户退出
|
|
|
signOut({ commit }) {
|
|
|
return new Promise(resolve => {
|
|
|
- removeToken();
|
|
|
+ removeSessionID();
|
|
|
resetRouter();
|
|
|
commit(user.RESET_STATE);
|
|
|
resolve();
|
|
|
});
|
|
|
},
|
|
|
|
|
|
- removeToken({ commit }) {
|
|
|
+ resetSessionID({ commit }) {
|
|
|
return new Promise(reslove => {
|
|
|
- removeToken();
|
|
|
+ removeSessionID();
|
|
|
commit(user.RESET_STATE);
|
|
|
reslove();
|
|
|
});
|