import {defineStore} from "pinia"; import {ref} from "vue"; import {getUserInfo, login} from "../api/login"; import {ElMessage} from "element-plus"; import {getToken, removeToken, setToken} from "../utils/auth"; export const useAuthStore = defineStore('auth', () => { const userinfo = ref({}) const permisstions = ref([]) const roles = ref([]) const casToken = (token) => { console.log('getToken()!==token',getToken()!==token) let flag='' if(getToken()!==token){//切换token setToken(token) flag=true }else { flag=false } return flag; } 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, roles, casToken, userLogin, userLogout, setUserInfo } })