init : 初始化仓库
This commit is contained in:
42
src/stores/userstore.js
Normal file
42
src/stores/userstore.js
Normal file
@@ -0,0 +1,42 @@
|
||||
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
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user