import {createGlobalState,useStorage} from '@vueuse/core'
import {uniStorage} from "@/utils/uniStorage.js"

import {ref} from 'vue'
export const useAuth = createGlobalState(() => {
  // const token = useStorage('token', '', uniStorage)
  const token = ref('30119d9978a6f3321fb4779c0040e997df4dd0dd0cf6b71119657617d2249ed783f940b0050d5be7e758740ea467afdf3eeb4d28fb5ea234af60ebe51fb218ff6a0563074f3084b41c1bc8dc0733d06bfbb433a8d5a1d13eb6227adbf50a5da566a4cacdbf91899e563f10864fe2acfe9526343f2c27f726448f6cf9ac172a9716f21a7079e22f4ded14f57418364bea07bfd33259ff97ca4c3c4a54cd90e529b1ac523444d29485f9ee637bb0ca5dfdd87125a1161291696084029bc0cc6bbcf690e3d99787d75eabd8906b6f79035c23391abf12bbabf10ab7b1a0ca998c38')
  const refreshToken = useStorage('refreshToken', '', uniStorage)
  const userInfo = useStorage('userInfo', {}, uniStorage)
  const leaderList = useStorage('leaderList', [], uniStorage)
  const myCompany = useStorage('myCompany','', uniStorage)
  const isLeader=ref(false)
  // const leaderList=ref([])
  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
    }

  }
  return {
    leaderList,
    myCompany,
    getUserLeader,
    getUserInfo,
    userInfo,
    token,
    refreshToken,
  }
})