{"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          showClose: true,\n          message: `${txt}`,\n          type: 'success',\n        })\n        break\n      case 2:\n        // 轻微级别\n        HlMessage({\n          showClose: true,\n          message: `${txt}`,\n          type: 'warning',\n        })\n        break\n      case 3:\n        // 一般级别\n        HlMessage({\n          showClose: true,\n          message: `${txt}`,\n          type: 'info',\n        })\n        break\n      case 4:\n      case 5:\n        // 严重\n        HlMessage({\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":"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"}