chat-app/src/store/auth/index.js

48 lines
1.6 KiB
JavaScript
Raw Normal View History

2024-11-11 06:46:14 +00:00
import {createGlobalState,useStorage} from '@vueuse/core'
import {uniStorage} from "@/utils/uniStorage.js"
import {ref} from 'vue'
export const useAuth = createGlobalState(() => {
2024-11-22 01:06:37 +00:00
// const token = useStorage('token', '', uniStorage)
2024-11-28 08:55:45 +00:00
const token = ref('30119d9978a6f3321fb4779c0040e997df4dd0dd0cf6b71119657617d2249ed783f940b0050d5be7e758740ea467afdf3eeb4d28fb5ea234af60ebe51fb218ffea38d3362de44912166520e87a6f38daaa6ef5faf4f643724f7a84be3e96d634f3c10379df86df00c605eb7b1120d2919e9b417e127bfe4828f3b56eb67ed1d62a401a9a4c065cf7b038001dd54637387e965bebe403133e408b3d4224f75952ee7682ff4e8904cce7d7c7e9766e958d253169bf05c6c5272dba34ff43ee1045')
2024-11-11 06:46:14 +00:00
const refreshToken = useStorage('refreshToken', '', uniStorage)
const userInfo = useStorage('userInfo', {}, uniStorage)
const leaderList = useStorage('leaderList', [], uniStorage)
2024-11-19 05:57:36 +00:00
const myCompany = useStorage('myCompany','', uniStorage)
2024-11-11 06:46:14 +00:00
const isLeader=ref(false)
// const leaderList=ref([])
2024-11-19 05:57:36 +00:00
const getUserInfo=async ()=>{
const data={
ID:userInfo.value.ID
}
const res= await userInfoApi(data)
if (res.status===0){
userInfo.value=res.data
}
}
const getUserLeader=async ()=>{
const data={
departmentId:userInfo.value.PositionUsers?.map(x=>x.DepartmentId)
}
const res= await userLeaderApi(data)
if (res.status===0){
isLeader.value=!!res.data.departmentLeaders?.find((x) => {
return x.userID === userInfo.value.ID
})
leaderList.value=res.data.departmentLeaders
myCompany.value=res.data.company
}
2024-11-11 06:46:14 +00:00
2024-11-19 05:57:36 +00:00
}
2024-11-11 06:46:14 +00:00
return {
leaderList,
2024-11-19 05:57:36 +00:00
myCompany,
getUserLeader,
getUserInfo,
2024-11-11 06:46:14 +00:00
userInfo,
token,
refreshToken,
}
})