mirror of
https://github.com/cool-team-official/cool-admin-vue.git
synced 2024-11-02 06:33:40 +08:00
104 lines
2.1 KiB
JavaScript
104 lines
2.1 KiB
JavaScript
|
import { storage, href } from "cl-admin/utils";
|
||
|
|
||
|
// 用户信息
|
||
|
let info = storage.get("userInfo") || {};
|
||
|
// 授权标识
|
||
|
let token = storage.get("token") || null;
|
||
|
|
||
|
export default {
|
||
|
state: {
|
||
|
token,
|
||
|
info
|
||
|
},
|
||
|
getters: {
|
||
|
userInfo: (state) => state.info,
|
||
|
token: (state) => state.token
|
||
|
},
|
||
|
actions: {
|
||
|
// 用户登录
|
||
|
userLogin({ commit }, form) {
|
||
|
return this.$service.open.userLogin(form).then((res) => {
|
||
|
commit("SET_TOKEN", res);
|
||
|
return res;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 用户退出
|
||
|
userLogout({ dispatch }) {
|
||
|
return new Promise((resolve) => {
|
||
|
this.$service.common.userLogout().done(() => {
|
||
|
dispatch("userRemove").then(() => {
|
||
|
resolve();
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 用户信息
|
||
|
userInfo({ commit }) {
|
||
|
return this.$service.common.userInfo().then((res) => {
|
||
|
commit("SET_USERINFO", res);
|
||
|
return res;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 用户移除
|
||
|
userRemove({ commit }) {
|
||
|
console.log(222);
|
||
|
commit("CLEAR_USER");
|
||
|
commit("CLEAR_TOKEN");
|
||
|
commit("RESET_PROCESS");
|
||
|
commit("SET_MENU_GROUP", []);
|
||
|
commit("SET_VIEW_ROUTES", []);
|
||
|
commit("SET_MENU_LIST", 0);
|
||
|
},
|
||
|
|
||
|
// 刷新token
|
||
|
refreshToken({ commit, dispatch }) {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
this.$service.open
|
||
|
.refreshToken(storage.get("refreshToken"))
|
||
|
.then((res) => {
|
||
|
commit("SET_TOKEN", res);
|
||
|
resolve(res.token);
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
dispatch("userRemove");
|
||
|
href("/login");
|
||
|
reject(err);
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
mutations: {
|
||
|
// 设置用户信息
|
||
|
SET_USERINFO(state, val) {
|
||
|
state.info = val;
|
||
|
storage.set("userInfo", val);
|
||
|
},
|
||
|
|
||
|
// 设置授权标识
|
||
|
SET_TOKEN(state, { token, expire, refreshToken, refreshExpire }) {
|
||
|
// 请求的唯一标识
|
||
|
state.token = token;
|
||
|
storage.set("token", token, expire);
|
||
|
|
||
|
// 刷新 token 的唯一标识
|
||
|
storage.set("refreshToken", refreshToken, refreshExpire);
|
||
|
},
|
||
|
|
||
|
// 移除授权标识
|
||
|
CLEAR_TOKEN(state) {
|
||
|
state.token = null;
|
||
|
storage.remove("token");
|
||
|
storage.remove("refreshToken");
|
||
|
},
|
||
|
|
||
|
// 移除用户信息
|
||
|
CLEAR_USER(state) {
|
||
|
state.info = {};
|
||
|
storage.remove("userInfo");
|
||
|
}
|
||
|
}
|
||
|
};
|