import loginApi from '@/api/loginApi.js';
|
import loginUtil from '@/utils/loginUtil.js';
|
import pinia from './index';
|
import { defineStore } from 'pinia';
|
import { useActiveCheck } from './activeCheck';
|
export const useUserStore = defineStore('userToken', {
|
state: () => ({
|
user: null
|
}),
|
actions: {
|
login({ username, password, user = null }, onSuccess, onError) {
|
// 通过传递 user 对象登录
|
if (user && user != null && user != {}) {
|
loginUtil.addUserCookie(user);
|
this.user = user;
|
const activeCheck = useActiveCheck(pinia);
|
activeCheck.updateLoginTime();
|
onSuccess && onSuccess();
|
return;
|
}
|
// 通过传递 用户名密码 登录
|
loginApi
|
.login({ username, password })
|
.then((res) => {
|
if (res.guid != 'null') {
|
loginUtil.addUserCookie(res);
|
this.user = res;
|
const activeCheck = useActiveCheck(pinia);
|
activeCheck.updateLoginTime();
|
onSuccess();
|
} else {
|
onError();
|
}
|
})
|
.catch((error) => {
|
onError();
|
throw error;
|
});
|
},
|
logout() {
|
this.user = null;
|
const activeCheck = useActiveCheck(pinia);
|
activeCheck.clearLoginTime();
|
loginUtil.deleteUserCookie();
|
},
|
isLoggedIn() {
|
return this.user != null;
|
}
|
},
|
getters: {}
|
});
|