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

48 lines
1.7 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-12-20 08:59:58 +00:00
const token = ref('30119d9978a6f3321fb4779c0040e997df4dd0dd0cf6b71119657617d2249ed783f940b0050d5be7e758740ea467afdf3eeb4d28fb5ea234af60ebe51fb218ff6a0563074f3084b41c1bc8dc0733d06bfbb433a8d5a1d13eb6227adbf50a5da566a4cacdbf91899e563f10864fe2acfe9526343f2c27f726448f6cf9ac172a9716f21a7079e22f4ded14f57418364bea07bfd33259ff97ca4c3c4a54cd90e529b1ac523444d29485f9ee637bb0ca5dfdd87125a1161291696084029bc0cc6bbcf690e3d99787d75eabd8906b6f79035c23391abf12bbabf10ab7b1a0ca998c38')
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,
}
})