43 lines
965 B
JavaScript
43 lines
965 B
JavaScript
import { defineStore } from "pinia";
|
|
import { ref } from "vue";
|
|
import { getUserInfo, login } from "../api/login";
|
|
import { ElMessage } from "element-plus";
|
|
import { removeToken, setToken} from "../utils/auth";
|
|
|
|
export const useAuthStore = defineStore('auth',()=>{
|
|
const userinfo = ref({})
|
|
const permisstions = ref([])
|
|
const roles = ref([])
|
|
const userLogin = async (data) => {
|
|
let flag
|
|
await login(data).then(res=>{
|
|
if(res?.code === 1000) {
|
|
setToken(res.data)
|
|
flag = true
|
|
}else {
|
|
ElMessage.error(res.msg)
|
|
flag = false
|
|
}
|
|
})
|
|
return flag
|
|
}
|
|
const userLogout = () => {
|
|
removeToken()
|
|
}
|
|
const setUserInfo = async () => {
|
|
await getUserInfo().then(res=>{
|
|
userinfo.value = res.data.user
|
|
permisstions.value = res.data.permissions
|
|
roles.value = res.data.roles
|
|
})
|
|
}
|
|
|
|
return {
|
|
userinfo,
|
|
permisstions,
|
|
userLogin,
|
|
userLogout,
|
|
setUserInfo
|
|
}
|
|
})
|