Files
SmartOpsWeb/src/stores/userstore.js
2024-08-18 22:21:18 +08:00

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
}
})