import { httpApi } from 'hc-vue3-ui'
import router from '~src/router/index'
import pinia from '~src/store/init'
import { useAppStore } from '~src/store'
import website from '~src/config'

//初始变量
const store = useAppStore(pinia)

//封装的请求
export const HcApi = async (obj) => {
    return new Promise((resolve) => {
        //处理统一的请求头
        obj.headers = obj.headers ?? {}
        obj.headers['Client-Id'] = obj.headers['Client-Id'] ?? website.clientId
        obj.headers['Tenant-Id'] = obj.headers['Tenant-Id'] ?? store.tenantId
        //发起请求
        httpApi(obj).then((response) => {
            resolve(response)
        }).catch((response) => {
            getResData(response)
            resolve(response)
        })
    })
}

//处理数据
const getResData = async ({ code }) => {
    if (code === 401) {
        window.$message?.error('身份失效,请重新登录！')
        router.push({ path: '/login' }).then()
    }
}
