import router from '@/router'
import { getStaffOnDutyStatus } from '@/service/StaffService'
import { eRole } from '@/types/roleType'
import { getUserMsg } from './userMsg'

export function authCheck(cb: Function) {
  if (getUserMsg()) cb()
  else {
    router.push({
      name: 'Login',
    })
  }
}

/**
 *
 * @param cb 有权限时回调
 * @param cb2 没有权限时回调 什么时候没有权限？本地无token，用户在其他地方登录，不在岗或被禁用了
 */
export async function chatAuthCheck(cb: Function, cb2?: Function) {
  const msg = getUserMsg()
  if (msg?.role === eRole.user) {
    cb()
  } else if (msg?.role === eRole.staff) {
    const ret = await getStaffOnDutyStatus()
    if (ret.code === 200 && ret.data) {
      cb()
    } else {
      cb2 && cb2(ret.data)
    }
  } else {
    cb2 && cb2()
  }
}
