{"version":3,"file":"index.mjs","sources":["../../../../../packages/utils/http/index.ts"],"sourcesContent":["import {\n  defaultRequestInterceptor,\n  defaultResponseInterceptor,\n  errorMessageResponseInterceptor,\n} from './core/preset-interceptors'\nimport { RequestClient } from './core/request-client'\nimport { ElMessage } from 'element-plus'\n\nlet baseURL = '/vue-api'\nif (import.meta.env.DEV) {\n  const urlParams = new URLSearchParams(window.location.search)\n  const devProxy = urlParams.get('devProxy')\n  baseURL = devProxy || '/sit-api'\n}\n\nconst client = new RequestClient({\n  baseURL,\n  responseReturn: 'body',\n  timeout: 50_000,\n})\n\n/**\n * 重新认证逻辑\n */\nasync function doReAuthenticate() {\n  let loginUrl = '/pc-vue/login'\n  if (import.meta.env.DEV) {\n    loginUrl = `${location.pathname}${location.search}#/login`\n  }\n\n  if (window.parent) {\n    window.parent.location.href = loginUrl\n  } else {\n    window.location.href = loginUrl\n  }\n}\n\n// 请求头处理\nclient.addRequestInterceptor(defaultRequestInterceptor())\n\n// 处理成功返回的响应数据格式\nclient.addResponseInterceptor(\n  defaultResponseInterceptor({\n    makeInfoMessage: (msg) => {\n      ElMessage.error(msg)\n    },\n  }),\n)\n\n// 通用的错误处理,如果没有进入上面的错误处理逻辑，就会进入这里\nclient.addResponseInterceptor(\n  errorMessageResponseInterceptor((msg: string, error) => {\n    const responseData = error?.response?.data ?? {}\n    const errorMessage = responseData?.error ?? responseData?.message ?? ''\n    // 如果没有错误信息，则会根据状态码进行提示\n    ElMessage.error({\n      message: errorMessage || msg,\n      onClose: () => {\n        if (error?.response?.status === 401) {\n          doReAuthenticate()\n        }\n      },\n    })\n  }),\n)\n\nexport const http = client\nexport * from './core/types'\n"],"names":[],"mappings":";;;;AAQA,IAAI,OAAA,GAAU,UAAA;AACd,IAAI,MAAA,CAAA,IAAA,CAAY,IAAI,GAAA,EAAK;AACvB,EAAA,MAAM,SAAA,GAAY,IAAI,eAAA,CAAgB,MAAA,CAAO,SAAS,MAAM,CAAA;AAC5D,EAAA,MAAM,QAAA,GAAW,SAAA,CAAU,GAAA,CAAI,UAAU,CAAA;AACzC,EAAA,OAAA,GAAU,QAAA,IAAY,UAAA;AACxB;AAEA,MAAM,MAAA,GAAS,IAAI,aAAA,CAAc;AAAA,EAC/B,OAAA;AAAA,EACA,cAAA,EAAgB,MAAA;AAAA,EAChB,OAAA,EAAS;AACX,CAAC,CAAA;AAKD,eAAe,gBAAA,GAAmB;AAChC,EAAA,IAAI,QAAA,GAAW,eAAA;AACf,EAAA,IAAI,MAAA,CAAA,IAAA,CAAY,IAAI,GAAA,EAAK;AACvB,IAAA,QAAA,GAAW,CAAA,EAAG,QAAA,CAAS,QAAQ,CAAA,EAAG,SAAS,MAAM,CAAA,OAAA,CAAA;AAAA,EACnD;AAEA,EAAA,IAAI,OAAO,MAAA,EAAQ;AACjB,IAAA,MAAA,CAAO,MAAA,CAAO,SAAS,IAAA,GAAO,QAAA;AAAA,EAChC,CAAA,MAAO;AACL,IAAA,MAAA,CAAO,SAAS,IAAA,GAAO,QAAA;AAAA,EACzB;AACF;AAGA,MAAA,CAAO,qBAAA,CAAsB,2BAA2B,CAAA;AAGxD,MAAA,CAAO,sBAAA;AAAA,EACL,0BAAA,CAA2B;AAAA,IACzB,eAAA,EAAiB,CAAC,GAAA,KAAQ;AACxB,MAAA,SAAA,CAAU,MAAM,GAAG,CAAA;AAAA,IACrB;AAAA,GACD;AACH,CAAA;AAGA,MAAA,CAAO,sBAAA;AAAA,EACL,+BAAA,CAAgC,CAAC,GAAA,EAAa,KAAA,KAAU;AACtD,IAAA,MAAM,YAAA,GAAe,KAAA,EAAO,QAAA,EAAU,IAAA,IAAQ,EAAC;AAC/C,IAAA,MAAM,YAAA,GAAe,YAAA,EAAc,KAAA,IAAS,YAAA,EAAc,OAAA,IAAW,EAAA;AAErE,IAAA,SAAA,CAAU,KAAA,CAAM;AAAA,MACd,SAAS,YAAA,IAAgB,GAAA;AAAA,MACzB,SAAS,MAAM;AACb,QAAA,IAAI,KAAA,EAAO,QAAA,EAAU,MAAA,KAAW,GAAA,EAAK;AACnC,UAAA,gBAAA,EAAiB;AAAA,QACnB;AAAA,MACF;AAAA,KACD,CAAA;AAAA,EACH,CAAC;AACH,CAAA;AAEO,MAAM,IAAA,GAAO;;;;"}