{"version":3,"file":"loading.mjs","sources":["../../../../packages/utils/loading.ts"],"sourcesContent":["import { HlLoading, LoadingOptions, LoadingInstance, HlMessage } from 'hongluan-ui'\n\nlet loading: LoadingInstance\nlet needLoadingRequestCount = 0\n\nfunction startLoading (args: LoadingOptions | undefined) {\n  loading = HlLoading.service({ lock: true,\n    text: '加载中……',\n    background: 'rgba(0, 0, 0, 0.05)',\n    ...args })\n}\n\nfunction tryCloseLoading () {\n  loading.close()\n}\n\nfunction preventShakeHandle (fn: { (): void; (): void; }, wait: number) {\n  let timer: NodeJS.Timeout\n  let startTime = 0\n\n  return function run () {\n    const nowTime = new Date().getTime()\n    if (nowTime - startTime < wait) {\n      // 触发时间\n      clearTimeout(timer)\n      startTime = nowTime\n      timer = setTimeout(() => {\n        fn()\n      }, wait)\n    } else {\n      startTime = nowTime\n      timer = setTimeout(() => {\n        fn()\n      }, wait)\n    }\n  }\n}\n\nconst Loading = {\n  showFullScreenLoading (args = {}) {\n    if (needLoadingRequestCount === 0) {\n      startLoading(args)\n    }\n    needLoadingRequestCount++\n  },\n  tryHideFullScreenLoading () {\n    if (needLoadingRequestCount <= 0) return\n    needLoadingRequestCount--\n    if (needLoadingRequestCount === 0) {\n      preventShakeHandle(tryCloseLoading, 300)()\n    }\n  },\n  showMessageTip(code: number, txt: string) {\n    switch (code) {\n      case 1:\n        // 成功\n        HlMessage({\n          grouping: true,\n          showClose: true,\n          message: `${txt}`,\n          type: 'success',\n        })\n        break\n      case 2:\n        // 轻微级别\n        HlMessage({\n          grouping: true,\n          showClose: true,\n          message: `${txt}`,\n          type: 'warning',\n        })\n        break\n      case 3:\n        // 一般级别\n        HlMessage({\n          grouping: true,\n          showClose: true,\n          message: `${txt}`,\n          type: 'info',\n        })\n        break\n      case 4:\n      case 5:\n        // 严重\n        HlMessage({\n          grouping: true,\n          showClose: true,\n          message: `${txt}`,\n          type: 'error',\n        })\n        break\n      default:\n        console.error('code error!')\n        break\n    }\n  },\n}\n\nexport { Loading }\n"],"names":[],"mappings":";;AAEA,IAAI,OAAA,CAAA;AACJ,IAAI,uBAA0B,GAAA,CAAA,CAAA;AAE9B,SAAA,YAAA,CAAuB,IAAkC,EAAA;AACvD,EAAA,OAAA,GAAU,UAAU,OAAQ,CAAA;AAAA,IAAE,IAAM,EAAA,IAAA;AAAA,IAClC,IAAM,EAAA,gCAAA;AAAA,IACN,UAAY,EAAA,qBAAA;AAAA,IACT,GAAA,IAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA;AAGP,SAA4B,eAAA,GAAA;AAC1B,EAAQ,OAAA,CAAA,KAAA,EAAA,CAAA;AAAA,CAAA;AAGV,SAAA,kBAAA,CAA6B,IAA6B,IAAc,EAAA;AACtE,EAAI,IAAA,KAAA,CAAA;AACJ,EAAA,IAAI,SAAY,GAAA,CAAA,CAAA;AAEhB,EAAA,OAAO,SAAgB,GAAA,GAAA;AACrB,IAAM,MAAA,OAAA,GAAU,IAAI,IAAO,EAAA,CAAA,OAAA,EAAA,CAAA;AAC3B,IAAI,IAAA,OAAA,GAAU,YAAY,IAAM,EAAA;AAE9B,MAAa,YAAA,CAAA,KAAA,CAAA,CAAA;AACb,MAAY,SAAA,GAAA,OAAA,CAAA;AACZ,MAAA,KAAA,GAAQ,WAAW,MAAM;AACvB,QAAA,EAAA,EAAA,CAAA;AAAA,OACC,EAAA,IAAA,CAAA,CAAA;AAAA,KACE,MAAA;AACL,MAAY,SAAA,GAAA,OAAA,CAAA;AACZ,MAAA,KAAA,GAAQ,WAAW,MAAM;AACvB,QAAA,EAAA,EAAA,CAAA;AAAA,OACC,EAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKT,MAAM,OAAU,GAAA;AAAA,EACd,qBAAA,CAAuB,OAAO,EAAI,EAAA;AAChC,IAAA,IAAI,4BAA4B,CAAG,EAAA;AACjC,MAAa,YAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAEf,IAAA,uBAAA,EAAA,CAAA;AAAA,GAAA;AAAA,EAEF,wBAA4B,GAAA;AAC1B,IAAA,IAAI,uBAA2B,IAAA,CAAA;AAAG,MAAA,OAAA;AAClC,IAAA,uBAAA,EAAA,CAAA;AACA,IAAA,IAAI,4BAA4B,CAAG,EAAA;AACjC,MAAA,kBAAA,CAAmB,eAAiB,EAAA,GAAA,CAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA,EAGxC,cAAA,CAAe,MAAc,GAAa,EAAA;AACxC,IAAQ,QAAA,IAAA;AAAA,MACD,KAAA,CAAA;AAEH,QAAU,SAAA,CAAA;AAAA,UACR,QAAU,EAAA,IAAA;AAAA,UACV,SAAW,EAAA,IAAA;AAAA,UACX,SAAS,CAAG,EAAA,GAAA,CAAA,CAAA;AAAA,UACZ,IAAM,EAAA,SAAA;AAAA,SAAA,CAAA,CAAA;AAER,QAAA,MAAA;AAAA,MACG,KAAA,CAAA;AAEH,QAAU,SAAA,CAAA;AAAA,UACR,QAAU,EAAA,IAAA;AAAA,UACV,SAAW,EAAA,IAAA;AAAA,UACX,SAAS,CAAG,EAAA,GAAA,CAAA,CAAA;AAAA,UACZ,IAAM,EAAA,SAAA;AAAA,SAAA,CAAA,CAAA;AAER,QAAA,MAAA;AAAA,MACG,KAAA,CAAA;AAEH,QAAU,SAAA,CAAA;AAAA,UACR,QAAU,EAAA,IAAA;AAAA,UACV,SAAW,EAAA,IAAA;AAAA,UACX,SAAS,CAAG,EAAA,GAAA,CAAA,CAAA;AAAA,UACZ,IAAM,EAAA,MAAA;AAAA,SAAA,CAAA,CAAA;AAER,QAAA,MAAA;AAAA,MACG,KAAA,CAAA,CAAA;AAAA,MACA,KAAA,CAAA;AAEH,QAAU,SAAA,CAAA;AAAA,UACR,QAAU,EAAA,IAAA;AAAA,UACV,SAAW,EAAA,IAAA;AAAA,UACX,SAAS,CAAG,EAAA,GAAA,CAAA,CAAA;AAAA,UACZ,IAAM,EAAA,OAAA;AAAA,SAAA,CAAA,CAAA;AAER,QAAA,MAAA;AAAA,MAAA;AAEA,QAAA,OAAA,CAAQ,KAAM,CAAA,aAAA,CAAA,CAAA;AACd,QAAA,MAAA;AAAA,KAAA;AAAA,GAAA;AAAA;;;;"}