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('30119d9978a6f3321fb4779c0040e997df4dd0dd0cf6b71119657617d2249ed783f940b0050d5be7e758740ea467afdf3eeb4d28fb5ea234af60ebe51fb218ff6a0563074f3084b41c1bc8dc0733d06bfbb433a8d5a1d13eb6227adbf50a5da566a4cacdbf91899e563f10864fe2acfeee36e90ceb1aa03bbcca63f1bf5514d416827d0ea543bd8e02552fbd612d801b4b827977f6fe7d6201838456049083706a6e48004fc0ad99eddea3a8875f6583e959fd172a7cfb40f877bc0741a259520e9b6f524d04ee175bdc99c32eef4ef52c1ed38ed1034df8695c62ff44933644')
  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,
  }
})