@mi-avalon/libs 0.0.13 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './components';
1
2
  export * from './constants';
2
3
  export * from './hooks';
3
4
  export * from './utils';
@@ -4,10 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
+ var antd = require('antd');
7
8
  var React = require('react');
8
9
  var React__default = _interopDefault(React);
9
10
  var ReactDOMClient = require('react-dom/client');
10
11
 
12
+ var MyButton = function MyButton(props) {
13
+ return React__default.createElement(antd.Button, Object.assign({}, props), props.custom || props.children);
14
+ };
15
+
11
16
  var DATE_FORMAT = {
12
17
  YMD_Hms: 'YYYY-MM-DD HH:mm:ss',
13
18
  YMD: 'YYYY-MM-DD',
@@ -1454,6 +1459,7 @@ option) {
1454
1459
  };
1455
1460
 
1456
1461
  exports.DATE_FORMAT = DATE_FORMAT;
1462
+ exports.MyButton = MyButton;
1457
1463
  exports.NextTick = NextTick;
1458
1464
  exports.PAGE_SIZE = PAGE_SIZE;
1459
1465
  exports.PatternType = PatternType;
@@ -1 +1 @@
1
- {"version":3,"file":"libs.cjs.development.js","sources":["../src/constants/date.ts","../src/constants/pageInfo.ts","../src/constants/pattern.ts","../src/hooks/useFuncRequest.ts","../src/hooks/useInterval.ts","../src/utils/calc.ts","../src/utils/nextTick.ts","../src/utils/openModal.tsx","../src/utils/util.ts","../src/utils/version.ts","../src/hooks/usePagination.ts","../src/hooks/useQuery.ts","../src/hooks/useReactive.ts","../src/hooks/useTimeout.ts","../src/hooks/useVirtualList.ts"],"sourcesContent":["export const DATE_FORMAT = {\n\tYMD_Hms: 'YYYY-MM-DD HH:mm:ss',\n\tYMD: 'YYYY-MM-DD',\n\tYMD2: 'YYYYMMDD',\n\tYMD_POINT: 'YYYY.M.DD',\n\tHms: 'HH:mm:ss',\n\tHm: 'HH:mm',\n\tYMD_000: 'YYYY-MM-DD 00:00:00',\n\tYMD_end: 'YYYY-MM-DD 23:59:59',\n\tYMD_Hm: 'YYYYMMDD HHmm',\n};\n","export const PAGE_SIZE = 10;\n","export class PatternType {\n\t// 整数\n\tstatic readonly integerRegex = /^-?\\d+$/;\n\t// 正整数\n\tstatic readonly positiveIntegerRegex = /^[1-9]\\d*$/;\n\t// 负整数\n\tstatic readonly negativeIntegerRegex = /^-[1-9]\\d*$/;\n\t// 浮点数\n\tstatic readonly floatRegex = /^-?\\d+(\\.\\d+)?$/;\n\t// 字母\n\tstatic readonly letter = /^[a-zA-Z]+$/;\n\t// 汉字\n\tstatic readonly chinese = /^[\\u4e00-\\u9fa5]+$/;\n\t// 数字\n\tstatic readonly number = /^[0-9]*$/;\n\n\t// 用户名 字母开头,允许字母数字下划线,长度4-16\n\tstatic readonly username = /^[a-zA-Z]\\w{3,15}$/;\n\t// 强用户名 必须包含大小写字母和数字,6-20位\n\tstatic readonly strongUsername = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{6,20}$/;\n\n\t// 密码 至少8位,包含字母和数字\n\tstatic readonly password = /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$/;\n\t// 强密码 至少8位,包含大小写字母、数字和特殊字符\n\tstatic readonly strongPassword =\n\t\t/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\n\n\t// 中国大陆的手机号\n\tstatic readonly phone = /^1[3-9]\\d{9}$/;\n\t// 带区号的手机号\n\tstatic readonly phoneWithAreaCode = /^\\+?\\d{2,3}-?\\d{8,11}$/;\n\t// 邮箱\n\tstatic readonly email = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\t// 身份证\n\tstatic readonly idCard =\n\t\t/^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/;\n\t// 银行卡\n\tstatic readonly bankCard = /^[1-9]\\d{3,30}$/;\n\t// 邮政编码\n\tstatic readonly zipCode = /^[1-9]\\d{5}$/;\n\t// IP\n\tstatic readonly ip =\n\t\t/^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$/;\n\t// URL\n\tstatic readonly url = /^(https?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$/;\n\t// 车牌\n\tstatic readonly carNumber =\n\t\t/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;\n\t// 时间 hh:mm:ss\n\tstatic readonly time = /^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;\n\t// 日期 YYYY-MM-DD\n\tstatic readonly date = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\n}\n","import { useEffect, useRef, useState } from 'react';\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\nexport type UseFuncRequestOptions<\n T extends (...args: any[]) => Promise<any>\n> = {\n // 自动执行时的参数\n autoRunArgs?: Parameters<T>;\n // 开始执行前的回调函数 false 不执行 true 执行\n onBefore?: (...args: Parameters<T>) => boolean | Promise<boolean>;\n // 执行成功后的回调函数\n onSuccess?: (data: UnwrapPromise<ReturnType<T>>) => void | Promise<void>;\n // 执行失败后的回调函数\n onError?: (error: Error) => void | Promise<void>;\n // 结束后的回调函数\n onFinally?: () => void | Promise<void>;\n};\n\nexport function useFuncRequest<T extends (...args: any[]) => Promise<any>>(\n // 异步函数\n asyncFunc: T,\n // 配置项\n options?: UseFuncRequestOptions<T>\n) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<UnwrapPromise<ReturnType<T>> | null>(null);\n const abortControllerRef = useRef<AbortController>(undefined);\n const requestIdRef = useRef(0);\n\n const cancel = () => {\n abortControllerRef.current?.abort();\n setLoading(false);\n setError(null);\n };\n\n const run = async (...args: Parameters<T>) => {\n const currentRequestId = ++requestIdRef.current;\n cancel();\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n try {\n setLoading(true);\n setError(null);\n if (options?.onBefore) {\n const beforeRes = await options?.onBefore?.(...args);\n if (!beforeRes) {\n cancel();\n return;\n }\n }\n\n // 安全传递 AbortSignal\n const funcArgs =\n args.length >= asyncFunc.length\n ? args\n : [...args, { signal: abortController.signal }];\n\n const res = await asyncFunc(...(funcArgs as Parameters<T>));\n\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setData(res);\n await options?.onSuccess?.(res);\n }\n return res;\n } catch (err) {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setError(err as Error);\n await options?.onError?.(err as Error);\n }\n throw err;\n } finally {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setLoading(false);\n await options?.onFinally?.();\n }\n }\n };\n\n useEffect(() => {\n if (options?.autoRunArgs) {\n run(...options.autoRunArgs).catch(() => {});\n }\n return cancel;\n }, [JSON.stringify(options?.autoRunArgs)]);\n\n return { run, cancel, loading, error, data };\n}\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useInterval(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setInterval>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setInterval(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useInterval };\n","class CMX {\n /**\n ** 加\n **/\n add = function (arg1: number, arg2: number) {\n let r1, r2, m, c;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n let cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', '')) * cm;\n } else {\n arg1 = Number(arg1.toString().replace('.', '')) * cm;\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n } else {\n arg1 = Number(arg1?.toString().replace('.', ''));\n arg2 = Number(arg2?.toString().replace('.', ''));\n }\n return (arg1 + arg2) / m;\n };\n /**\n ** 减\n **/\n sub = function (arg1: number, arg2: number) {\n let r1, r2, m, n;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\n n = r1 >= r2 ? r1 : r2;\n return Number(((arg1 * m - arg2 * m) / m).toFixed(n));\n };\n\n /**\n ** 乘\n **/\n mul = function (arg1: number, arg2: number) {\n let m = 0,\n s1 = arg1.toString(),\n s2 = arg2.toString();\n try {\n m += s1.split('.')[1].length;\n } catch (e) { }\n try {\n m += s2.split('.')[1].length;\n } catch (e) { }\n return (\n (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m)\n );\n };\n\n /**\n ** 除\n **/\n div = function (arg1: number, arg2: number) {\n let t1 = 0,\n t2 = 0,\n r1,\n r2;\n try {\n t1 = arg1.toString().split('.')[1].length;\n } catch (e) { }\n try {\n t2 = arg2.toString().split('.')[1].length;\n } catch (e) { }\n r1 = Number(arg1.toString().replace('.', ''));\n r2 = Number(arg2.toString().replace('.', ''));\n return (r1 / r2) * Math.pow(10, t2 - t1);\n };\n}\n\nexport const cmx = new CMX();\n","type NextTickCallback = () => void;\ntype NextTickPromiseResolver = () => void;\n\nclass NextTick {\n\tprivate callbacks: NextTickCallback[] = [];\n\tprivate pending = false;\n\tprivate timerFunc: () => void;\n\n\tconstructor() {\n\t\tthis.timerFunc = this.determineTimerFunc();\n\t}\n\n\tprivate determineTimerFunc(): () => void {\n\t\tif (typeof Promise !== 'undefined') {\n\t\t\tconst p = Promise.resolve();\n\t\t\treturn () => p.then(this.flushCallbacks.bind(this));\n\t\t}\n\n\t\tif (typeof MutationObserver !== 'undefined' && typeof window !== 'undefined') {\n\t\t\tlet counter = 1;\n\t\t\tconst observer = new MutationObserver(this.flushCallbacks.bind(this));\n\t\t\tconst textNode = document.createTextNode(String(counter));\n\t\t\tobserver.observe(textNode, { characterData: true });\n\n\t\t\treturn () => {\n\t\t\t\tcounter = (counter + 1) % 2;\n\t\t\t\ttextNode.data = String(counter);\n\t\t\t};\n\t\t}\n\n\t\t// // 仅在 Node.js 环境中使用 setImmediate\n\t\t// if (typeof global !== 'undefined' && typeof setImmediate !== 'undefined') {\n\t\t// \treturn () => setImmediate(this.flushCallbacks.bind(this));\n\t\t// }\n\n\t\treturn () => setTimeout(this.flushCallbacks.bind(this), 0);\n\t}\n\n\tprivate flushCallbacks(): void {\n\t\tthis.pending = false;\n\t\tconst copies = this.callbacks.slice(0);\n\t\tthis.callbacks.length = 0;\n\t\tfor (let i = 0; i < copies.length; i++) {\n\t\t\tcopies[i]();\n\t\t}\n\t}\n\n\tpublic nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\tlet _resolve: NextTickPromiseResolver | undefined;\n\n\t\tthis.callbacks.push(() => {\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\tcallback.call(ctx as T);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error('Error in nextTick:', e);\n\t\t\t\t}\n\t\t\t} else if (_resolve) {\n\t\t\t\t_resolve();\n\t\t\t}\n\t\t});\n\n\t\tif (!this.pending) {\n\t\t\tthis.pending = true;\n\t\t\tthis.timerFunc();\n\t\t}\n\n\t\tif (!callback && typeof Promise !== 'undefined') {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\t_resolve = resolve;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic static nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\treturn NextTick.instance.nextTick(callback, ctx);\n\t}\n\n\tprivate static _instance: NextTick;\n\tpublic static get instance(): NextTick {\n\t\tif (!this._instance) {\n\t\t\tthis._instance = new NextTick();\n\t\t}\n\t\treturn this._instance;\n\t}\n}\n\nconst nextTick = NextTick.instance.nextTick.bind(NextTick.instance);\nexport { NextTick, nextTick };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ModalProps } from 'antd';\nimport React, { ComponentType } from 'react';\nimport * as ReactDOMClient from 'react-dom/client';\nconst { createRoot } = ReactDOMClient;\ntype Root = ReactDOMClient.Root;\n\nconst destroyFns: Array<() => void> = [];\nlet modalContainer: HTMLDivElement | null = null;\nlet root: Root | null = null;\n\ninterface IModalBaseClosedParams {\n cancel?: boolean;\n ok?: boolean;\n}\n\nexport interface IModalBaseProps extends ModalProps {\n onClosed?: (params?: IModalBaseClosedParams) => void;\n}\n\nexport interface IModalControls<T = any> {\n destroy: (params?: IModalBaseClosedParams) => void;\n update: (configUpdate: Partial<T> | ((prevConfig: T) => T)) => void;\n}\n\nfunction getOrCreateContainer(): HTMLDivElement {\n if (!modalContainer) {\n modalContainer = document.createElement('div');\n document.body.appendChild(modalContainer);\n }\n return modalContainer;\n}\n\nfunction openModal<ITModalProps extends IModalBaseProps = IModalBaseProps>(\n DialogComponent: ComponentType<ITModalProps>,\n initialConfig: ITModalProps\n): IModalControls<ITModalProps> {\n const container = getOrCreateContainer();\n\n let currentConfig = {\n open: true,\n ...initialConfig,\n // 默认自动关闭\n onClosed:\n initialConfig.onClosed ||\n ((params?: IModalBaseClosedParams) => {\n unifiedDestroy(params);\n }),\n } as ITModalProps;\n\n if (!root) {\n try {\n root = createRoot(container);\n } catch (error) {\n console.error('Failed to create root:', error);\n return {\n destroy: () => {},\n update: () => {},\n };\n }\n }\n\n const cleanup = () => {\n if (root) {\n root.unmount();\n root = null;\n }\n\n if (modalContainer && modalContainer.parentNode) {\n modalContainer.parentNode.removeChild(modalContainer);\n modalContainer = null;\n }\n };\n\n const destroy = (params?: IModalBaseClosedParams) => {\n if (typeof currentConfig.onClosed === 'function') {\n currentConfig.onClosed(params);\n }\n\n // 从 destroyFns 中移除\n const index = destroyFns.indexOf(destroy);\n if (index !== -1) {\n destroyFns.splice(index, 1);\n }\n\n // 销毁 modal\n cleanup();\n };\n\n const render = (props: ITModalProps) => {\n if (root) {\n root.render(<DialogComponent {...props} />);\n }\n };\n\n const update = (\n configUpdate:\n | Partial<ITModalProps>\n | ((prevConfig: ITModalProps) => ITModalProps)\n ) => {\n currentConfig =\n typeof configUpdate === 'function'\n ? configUpdate(currentConfig)\n : { ...currentConfig, ...configUpdate };\n render(currentConfig);\n };\n\n // 统一的销毁函数\n const unifiedDestroy = (params?: IModalBaseClosedParams) => {\n // 如果当前配置是打开的,关闭\n if (currentConfig.open) {\n currentConfig = {\n ...currentConfig,\n open: false,\n onClosed: (closedParams?: IModalBaseClosedParams) => {\n if (initialConfig.onClosed) {\n initialConfig.onClosed(closedParams || params);\n }\n destroy(closedParams || params);\n },\n };\n render(currentConfig);\n } else {\n console.warn('Modal is already closed.');\n }\n };\n\n render(currentConfig);\n destroyFns.push(unifiedDestroy);\n\n return {\n destroy: unifiedDestroy,\n update,\n };\n}\n\nexport { openModal };\n","export const noop = () => {};\n\n// 生成类名\nexport const getClassName = (key1: string, key2: string) => {\n const cn = key1;\n let str = key1;\n if (key2.includes(' ')) {\n str = '';\n const nArr = key2?.split(' ');\n for (const i of nArr) {\n str += ` ${cn}-${i}`;\n }\n } else if (key2) {\n str = `${key1}-${key2}`;\n }\n return str;\n};\n\n// 根据路径获取数据\nexport const getFieldsByPath = (data: any, path: string) => {\n const arr = path?.split('.');\n let res = data;\n for (const i of arr) {\n res = res[i];\n }\n return res;\n};\n\n// 删除空值\nexport const removeNull = (obj: any) => {\n for (const key in obj) {\n if (obj[key] === null) {\n delete obj[key];\n }\n }\n return obj;\n};\n\n// 防抖函数\nexport const debounce = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n return (...args: any[]) => {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n func(...args);\n }, wait);\n };\n};\n\n// 节流函数\nexport const throttle = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n let lastTime: number = 0;\n return (...args: any[]) => {\n const nowTime = Date.now();\n if (!timeout) {\n func(...args);\n lastTime = nowTime;\n timeout = setTimeout(() => {\n timeout = null;\n }, wait);\n } else {\n const diffTime = nowTime - lastTime;\n if (diffTime >= wait) {\n func(...args);\n lastTime = nowTime;\n }\n }\n };\n};\n","/**\n * 版本号工具类\n * 支持语义化版本 (SemVer) 和基本版本号比较\n */\nexport class VersionUtil {\n\t/**\n\t * 验证版本号格式是否有效\n\t * @param version 版本号字符串\n\t * @returns 是否有效\n\t */\n\tstatic isValid(version: string): boolean {\n\t\tconst semverRegex =\n\t\t\t/^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/i;\n\t\treturn semverRegex.test(version);\n\t}\n\n\t/**\n\t * 比较两个版本号\n\t * @param v1 版本号1\n\t * @param v2 版本号2\n\t * @returns 比较结果: 1(v1>v2), 0(v1=v2), -1(v1<v2)\n\t */\n\tstatic compare(v1: string, v2: string): number {\n\t\tif (!this.isValid(v1) || !this.isValid(v2)) {\n\t\t\tthrow new Error('Invalid version format');\n\t\t}\n\n\t\t// 去除前缀v并分割版本号\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst parts1 = normalize(v1);\n\t\tconst parts2 = normalize(v2);\n\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\tconst num1 = parseInt(parts1[i] || '0', 10);\n\t\t\tconst num2 = parseInt(parts2[i] || '0', 10);\n\n\t\t\tif (num1 > num2) return 1;\n\t\t\tif (num1 < num2) return -1;\n\t\t}\n\n\t\t// 比较预发布版本\n\t\tconst preRelease1 = v1.match(/-(.+)/);\n\t\tconst preRelease2 = v2.match(/-(.+)/);\n\n\t\tif (preRelease1 && !preRelease2) return -1;\n\t\tif (!preRelease1 && preRelease2) return 1;\n\t\tif (preRelease1 && preRelease2) {\n\t\t\treturn preRelease1[1].localeCompare(preRelease2[1]);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * 检查版本号是否满足范围要求\n\t * @param version 要检查的版本\n\t * @param range 版本范围 (如 \">=1.0.0 <2.0.0\") 支持: >, >=, <, <=, ^, ~, ==, =\n\t * @returns 是否满足\n\t */\n\tstatic satisfies(version: string, range: string): boolean {\n\t\tif (!this.isValid(version)) return false;\n\n\t\tconst rangeRegex =\n\t\t\t/([<>]=?|==?|\\^|~)?\\s*v?([0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+)?)/g;\n\t\tconst ranges = range.match(rangeRegex);\n\n\t\tif (!ranges || ranges.length === 0) return false;\n\n\t\treturn ranges.every(r => {\n\t\t\tconst match = r.match(/([<>]=?|==?|\\^|~)?\\s*(v?[0-9].*)/);\n\t\t\tif (!match) return false;\n\n\t\t\tconst operator = match[1] || '==';\n\t\t\tconst rangeVersion = match[2];\n\n\t\t\tif (!this.isValid(rangeVersion)) return false;\n\n\t\t\tconst comparison = this.compare(version, rangeVersion);\n\n\t\t\tswitch (operator) {\n\t\t\t\tcase '>':\n\t\t\t\t\treturn comparison > 0;\n\t\t\t\tcase '>=':\n\t\t\t\t\treturn comparison >= 0;\n\t\t\t\tcase '<':\n\t\t\t\t\treturn comparison < 0;\n\t\t\t\tcase '<=':\n\t\t\t\t\treturn comparison <= 0;\n\t\t\t\tcase '^':\n\t\t\t\t\treturn this.caretRange(version, rangeVersion);\n\t\t\t\tcase '~':\n\t\t\t\t\treturn this.tildeRange(version, rangeVersion);\n\t\t\t\tcase '=':\n\t\t\t\tcase '==':\n\t\t\t\tdefault:\n\t\t\t\t\treturn comparison === 0;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * 处理 ^ 范围 (允许不修改最左边的非零数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static caretRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\t// 找到第一个非零部分\n\t\tlet firstNonZero = 0;\n\t\tfor (let i = 0; i < rParts.length; i++) {\n\t\t\tif (parseInt(rParts[i], 10) !== 0) {\n\t\t\t\tfirstNonZero = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i <= firstNonZero; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\treturn this.compare(version, range) >= 0;\n\t}\n\n\t/**\n\t * 处理 ~ 范围 (允许修改最后一位数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static tildeRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\tfor (let i = 0; i < rParts.length - 1; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\tconst lastVNum = parseInt(vParts[rParts.length - 1] || '0', 10);\n\t\tconst lastRNum = parseInt(rParts[rParts.length - 1] || '0', 10);\n\t\treturn lastVNum >= lastRNum;\n\t}\n\n\t/**\n\t * 获取主版本号 (major)\n\t * @param version 版本号\n\t * @returns 主版本号\n\t */\n\tstatic getMajor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[0], 10);\n\t}\n\n\t/**\n\t * 获取次版本号 (minor)\n\t * @param version 版本号\n\t * @returns 次版本号\n\t */\n\tstatic getMinor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[1] || '0', 10);\n\t}\n\n\t/**\n\t * 获取修订号 (patch)\n\t * @param version 版本号\n\t * @returns 修订号\n\t */\n\tstatic getPatch(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[2] || '0', 10);\n\t}\n\n\t/**\n\t * 获取预发布版本标识\n\t * @param version 版本号\n\t * @returns 预发布标识 (无则返回null)\n\t */\n\tstatic getPrerelease(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/-([^+]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n\n\t/**\n\t * 获取构建元数据\n\t * @param version 版本号\n\t * @returns 构建元数据 (无则返回null)\n\t */\n\tstatic getBuildMetadata(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/\\+([^]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from '../utils';\n\ninterface IPaginationProps {\n current: number;\n pageSize: number;\n total: number;\n onChange: (page: number, pageSize: number) => Promise<void>;\n onShowSizeChange: (size: number, current: number) => Promise<void>;\n showTotal?: (t: number) => React.ReactNode;\n showQuickJumper?: boolean;\n showSizeChanger?: boolean;\n}\n\ninterface PaginationResult<T> {\n tableProps: {\n loading?: boolean;\n dataSource: T[];\n };\n loading?: boolean;\n dataSource: T[];\n paginationProps: IPaginationProps;\n isFirstComplete: boolean;\n refresh: (resetPage?: boolean) => Promise<void>;\n debounceRefresh: (resetPage?: boolean) => void;\n setDataSource: (data: T[]) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n isReady?: boolean;\n dataSource?: T[];\n current?: number;\n pageSize?: number;\n}\n\nexport const usePagination = <T>(\n server: IInfoServer<T>,\n deps?: any[], // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): PaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = 10,\n } = option || {};\n\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [dataSource, setDataSource] = useState<T[]>(propDataSource);\n const [total, setTotal] = useState(0);\n const [loading, setLoading] = useState(false);\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n\n const doSearch = async () => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setLoading(true);\n\n seq.current++;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= _total && _current !== 1) {\n _current = 1;\n const totalPage = Math.ceil(_total / pageSize);\n ({ dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n }\n setDataSource(data_source);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(_total);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n } finally {\n setIsFirstComplete(true);\n setLoading(false);\n }\n };\n\n const refresh = async (resetPage?: boolean) => {\n if (resetPage) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n }\n await doSearch();\n };\n\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n const onChange = async (page: number, pageSize: number) => {\n setCurrentAndRef(page);\n setPageSizeAndRef(pageSize);\n await refresh();\n };\n\n const onShowSizeChange = async (size: number, current: number) => {\n setPageSizeAndRef(size);\n setCurrentAndRef(current);\n await refresh();\n };\n\n const paginationProps: IPaginationProps = {\n current,\n pageSize,\n total,\n onChange,\n onShowSizeChange,\n };\n\n return {\n tableProps: {\n loading,\n dataSource,\n },\n loading,\n dataSource,\n paginationProps,\n isFirstComplete,\n refresh,\n debounceRefresh,\n setDataSource,\n };\n};\n","export function useQuery() {\n\tconst search = window.location.href.split('?')[1] || '';\n\tconst params = new URLSearchParams(search);\n\tconst query = Object.fromEntries(params.entries());\n\treturn query;\n}\n","import { useCallback, useRef, useState } from 'react';\n\nconst useReactive = <T extends object>(initialState: T) => {\n\tconst [state, setState] = useState<T>(initialState);\n\tconst stateRef = useRef<T>(state);\n\n\tconst updateState = useCallback((newState: Partial<T> | ((prev: T) => Partial<T>)) => {\n\t\tsetState(prev => {\n\t\t\tconst updatedPart = typeof newState === 'function' ? newState(prev) : newState;\n\t\t\tconst newFullState = { ...prev, ...updatedPart };\n\t\t\tstateRef.current = newFullState; // 同步更新ref\n\t\t\treturn newFullState;\n\t\t});\n\t}, []);\n\n\tconst getState = useCallback(() => stateRef.current, []);\n\n\tconst resetState = useCallback(() => {\n\t\tsetState(initialState);\n\t\tstateRef.current = initialState;\n\t}, [initialState]);\n\n\treturn [state, updateState, getState, resetState] as const;\n};\n\nexport { useReactive };\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useTimeout(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setTimeout(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useTimeout };\n","// 虚拟列表加载\nimport {\n DependencyList,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { PAGE_SIZE } from '../constants';\nimport { debounce } from '../utils';\n\nexport interface IPaginationResult<T> {\n /**\n * 数据\n *\n * @memberof IPaginationResult\n */\n dataSource: T[];\n /**\n * 加载状态\n *\n * @memberof IPaginationResult\n */\n loading?: boolean;\n /**\n * 是否完成了一次请求\n *\n * @memberof IPaginationResult\n */\n isFirstComplete: boolean;\n /**\n * 分页信息\n *\n * @memberof IPaginationResult\n */\n paginationProps: {\n current: number;\n pageSize: number;\n total: number;\n };\n /**\n * reset 是否重置查询\n *\n * @memberof IPaginationResult\n */\n refresh: (reset?: boolean) => Promise<void>;\n debounceRefresh: (reset?: boolean) => void;\n /* 快速逃避方案 */\n setDataSource: (data: T[]) => void;\n setTotal: (total: number) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n /**\n * 第一次是否执行server\n *\n */\n isReady?: boolean;\n /**\n * 默认的数据\n *\n */\n dataSource?: T[];\n /**\n * 默认当前第几页\n *\n */\n current?: number;\n /**\n * 默认一页几条数据\n *\n */\n pageSize?: number;\n}\n\nexport const useVirtualList = <T>(\n server: IInfoServer<T>,\n deps?: DependencyList, // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): IPaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = PAGE_SIZE,\n } = option || {};\n\n // 是否完成了一次请求\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n // 分页\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [total, setTotal] = useState(0);\n\n // 表格\n const [isLoading, setIsLoading] = useState(false);\n const [dataSource, setDataSource] = useState(propDataSource);\n\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n const doSearch = async (reset?: boolean) => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setIsLoading(true);\n\n seq.current += 1;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= total0 && _current !== 1) {\n const totalPage = Math.ceil(total0 / pageSize);\n ({ dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset: Math.round((totalPage - 1) * _pageSize),\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n // message.error('数据源发生变化,该页没有数据,自动加载最后一页');\n }\n const d = reset ? data0 : dataSource.concat(data0 as T[]);\n setDataSource(d);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(total0);\n } catch (error) {\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n }\n setIsFirstComplete(true);\n setIsLoading(false);\n };\n\n // 加载下一页数据\n const refresh = async (reset?: boolean) => {\n if (reset) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n } else {\n const curTotal = pageSize * current;\n if (total && total <= curTotal) return;\n setCurrentAndRef(current + 1);\n }\n await doSearch(reset);\n };\n\n // 防抖 加载下一页数据\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n return {\n loading: isLoading,\n dataSource,\n paginationProps: {\n current,\n pageSize,\n total,\n },\n isFirstComplete,\n refresh: async (reset?: boolean) => {\n await refresh(reset);\n },\n debounceRefresh,\n setDataSource,\n setTotal,\n };\n};\n"],"names":["DATE_FORMAT","YMD_Hms","YMD","YMD2","YMD_POINT","Hms","Hm","YMD_000","YMD_end","YMD_Hm","PAGE_SIZE","PatternType","useFuncRequest","asyncFunc","options","_useState","useState","loading","setLoading","_useState2","error","setError","_useState3","data","setData","abortControllerRef","useRef","undefined","requestIdRef","cancel","_abortControllerRef$c","current","abort","run","_ref","_asyncToGenerator","_regenerator","m","_callee","currentRequestId","abortController","_len","args","_key","beforeRes","funcArgs","res","_args","arguments","_t","w","_context","p","n","AbortController","length","Array","onBefore","apply","v","a","concat","signal","aborted","onSuccess","onError","onFinally","f","useEffect","autoRunArgs","JSON","stringify","useInterval","callback","delay","immediate","timerRef","savedCallback","clear","useCallback","clearInterval","start","setInterval","isRunning","CMX","arg1","arg2","r1","r2","c","toString","split","e","Math","abs","pow","max","cm","Number","replace","_arg","_arg2","toFixed","s1","s2","t1","t2","cmx","NextTick","timerFunc","determineTimerFunc","_proto","prototype","Promise","resolve","then","_this","flushCallbacks","bind","MutationObserver","window","counter","observer","textNode","document","createTextNode","String","observe","characterData","setTimeout","pending","copies","callbacks","slice","i","nextTick","ctx","_resolve","push","call","console","instance","_createClass","key","get","_instance","createRoot","ReactDOMClient","modalContainer","root","getOrCreateContainer","createElement","body","appendChild","openModal","DialogComponent","initialConfig","container","currentConfig","_extends","open","onClosed","params","unifiedDestroy","destroy","update","cleanup","unmount","parentNode","removeChild","render","props","React","configUpdate","closedParams","warn","noop","getClassName","key1","key2","cn","str","includes","nArr","_iterator","_createForOfIteratorHelperLoose","_step","done","value","getFieldsByPath","path","arr","_iterator2","_step2","removeNull","obj","debounce","func","wait","timeout","clearTimeout","throttle","lastTime","nowTime","Date","now","diffTime","VersionUtil","isValid","version","semverRegex","test","compare","v1","v2","Error","normalize","parts1","parts2","num1","parseInt","num2","preRelease1","match","preRelease2","localeCompare","satisfies","range","rangeRegex","ranges","every","r","operator","rangeVersion","comparison","caretRange","tildeRange","vParts","rParts","firstNonZero","vNum","rNum","lastVNum","lastRNum","getMajor","parts","getMinor","getPatch","getPrerelease","getBuildMetadata","usePagination","server","deps","option","_ref$isReady","isReady","_ref$dataSource","dataSource","propDataSource","_ref$current","propCurrent","_ref$pageSize","pageSize","propPageSize","setCurrent","setPageSize","setDataSource","_useState4","total","setTotal","_useState5","_useState6","isFirstComplete","setIsFirstComplete","currentRef","pageSizeRef","setCurrentAndRef","val","setPageSizeAndRef","seq","doSearch","_ref2","_current","_pageSize","_seq","offset","_yield$server","data_source","_total","totalPage","_yield$server2","round","limit","ceil","refresh","_ref3","_callee2","resetPage","_context2","_x","debounceRefresh","_deps","onChange","_ref4","_callee3","page","_context3","_x2","_x3","onShowSizeChange","_ref5","_callee4","size","_context4","_x4","_x5","paginationProps","tableProps","useQuery","search","location","href","URLSearchParams","query","Object","fromEntries","entries","useReactive","initialState","state","setState","stateRef","updateState","newState","prev","updatedPart","newFullState","getState","resetState","useTimeout","useVirtualList","isLoading","setIsLoading","reset","data0","total0","d","curTotal","_refresh2"],"mappings":"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"}
1
+ {"version":3,"file":"libs.cjs.development.js","sources":["../src/components/MyButton/index.tsx","../src/constants/date.ts","../src/constants/pageInfo.ts","../src/constants/pattern.ts","../src/hooks/useFuncRequest.ts","../src/hooks/useInterval.ts","../src/utils/calc.ts","../src/utils/nextTick.ts","../src/utils/openModal.tsx","../src/utils/util.ts","../src/utils/version.ts","../src/hooks/usePagination.ts","../src/hooks/useQuery.ts","../src/hooks/useReactive.ts","../src/hooks/useTimeout.ts","../src/hooks/useVirtualList.ts"],"sourcesContent":["import { Button, ButtonProps } from 'antd';\nimport React from 'react';\n\nexport interface IMyButtonProps extends ButtonProps {\n custom?: string;\n}\n\nexport const MyButton = (props: IMyButtonProps) => {\n return <Button {...props}>{props.custom || props.children}</Button>;\n};\n","export const DATE_FORMAT = {\n\tYMD_Hms: 'YYYY-MM-DD HH:mm:ss',\n\tYMD: 'YYYY-MM-DD',\n\tYMD2: 'YYYYMMDD',\n\tYMD_POINT: 'YYYY.M.DD',\n\tHms: 'HH:mm:ss',\n\tHm: 'HH:mm',\n\tYMD_000: 'YYYY-MM-DD 00:00:00',\n\tYMD_end: 'YYYY-MM-DD 23:59:59',\n\tYMD_Hm: 'YYYYMMDD HHmm',\n};\n","export const PAGE_SIZE = 10;\n","export class PatternType {\n\t// 整数\n\tstatic readonly integerRegex = /^-?\\d+$/;\n\t// 正整数\n\tstatic readonly positiveIntegerRegex = /^[1-9]\\d*$/;\n\t// 负整数\n\tstatic readonly negativeIntegerRegex = /^-[1-9]\\d*$/;\n\t// 浮点数\n\tstatic readonly floatRegex = /^-?\\d+(\\.\\d+)?$/;\n\t// 字母\n\tstatic readonly letter = /^[a-zA-Z]+$/;\n\t// 汉字\n\tstatic readonly chinese = /^[\\u4e00-\\u9fa5]+$/;\n\t// 数字\n\tstatic readonly number = /^[0-9]*$/;\n\n\t// 用户名 字母开头,允许字母数字下划线,长度4-16\n\tstatic readonly username = /^[a-zA-Z]\\w{3,15}$/;\n\t// 强用户名 必须包含大小写字母和数字,6-20位\n\tstatic readonly strongUsername = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{6,20}$/;\n\n\t// 密码 至少8位,包含字母和数字\n\tstatic readonly password = /^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$/;\n\t// 强密码 至少8位,包含大小写字母、数字和特殊字符\n\tstatic readonly strongPassword =\n\t\t/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\n\n\t// 中国大陆的手机号\n\tstatic readonly phone = /^1[3-9]\\d{9}$/;\n\t// 带区号的手机号\n\tstatic readonly phoneWithAreaCode = /^\\+?\\d{2,3}-?\\d{8,11}$/;\n\t// 邮箱\n\tstatic readonly email = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\t// 身份证\n\tstatic readonly idCard =\n\t\t/^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/;\n\t// 银行卡\n\tstatic readonly bankCard = /^[1-9]\\d{3,30}$/;\n\t// 邮政编码\n\tstatic readonly zipCode = /^[1-9]\\d{5}$/;\n\t// IP\n\tstatic readonly ip =\n\t\t/^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$/;\n\t// URL\n\tstatic readonly url = /^(https?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$/;\n\t// 车牌\n\tstatic readonly carNumber =\n\t\t/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;\n\t// 时间 hh:mm:ss\n\tstatic readonly time = /^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;\n\t// 日期 YYYY-MM-DD\n\tstatic readonly date = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\n}\n","import { useEffect, useRef, useState } from 'react';\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\nexport type UseFuncRequestOptions<\n T extends (...args: any[]) => Promise<any>\n> = {\n // 自动执行时的参数\n autoRunArgs?: Parameters<T>;\n // 开始执行前的回调函数 false 不执行 true 执行\n onBefore?: (...args: Parameters<T>) => boolean | Promise<boolean>;\n // 执行成功后的回调函数\n onSuccess?: (data: UnwrapPromise<ReturnType<T>>) => void | Promise<void>;\n // 执行失败后的回调函数\n onError?: (error: Error) => void | Promise<void>;\n // 结束后的回调函数\n onFinally?: () => void | Promise<void>;\n};\n\nexport function useFuncRequest<T extends (...args: any[]) => Promise<any>>(\n // 异步函数\n asyncFunc: T,\n // 配置项\n options?: UseFuncRequestOptions<T>\n) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<UnwrapPromise<ReturnType<T>> | null>(null);\n const abortControllerRef = useRef<AbortController>(undefined);\n const requestIdRef = useRef(0);\n\n const cancel = () => {\n abortControllerRef.current?.abort();\n setLoading(false);\n setError(null);\n };\n\n const run = async (...args: Parameters<T>) => {\n const currentRequestId = ++requestIdRef.current;\n cancel();\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n try {\n setLoading(true);\n setError(null);\n if (options?.onBefore) {\n const beforeRes = await options?.onBefore?.(...args);\n if (!beforeRes) {\n cancel();\n return;\n }\n }\n\n // 安全传递 AbortSignal\n const funcArgs =\n args.length >= asyncFunc.length\n ? args\n : [...args, { signal: abortController.signal }];\n\n const res = await asyncFunc(...(funcArgs as Parameters<T>));\n\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setData(res);\n await options?.onSuccess?.(res);\n }\n return res;\n } catch (err) {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setError(err as Error);\n await options?.onError?.(err as Error);\n }\n throw err;\n } finally {\n if (\n !abortController.signal.aborted &&\n currentRequestId === requestIdRef.current\n ) {\n setLoading(false);\n await options?.onFinally?.();\n }\n }\n };\n\n useEffect(() => {\n if (options?.autoRunArgs) {\n run(...options.autoRunArgs).catch(() => {});\n }\n return cancel;\n }, [JSON.stringify(options?.autoRunArgs)]);\n\n return { run, cancel, loading, error, data };\n}\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useInterval(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setInterval>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setInterval(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useInterval };\n","class CMX {\n /**\n ** 加\n **/\n add = function (arg1: number, arg2: number) {\n let r1, r2, m, c;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n let cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number(arg1.toString().replace('.', ''));\n arg2 = Number(arg2.toString().replace('.', '')) * cm;\n } else {\n arg1 = Number(arg1.toString().replace('.', '')) * cm;\n arg2 = Number(arg2.toString().replace('.', ''));\n }\n } else {\n arg1 = Number(arg1?.toString().replace('.', ''));\n arg2 = Number(arg2?.toString().replace('.', ''));\n }\n return (arg1 + arg2) / m;\n };\n /**\n ** 减\n **/\n sub = function (arg1: number, arg2: number) {\n let r1, r2, m, n;\n try {\n r1 = arg1.toString().split('.')[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = arg2.toString().split('.')[1].length;\n } catch (e) {\n r2 = 0;\n }\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\n n = r1 >= r2 ? r1 : r2;\n return Number(((arg1 * m - arg2 * m) / m).toFixed(n));\n };\n\n /**\n ** 乘\n **/\n mul = function (arg1: number, arg2: number) {\n let m = 0,\n s1 = arg1.toString(),\n s2 = arg2.toString();\n try {\n m += s1.split('.')[1].length;\n } catch (e) { }\n try {\n m += s2.split('.')[1].length;\n } catch (e) { }\n return (\n (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m)\n );\n };\n\n /**\n ** 除\n **/\n div = function (arg1: number, arg2: number) {\n let t1 = 0,\n t2 = 0,\n r1,\n r2;\n try {\n t1 = arg1.toString().split('.')[1].length;\n } catch (e) { }\n try {\n t2 = arg2.toString().split('.')[1].length;\n } catch (e) { }\n r1 = Number(arg1.toString().replace('.', ''));\n r2 = Number(arg2.toString().replace('.', ''));\n return (r1 / r2) * Math.pow(10, t2 - t1);\n };\n}\n\nexport const cmx = new CMX();\n","type NextTickCallback = () => void;\ntype NextTickPromiseResolver = () => void;\n\nclass NextTick {\n\tprivate callbacks: NextTickCallback[] = [];\n\tprivate pending = false;\n\tprivate timerFunc: () => void;\n\n\tconstructor() {\n\t\tthis.timerFunc = this.determineTimerFunc();\n\t}\n\n\tprivate determineTimerFunc(): () => void {\n\t\tif (typeof Promise !== 'undefined') {\n\t\t\tconst p = Promise.resolve();\n\t\t\treturn () => p.then(this.flushCallbacks.bind(this));\n\t\t}\n\n\t\tif (typeof MutationObserver !== 'undefined' && typeof window !== 'undefined') {\n\t\t\tlet counter = 1;\n\t\t\tconst observer = new MutationObserver(this.flushCallbacks.bind(this));\n\t\t\tconst textNode = document.createTextNode(String(counter));\n\t\t\tobserver.observe(textNode, { characterData: true });\n\n\t\t\treturn () => {\n\t\t\t\tcounter = (counter + 1) % 2;\n\t\t\t\ttextNode.data = String(counter);\n\t\t\t};\n\t\t}\n\n\t\t// // 仅在 Node.js 环境中使用 setImmediate\n\t\t// if (typeof global !== 'undefined' && typeof setImmediate !== 'undefined') {\n\t\t// \treturn () => setImmediate(this.flushCallbacks.bind(this));\n\t\t// }\n\n\t\treturn () => setTimeout(this.flushCallbacks.bind(this), 0);\n\t}\n\n\tprivate flushCallbacks(): void {\n\t\tthis.pending = false;\n\t\tconst copies = this.callbacks.slice(0);\n\t\tthis.callbacks.length = 0;\n\t\tfor (let i = 0; i < copies.length; i++) {\n\t\t\tcopies[i]();\n\t\t}\n\t}\n\n\tpublic nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\tlet _resolve: NextTickPromiseResolver | undefined;\n\n\t\tthis.callbacks.push(() => {\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\tcallback.call(ctx as T);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error('Error in nextTick:', e);\n\t\t\t\t}\n\t\t\t} else if (_resolve) {\n\t\t\t\t_resolve();\n\t\t\t}\n\t\t});\n\n\t\tif (!this.pending) {\n\t\t\tthis.pending = true;\n\t\t\tthis.timerFunc();\n\t\t}\n\n\t\tif (!callback && typeof Promise !== 'undefined') {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\t_resolve = resolve;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic static nextTick<T = void>(callback?: (this: T) => void, ctx?: T): Promise<void> | void {\n\t\treturn NextTick.instance.nextTick(callback, ctx);\n\t}\n\n\tprivate static _instance: NextTick;\n\tpublic static get instance(): NextTick {\n\t\tif (!this._instance) {\n\t\t\tthis._instance = new NextTick();\n\t\t}\n\t\treturn this._instance;\n\t}\n}\n\nconst nextTick = NextTick.instance.nextTick.bind(NextTick.instance);\nexport { NextTick, nextTick };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ModalProps } from 'antd';\nimport React, { ComponentType } from 'react';\nimport * as ReactDOMClient from 'react-dom/client';\nconst { createRoot } = ReactDOMClient;\ntype Root = ReactDOMClient.Root;\n\nconst destroyFns: Array<() => void> = [];\nlet modalContainer: HTMLDivElement | null = null;\nlet root: Root | null = null;\n\ninterface IModalBaseClosedParams {\n cancel?: boolean;\n ok?: boolean;\n}\n\nexport interface IModalBaseProps extends ModalProps {\n onClosed?: (params?: IModalBaseClosedParams) => void;\n}\n\nexport interface IModalControls<T = any> {\n destroy: (params?: IModalBaseClosedParams) => void;\n update: (configUpdate: Partial<T> | ((prevConfig: T) => T)) => void;\n}\n\nfunction getOrCreateContainer(): HTMLDivElement {\n if (!modalContainer) {\n modalContainer = document.createElement('div');\n document.body.appendChild(modalContainer);\n }\n return modalContainer;\n}\n\nfunction openModal<ITModalProps extends IModalBaseProps = IModalBaseProps>(\n DialogComponent: ComponentType<ITModalProps>,\n initialConfig: ITModalProps\n): IModalControls<ITModalProps> {\n const container = getOrCreateContainer();\n\n let currentConfig = {\n open: true,\n ...initialConfig,\n // 默认自动关闭\n onClosed:\n initialConfig.onClosed ||\n ((params?: IModalBaseClosedParams) => {\n unifiedDestroy(params);\n }),\n } as ITModalProps;\n\n if (!root) {\n try {\n root = createRoot(container);\n } catch (error) {\n console.error('Failed to create root:', error);\n return {\n destroy: () => {},\n update: () => {},\n };\n }\n }\n\n const cleanup = () => {\n if (root) {\n root.unmount();\n root = null;\n }\n\n if (modalContainer && modalContainer.parentNode) {\n modalContainer.parentNode.removeChild(modalContainer);\n modalContainer = null;\n }\n };\n\n const destroy = (params?: IModalBaseClosedParams) => {\n if (typeof currentConfig.onClosed === 'function') {\n currentConfig.onClosed(params);\n }\n\n // 从 destroyFns 中移除\n const index = destroyFns.indexOf(destroy);\n if (index !== -1) {\n destroyFns.splice(index, 1);\n }\n\n // 销毁 modal\n cleanup();\n };\n\n const render = (props: ITModalProps) => {\n if (root) {\n root.render(<DialogComponent {...props} />);\n }\n };\n\n const update = (\n configUpdate:\n | Partial<ITModalProps>\n | ((prevConfig: ITModalProps) => ITModalProps)\n ) => {\n currentConfig =\n typeof configUpdate === 'function'\n ? configUpdate(currentConfig)\n : { ...currentConfig, ...configUpdate };\n render(currentConfig);\n };\n\n // 统一的销毁函数\n const unifiedDestroy = (params?: IModalBaseClosedParams) => {\n // 如果当前配置是打开的,关闭\n if (currentConfig.open) {\n currentConfig = {\n ...currentConfig,\n open: false,\n onClosed: (closedParams?: IModalBaseClosedParams) => {\n if (initialConfig.onClosed) {\n initialConfig.onClosed(closedParams || params);\n }\n destroy(closedParams || params);\n },\n };\n render(currentConfig);\n } else {\n console.warn('Modal is already closed.');\n }\n };\n\n render(currentConfig);\n destroyFns.push(unifiedDestroy);\n\n return {\n destroy: unifiedDestroy,\n update,\n };\n}\n\nexport { openModal };\n","export const noop = () => {};\n\n// 生成类名\nexport const getClassName = (key1: string, key2: string) => {\n const cn = key1;\n let str = key1;\n if (key2.includes(' ')) {\n str = '';\n const nArr = key2?.split(' ');\n for (const i of nArr) {\n str += ` ${cn}-${i}`;\n }\n } else if (key2) {\n str = `${key1}-${key2}`;\n }\n return str;\n};\n\n// 根据路径获取数据\nexport const getFieldsByPath = (data: any, path: string) => {\n const arr = path?.split('.');\n let res = data;\n for (const i of arr) {\n res = res[i];\n }\n return res;\n};\n\n// 删除空值\nexport const removeNull = (obj: any) => {\n for (const key in obj) {\n if (obj[key] === null) {\n delete obj[key];\n }\n }\n return obj;\n};\n\n// 防抖函数\nexport const debounce = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n return (...args: any[]) => {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n func(...args);\n }, wait);\n };\n};\n\n// 节流函数\nexport const throttle = (func: any, wait: number) => {\n let timeout: NodeJS.Timeout | null = null;\n let lastTime: number = 0;\n return (...args: any[]) => {\n const nowTime = Date.now();\n if (!timeout) {\n func(...args);\n lastTime = nowTime;\n timeout = setTimeout(() => {\n timeout = null;\n }, wait);\n } else {\n const diffTime = nowTime - lastTime;\n if (diffTime >= wait) {\n func(...args);\n lastTime = nowTime;\n }\n }\n };\n};\n","/**\n * 版本号工具类\n * 支持语义化版本 (SemVer) 和基本版本号比较\n */\nexport class VersionUtil {\n\t/**\n\t * 验证版本号格式是否有效\n\t * @param version 版本号字符串\n\t * @returns 是否有效\n\t */\n\tstatic isValid(version: string): boolean {\n\t\tconst semverRegex =\n\t\t\t/^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/i;\n\t\treturn semverRegex.test(version);\n\t}\n\n\t/**\n\t * 比较两个版本号\n\t * @param v1 版本号1\n\t * @param v2 版本号2\n\t * @returns 比较结果: 1(v1>v2), 0(v1=v2), -1(v1<v2)\n\t */\n\tstatic compare(v1: string, v2: string): number {\n\t\tif (!this.isValid(v1) || !this.isValid(v2)) {\n\t\t\tthrow new Error('Invalid version format');\n\t\t}\n\n\t\t// 去除前缀v并分割版本号\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst parts1 = normalize(v1);\n\t\tconst parts2 = normalize(v2);\n\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\tconst num1 = parseInt(parts1[i] || '0', 10);\n\t\t\tconst num2 = parseInt(parts2[i] || '0', 10);\n\n\t\t\tif (num1 > num2) return 1;\n\t\t\tif (num1 < num2) return -1;\n\t\t}\n\n\t\t// 比较预发布版本\n\t\tconst preRelease1 = v1.match(/-(.+)/);\n\t\tconst preRelease2 = v2.match(/-(.+)/);\n\n\t\tif (preRelease1 && !preRelease2) return -1;\n\t\tif (!preRelease1 && preRelease2) return 1;\n\t\tif (preRelease1 && preRelease2) {\n\t\t\treturn preRelease1[1].localeCompare(preRelease2[1]);\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * 检查版本号是否满足范围要求\n\t * @param version 要检查的版本\n\t * @param range 版本范围 (如 \">=1.0.0 <2.0.0\") 支持: >, >=, <, <=, ^, ~, ==, =\n\t * @returns 是否满足\n\t */\n\tstatic satisfies(version: string, range: string): boolean {\n\t\tif (!this.isValid(version)) return false;\n\n\t\tconst rangeRegex =\n\t\t\t/([<>]=?|==?|\\^|~)?\\s*v?([0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+)?)/g;\n\t\tconst ranges = range.match(rangeRegex);\n\n\t\tif (!ranges || ranges.length === 0) return false;\n\n\t\treturn ranges.every(r => {\n\t\t\tconst match = r.match(/([<>]=?|==?|\\^|~)?\\s*(v?[0-9].*)/);\n\t\t\tif (!match) return false;\n\n\t\t\tconst operator = match[1] || '==';\n\t\t\tconst rangeVersion = match[2];\n\n\t\t\tif (!this.isValid(rangeVersion)) return false;\n\n\t\t\tconst comparison = this.compare(version, rangeVersion);\n\n\t\t\tswitch (operator) {\n\t\t\t\tcase '>':\n\t\t\t\t\treturn comparison > 0;\n\t\t\t\tcase '>=':\n\t\t\t\t\treturn comparison >= 0;\n\t\t\t\tcase '<':\n\t\t\t\t\treturn comparison < 0;\n\t\t\t\tcase '<=':\n\t\t\t\t\treturn comparison <= 0;\n\t\t\t\tcase '^':\n\t\t\t\t\treturn this.caretRange(version, rangeVersion);\n\t\t\t\tcase '~':\n\t\t\t\t\treturn this.tildeRange(version, rangeVersion);\n\t\t\t\tcase '=':\n\t\t\t\tcase '==':\n\t\t\t\tdefault:\n\t\t\t\t\treturn comparison === 0;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * 处理 ^ 范围 (允许不修改最左边的非零数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static caretRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\t// 找到第一个非零部分\n\t\tlet firstNonZero = 0;\n\t\tfor (let i = 0; i < rParts.length; i++) {\n\t\t\tif (parseInt(rParts[i], 10) !== 0) {\n\t\t\t\tfirstNonZero = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i <= firstNonZero; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\treturn this.compare(version, range) >= 0;\n\t}\n\n\t/**\n\t * 处理 ~ 范围 (允许修改最后一位数字)\n\t * @param version 版本号\n\t * @param range 范围版本\n\t * @returns 是否匹配\n\t */\n\tprivate static tildeRange(version: string, range: string): boolean {\n\t\tconst normalize = (v: string) => v.replace(/^v/, '').split(/[-+]/)[0].split('.');\n\t\tconst vParts = normalize(version);\n\t\tconst rParts = normalize(range);\n\n\t\tfor (let i = 0; i < rParts.length - 1; i++) {\n\t\t\tconst vNum = parseInt(vParts[i] || '0', 10);\n\t\t\tconst rNum = parseInt(rParts[i] || '0', 10);\n\t\t\tif (vNum !== rNum) return false;\n\t\t}\n\n\t\tconst lastVNum = parseInt(vParts[rParts.length - 1] || '0', 10);\n\t\tconst lastRNum = parseInt(rParts[rParts.length - 1] || '0', 10);\n\t\treturn lastVNum >= lastRNum;\n\t}\n\n\t/**\n\t * 获取主版本号 (major)\n\t * @param version 版本号\n\t * @returns 主版本号\n\t */\n\tstatic getMajor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[0], 10);\n\t}\n\n\t/**\n\t * 获取次版本号 (minor)\n\t * @param version 版本号\n\t * @returns 次版本号\n\t */\n\tstatic getMinor(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[1] || '0', 10);\n\t}\n\n\t/**\n\t * 获取修订号 (patch)\n\t * @param version 版本号\n\t * @returns 修订号\n\t */\n\tstatic getPatch(version: string): number {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst parts = version.replace(/^v/, '').split('.');\n\t\treturn parseInt(parts[2] || '0', 10);\n\t}\n\n\t/**\n\t * 获取预发布版本标识\n\t * @param version 版本号\n\t * @returns 预发布标识 (无则返回null)\n\t */\n\tstatic getPrerelease(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/-([^+]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n\n\t/**\n\t * 获取构建元数据\n\t * @param version 版本号\n\t * @returns 构建元数据 (无则返回null)\n\t */\n\tstatic getBuildMetadata(version: string): string | null {\n\t\tif (!this.isValid(version)) throw new Error('Invalid version format');\n\t\tconst match = version.match(/\\+([^]+)/);\n\t\treturn match ? match[1] : null;\n\t}\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from '../utils';\n\ninterface IPaginationProps {\n current: number;\n pageSize: number;\n total: number;\n onChange: (page: number, pageSize: number) => Promise<void>;\n onShowSizeChange: (size: number, current: number) => Promise<void>;\n showTotal?: (t: number) => React.ReactNode;\n showQuickJumper?: boolean;\n showSizeChanger?: boolean;\n}\n\ninterface PaginationResult<T> {\n tableProps: {\n loading?: boolean;\n dataSource: T[];\n };\n loading?: boolean;\n dataSource: T[];\n paginationProps: IPaginationProps;\n isFirstComplete: boolean;\n refresh: (resetPage?: boolean) => Promise<void>;\n debounceRefresh: (resetPage?: boolean) => void;\n setDataSource: (data: T[]) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n isReady?: boolean;\n dataSource?: T[];\n current?: number;\n pageSize?: number;\n}\n\nexport const usePagination = <T>(\n server: IInfoServer<T>,\n deps?: any[], // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): PaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = 10,\n } = option || {};\n\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [dataSource, setDataSource] = useState<T[]>(propDataSource);\n const [total, setTotal] = useState(0);\n const [loading, setLoading] = useState(false);\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n\n const doSearch = async () => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setLoading(true);\n\n seq.current++;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= _total && _current !== 1) {\n _current = 1;\n const totalPage = Math.ceil(_total / pageSize);\n ({ dataSource: data_source, total: _total } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n }\n setDataSource(data_source);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(_total);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n } finally {\n setIsFirstComplete(true);\n setLoading(false);\n }\n };\n\n const refresh = async (resetPage?: boolean) => {\n if (resetPage) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n }\n await doSearch();\n };\n\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n const onChange = async (page: number, pageSize: number) => {\n setCurrentAndRef(page);\n setPageSizeAndRef(pageSize);\n await refresh();\n };\n\n const onShowSizeChange = async (size: number, current: number) => {\n setPageSizeAndRef(size);\n setCurrentAndRef(current);\n await refresh();\n };\n\n const paginationProps: IPaginationProps = {\n current,\n pageSize,\n total,\n onChange,\n onShowSizeChange,\n };\n\n return {\n tableProps: {\n loading,\n dataSource,\n },\n loading,\n dataSource,\n paginationProps,\n isFirstComplete,\n refresh,\n debounceRefresh,\n setDataSource,\n };\n};\n","export function useQuery() {\n\tconst search = window.location.href.split('?')[1] || '';\n\tconst params = new URLSearchParams(search);\n\tconst query = Object.fromEntries(params.entries());\n\treturn query;\n}\n","import { useCallback, useRef, useState } from 'react';\n\nconst useReactive = <T extends object>(initialState: T) => {\n\tconst [state, setState] = useState<T>(initialState);\n\tconst stateRef = useRef<T>(state);\n\n\tconst updateState = useCallback((newState: Partial<T> | ((prev: T) => Partial<T>)) => {\n\t\tsetState(prev => {\n\t\t\tconst updatedPart = typeof newState === 'function' ? newState(prev) : newState;\n\t\t\tconst newFullState = { ...prev, ...updatedPart };\n\t\t\tstateRef.current = newFullState; // 同步更新ref\n\t\t\treturn newFullState;\n\t\t});\n\t}, []);\n\n\tconst getState = useCallback(() => stateRef.current, []);\n\n\tconst resetState = useCallback(() => {\n\t\tsetState(initialState);\n\t\tstateRef.current = initialState;\n\t}, [initialState]);\n\n\treturn [state, updateState, getState, resetState] as const;\n};\n\nexport { useReactive };\n","import { useCallback, useEffect, useRef } from 'react';\n\ntype Callback = () => void;\n\ninterface UseTimeoutReturn {\n start: Callback;\n isRunning: boolean;\n clear: Callback;\n}\n\nfunction useTimeout(\n callback: Callback,\n delay: number | null,\n immediate: boolean = false\n): UseTimeoutReturn {\n const timerRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n const savedCallback = useRef(callback);\n\n // Update callback ref if callback changes\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n const clear = useCallback(() => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = undefined;\n }\n }, []);\n\n const start = useCallback(() => {\n clear();\n if (delay !== null && delay !== undefined) {\n timerRef.current = setTimeout(() => savedCallback.current(), delay);\n }\n }, [delay, clear]);\n\n useEffect(() => {\n if (immediate) {\n savedCallback.current();\n }\n start();\n\n return clear;\n }, [delay, start, clear, immediate]);\n\n return { start, clear, isRunning: !!timerRef.current };\n}\n\nexport { useTimeout };\n","// 虚拟列表加载\nimport {\n DependencyList,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { PAGE_SIZE } from '../constants';\nimport { debounce } from '../utils';\n\nexport interface IPaginationResult<T> {\n /**\n * 数据\n *\n * @memberof IPaginationResult\n */\n dataSource: T[];\n /**\n * 加载状态\n *\n * @memberof IPaginationResult\n */\n loading?: boolean;\n /**\n * 是否完成了一次请求\n *\n * @memberof IPaginationResult\n */\n isFirstComplete: boolean;\n /**\n * 分页信息\n *\n * @memberof IPaginationResult\n */\n paginationProps: {\n current: number;\n pageSize: number;\n total: number;\n };\n /**\n * reset 是否重置查询\n *\n * @memberof IPaginationResult\n */\n refresh: (reset?: boolean) => Promise<void>;\n debounceRefresh: (reset?: boolean) => void;\n /* 快速逃避方案 */\n setDataSource: (data: T[]) => void;\n setTotal: (total: number) => void;\n}\n\ninterface IServerParams {\n offset: number;\n limit: number;\n current: number;\n}\n\ntype IInfoBack<T> = { dataSource: T[]; total: number };\n\ntype IInfoServer<T> = (\n params: IServerParams\n) => IInfoBack<T> | Promise<IInfoBack<T>>;\n\ninterface IInfoOption<T> {\n /**\n * 第一次是否执行server\n *\n */\n isReady?: boolean;\n /**\n * 默认的数据\n *\n */\n dataSource?: T[];\n /**\n * 默认当前第几页\n *\n */\n current?: number;\n /**\n * 默认一页几条数据\n *\n */\n pageSize?: number;\n}\n\nexport const useVirtualList = <T>(\n server: IInfoServer<T>,\n deps?: DependencyList, // 依赖条件 数据更新默认执行server\n option?: IInfoOption<T>\n): IPaginationResult<T> => {\n const {\n isReady = true,\n dataSource: propDataSource = [],\n current: propCurrent = 1,\n pageSize: propPageSize = PAGE_SIZE,\n } = option || {};\n\n // 是否完成了一次请求\n const [isFirstComplete, setIsFirstComplete] = useState(false);\n // 分页\n const [current, setCurrent] = useState(propCurrent);\n const [pageSize, setPageSize] = useState(propPageSize);\n const [total, setTotal] = useState(0);\n\n // 表格\n const [isLoading, setIsLoading] = useState(false);\n const [dataSource, setDataSource] = useState(propDataSource);\n\n const currentRef = useRef(current);\n const pageSizeRef = useRef(pageSize);\n\n // 在状态更新时同步更新ref\n const setCurrentAndRef = (val: number) => {\n setCurrent(val);\n currentRef.current = val;\n };\n\n const setPageSizeAndRef = (val: number) => {\n setPageSize(val);\n pageSizeRef.current = val;\n };\n\n // 计数器\n const seq = useRef(0);\n const doSearch = async (reset?: boolean) => {\n if (!isReady) {\n return;\n }\n let _current = currentRef.current;\n let _pageSize = pageSizeRef.current;\n setIsLoading(true);\n\n seq.current += 1;\n const _seq = seq.current;\n try {\n // 发送请求\n let offset = Math.round((_current - 1) * _pageSize);\n if (offset < 0) {\n offset = 0;\n }\n if (_pageSize < 1) {\n _pageSize = 1;\n }\n let { dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset,\n current: _current,\n });\n if (_seq !== seq.current) return;\n if (pageSize * (_current - 1) >= total0 && _current !== 1) {\n const totalPage = Math.ceil(total0 / pageSize);\n ({ dataSource: data0, total: total0 } = await server({\n limit: _pageSize,\n offset: Math.round((totalPage - 1) * _pageSize),\n current: _current,\n }));\n if (_seq !== seq.current) return;\n _current = totalPage;\n // message.error('数据源发生变化,该页没有数据,自动加载最后一页');\n }\n const d = reset ? data0 : dataSource.concat(data0 as T[]);\n setDataSource(d);\n setCurrentAndRef(_current);\n setPageSizeAndRef(_pageSize);\n setTotal(total0);\n } catch (error) {\n console.error('fetch err', error);\n if (_seq !== seq.current) return;\n }\n setIsFirstComplete(true);\n setIsLoading(false);\n };\n\n // 加载下一页数据\n const refresh = async (reset?: boolean) => {\n if (reset) {\n setDataSource([]);\n setCurrentAndRef(propCurrent);\n setPageSizeAndRef(propPageSize);\n } else {\n const curTotal = pageSize * current;\n if (total && total <= curTotal) return;\n setCurrentAndRef(current + 1);\n }\n await doSearch(reset);\n };\n\n // 防抖 加载下一页数据\n const debounceRefresh = useCallback(debounce(refresh, 500), [refresh]);\n\n /* 重置逻辑 */\n const _deps = [...(deps || []), isReady];\n\n useEffect(() => {\n if (!isReady) return;\n debounceRefresh(true);\n }, _deps);\n\n return {\n loading: isLoading,\n dataSource,\n paginationProps: {\n current,\n pageSize,\n total,\n },\n isFirstComplete,\n refresh: async (reset?: boolean) => {\n await refresh(reset);\n },\n debounceRefresh,\n setDataSource,\n setTotal,\n };\n};\n"],"names":["MyButton","props","React","Button","custom","children","DATE_FORMAT","YMD_Hms","YMD","YMD2","YMD_POINT","Hms","Hm","YMD_000","YMD_end","YMD_Hm","PAGE_SIZE","PatternType","useFuncRequest","asyncFunc","options","_useState","useState","loading","setLoading","_useState2","error","setError","_useState3","data","setData","abortControllerRef","useRef","undefined","requestIdRef","cancel","_abortControllerRef$c","current","abort","run","_ref","_asyncToGenerator","_regenerator","m","_callee","currentRequestId","abortController","_len","args","_key","beforeRes","funcArgs","res","_args","arguments","_t","w","_context","p","n","AbortController","length","Array","onBefore","apply","v","a","concat","signal","aborted","onSuccess","onError","onFinally","f","useEffect","autoRunArgs","JSON","stringify","useInterval","callback","delay","immediate","timerRef","savedCallback","clear","useCallback","clearInterval","start","setInterval","isRunning","CMX","arg1","arg2","r1","r2","c","toString","split","e","Math","abs","pow","max","cm","Number","replace","_arg","_arg2","toFixed","s1","s2","t1","t2","cmx","NextTick","timerFunc","determineTimerFunc","_proto","prototype","Promise","resolve","then","_this","flushCallbacks","bind","MutationObserver","window","counter","observer","textNode","document","createTextNode","String","observe","characterData","setTimeout","pending","copies","callbacks","slice","i","nextTick","ctx","_resolve","push","call","console","instance","_createClass","key","get","_instance","createRoot","ReactDOMClient","modalContainer","root","getOrCreateContainer","createElement","body","appendChild","openModal","DialogComponent","initialConfig","container","currentConfig","_extends","open","onClosed","params","unifiedDestroy","destroy","update","cleanup","unmount","parentNode","removeChild","render","configUpdate","closedParams","warn","noop","getClassName","key1","key2","cn","str","includes","nArr","_iterator","_createForOfIteratorHelperLoose","_step","done","value","getFieldsByPath","path","arr","_iterator2","_step2","removeNull","obj","debounce","func","wait","timeout","clearTimeout","throttle","lastTime","nowTime","Date","now","diffTime","VersionUtil","isValid","version","semverRegex","test","compare","v1","v2","Error","normalize","parts1","parts2","num1","parseInt","num2","preRelease1","match","preRelease2","localeCompare","satisfies","range","rangeRegex","ranges","every","r","operator","rangeVersion","comparison","caretRange","tildeRange","vParts","rParts","firstNonZero","vNum","rNum","lastVNum","lastRNum","getMajor","parts","getMinor","getPatch","getPrerelease","getBuildMetadata","usePagination","server","deps","option","_ref$isReady","isReady","_ref$dataSource","dataSource","propDataSource","_ref$current","propCurrent","_ref$pageSize","pageSize","propPageSize","setCurrent","setPageSize","setDataSource","_useState4","total","setTotal","_useState5","_useState6","isFirstComplete","setIsFirstComplete","currentRef","pageSizeRef","setCurrentAndRef","val","setPageSizeAndRef","seq","doSearch","_ref2","_current","_pageSize","_seq","offset","_yield$server","data_source","_total","totalPage","_yield$server2","round","limit","ceil","refresh","_ref3","_callee2","resetPage","_context2","_x","debounceRefresh","_deps","onChange","_ref4","_callee3","page","_context3","_x2","_x3","onShowSizeChange","_ref5","_callee4","size","_context4","_x4","_x5","paginationProps","tableProps","useQuery","search","location","href","URLSearchParams","query","Object","fromEntries","entries","useReactive","initialState","state","setState","stateRef","updateState","newState","prev","updatedPart","newFullState","getState","resetState","useTimeout","useVirtualList","isLoading","setIsLoading","reset","data0","total0","d","curTotal","_refresh2"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),r=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,n=require("react-dom/client"),a=function(){};function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t,r,n,a,o,u){try{var i=e[o](u),c=i.value}catch(e){return void r(e)}i.done?t(c):Promise.resolve(c).then(n,a)}function i(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function i(e){u(o,n,a,i,c,"next",e)}function c(e){u(o,n,a,i,c,"throw",e)}i(void 0)}))}}function c(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function l(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function o(r,n,a,o){var c=Object.create((n&&n.prototype instanceof i?n:i).prototype);return f(c,"_invoke",function(r,n,a){var o,i,c,s=0,l=a||[],f=!1,d={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return o=t,i=0,c=e,d.n=r,u}};function p(r,n){for(i=r,c=n,t=0;!f&&s&&!a&&t<l.length;t++){var a,o=l[t],p=d.p,v=o[2];r>3?(a=v===n)&&(c=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=r<2&&p<o[1])?(i=0,d.v=n,d.n=o[1]):p<v&&(a=r<3||o[0]>n||n>v)&&(o[4]=r,o[5]=n,d.n=v,i=0))}if(a||r>1)return u;throw f=!0,n}return function(a,l,v){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,v),i=l,c=v;(t=i<2?e:c)||!f;){o||(i?i<3?(i>1&&(d.n=-1),p(i,c)):d.n=c:d.v=c);try{if(s=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(f=d.n<0)?c:r.call(n,d))!==u)break}catch(t){o=e,i=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,a,o),!0),c}var u={};function i(){}function c(){}function s(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(f(t={},n,(function(){return this})),t),p=s.prototype=i.prototype=Object.create(d);function v(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,f(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return c.prototype=s,f(p,"constructor",s),f(s,"constructor",c),c.displayName="GeneratorFunction",f(s,a,"GeneratorFunction"),f(p),f(p,a,"Generator"),f(p,n,(function(){return this})),f(p,"toString",(function(){return"[object Generator]"})),(l=function(){return{w:o,m:v}})()}function f(e,t,r,n){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(f=function(e,t,r,n){if(t)a?a(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r;else{function o(t,r){f(e,t,(function(e){return this._invoke(t,r,e)}))}o("next",0),o("throw",1),o("return",2)}})(e,t,r,n)}function d(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}a.integerRegex=/^-?\d+$/,a.positiveIntegerRegex=/^[1-9]\d*$/,a.negativeIntegerRegex=/^-[1-9]\d*$/,a.floatRegex=/^-?\d+(\.\d+)?$/,a.letter=/^[a-zA-Z]+$/,a.chinese=/^[\u4e00-\u9fa5]+$/,a.number=/^[0-9]*$/,a.username=/^[a-zA-Z]\w{3,15}$/,a.strongUsername=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,20}$/,a.password=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/,a.strongPassword=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/,a.phone=/^1[3-9]\d{9}$/,a.phoneWithAreaCode=/^\+?\d{2,3}-?\d{8,11}$/,a.email=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,a.idCard=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/,a.bankCard=/^[1-9]\d{3,30}$/,a.zipCode=/^[1-9]\d{5}$/,a.ip=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,a.url=/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/,a.carNumber=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/,a.time=/^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/,a.date=/^(\d{4})-(\d{2})-(\d{2})$/;var p=new function(){this.add=function(e,t){var r,n,a,o;try{r=e.toString().split(".")[1].length}catch(e){r=0}try{n=t.toString().split(".")[1].length}catch(e){n=0}if(o=Math.abs(r-n),a=Math.pow(10,Math.max(r,n)),o>0){var u=Math.pow(10,o);r>n?(e=Number(e.toString().replace(".","")),t=Number(t.toString().replace(".",""))*u):(e=Number(e.toString().replace(".",""))*u,t=Number(t.toString().replace(".","")))}else{var i,c;e=Number(null==(i=e)?void 0:i.toString().replace(".","")),t=Number(null==(c=t)?void 0:c.toString().replace(".",""))}return(e+t)/a},this.sub=function(e,t){var r,n,a;try{r=e.toString().split(".")[1].length}catch(e){r=0}try{n=t.toString().split(".")[1].length}catch(e){n=0}return a=Math.pow(10,Math.max(r,n)),Number(((e*a-t*a)/a).toFixed(r>=n?r:n))},this.mul=function(e,t){var r=0,n=e.toString(),a=t.toString();try{r+=n.split(".")[1].length}catch(e){}try{r+=a.split(".")[1].length}catch(e){}return Number(n.replace(".",""))*Number(a.replace(".",""))/Math.pow(10,r)},this.div=function(e,t){var r=0,n=0;try{r=e.toString().split(".")[1].length}catch(e){}try{n=t.toString().split(".")[1].length}catch(e){}return Number(e.toString().replace(".",""))/Number(t.toString().replace(".",""))*Math.pow(10,n-r)}},v=function(){function e(){this.callbacks=[],this.pending=!1,this.timerFunc=this.determineTimerFunc()}var t,r,n=e.prototype;return n.determineTimerFunc=function(){var e=this;if("undefined"!=typeof Promise){var t=Promise.resolve();return function(){return t.then(e.flushCallbacks.bind(e))}}if("undefined"!=typeof MutationObserver&&"undefined"!=typeof window){var r=1,n=new MutationObserver(this.flushCallbacks.bind(this)),a=document.createTextNode(String(r));return n.observe(a,{characterData:!0}),function(){r=(r+1)%2,a.data=String(r)}}return function(){return setTimeout(e.flushCallbacks.bind(e),0)}},n.flushCallbacks=function(){this.pending=!1;var e=this.callbacks.slice(0);this.callbacks.length=0;for(var t=0;t<e.length;t++)e[t]()},n.nextTick=function(e,t){var r;if(this.callbacks.push((function(){if(e)try{e.call(t)}catch(e){console.error("Error in nextTick:",e)}else r&&r()})),this.pending||(this.pending=!0,this.timerFunc()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){r=e}))},e.nextTick=function(t,r){return e.instance.nextTick(t,r)},t=e,(r=[{key:"instance",get:function(){return this._instance||(this._instance=new e),this._instance}}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,d(n.key),n)}}(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(),h=v.instance.nextTick.bind(v.instance),m=n.createRoot,b=null,g=null,y=function(e,t){var r=null;return function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];r&&clearTimeout(r),r=setTimeout((function(){e.apply(void 0,a)}),t)}},w=function(){function e(){}return e.isValid=function(e){return/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/i.test(e)},e.compare=function(e,t){if(!this.isValid(e)||!this.isValid(t))throw new Error("Invalid version format");for(var r=function(e){return e.replace(/^v/,"").split(/[-+]/)[0].split(".")},n=r(e),a=r(t),o=0;o<3;o++){var u=parseInt(n[o]||"0",10),i=parseInt(a[o]||"0",10);if(u>i)return 1;if(u<i)return-1}var c=e.match(/-(.+)/),s=t.match(/-(.+)/);return c&&!s?-1:!c&&s?1:c&&s?c[1].localeCompare(s[1]):0},e.satisfies=function(e,t){var r=this;if(!this.isValid(e))return!1;var n=t.match(/([<>]=?|==?|\^|~)?\s*v?([0-9]+\.[0-9]+\.[0-9]+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+)?)/g);return!(!n||0===n.length)&&n.every((function(t){var n=t.match(/([<>]=?|==?|\^|~)?\s*(v?[0-9].*)/);if(!n)return!1;var a=n[1]||"==",o=n[2];if(!r.isValid(o))return!1;var u=r.compare(e,o);switch(a){case">":return u>0;case">=":return u>=0;case"<":return u<0;case"<=":return u<=0;case"^":return r.caretRange(e,o);case"~":return r.tildeRange(e,o);case"=":case"==":default:return 0===u}}))},e.caretRange=function(e,t){for(var r=function(e){return e.replace(/^v/,"").split(/[-+]/)[0].split(".")},n=r(e),a=r(t),o=0,u=0;u<a.length;u++)if(0!==parseInt(a[u],10)){o=u;break}for(var i=0;i<=o;i++)if(parseInt(n[i]||"0",10)!==parseInt(a[i]||"0",10))return!1;return this.compare(e,t)>=0},e.tildeRange=function(e,t){for(var r=function(e){return e.replace(/^v/,"").split(/[-+]/)[0].split(".")},n=r(e),a=r(t),o=0;o<a.length-1;o++)if(parseInt(n[o]||"0",10)!==parseInt(a[o]||"0",10))return!1;return parseInt(n[a.length-1]||"0",10)>=parseInt(a[a.length-1]||"0",10)},e.getMajor=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.replace(/^v/,"").split(".");return parseInt(t[0],10)},e.getMinor=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.replace(/^v/,"").split(".");return parseInt(t[1]||"0",10)},e.getPatch=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.replace(/^v/,"").split(".");return parseInt(t[2]||"0",10)},e.getPrerelease=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.match(/-([^+]+)/);return t?t[1]:null},e.getBuildMetadata=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.match(/\+([^]+)/);return t?t[1]:null},e}();exports.DATE_FORMAT={YMD_Hms:"YYYY-MM-DD HH:mm:ss",YMD:"YYYY-MM-DD",YMD2:"YYYYMMDD",YMD_POINT:"YYYY.M.DD",Hms:"HH:mm:ss",Hm:"HH:mm",YMD_000:"YYYY-MM-DD 00:00:00",YMD_end:"YYYY-MM-DD 23:59:59",YMD_Hm:"YYYYMMDD HHmm"},exports.NextTick=v,exports.PAGE_SIZE=10,exports.PatternType=a,exports.VersionUtil=w,exports.cmx=p,exports.debounce=y,exports.getClassName=function(e,t){var r=e,n=e;if(t.includes(" ")){n="";for(var a,o=c(null==t?void 0:t.split(" "));!(a=o()).done;)n+=" "+r+"-"+a.value}else t&&(n=e+"-"+t);return n},exports.getFieldsByPath=function(e,t){for(var r,n=e,a=c(null==t?void 0:t.split("."));!(r=a()).done;)n=n[r.value];return n},exports.nextTick=h,exports.noop=function(){},exports.openModal=function(e,t){var n=(b||(b=document.createElement("div"),document.body.appendChild(b)),b),a=s({open:!0},t,{onClosed:t.onClosed||function(e){u(e)}});if(!g)try{g=m(n)}catch(e){return console.error("Failed to create root:",e),{destroy:function(){},update:function(){}}}var o=function(t){g&&g.render(r.createElement(e,Object.assign({},t)))},u=function(e){a.open?(a=s({},a,{open:!1,onClosed:function(r){t.onClosed&&t.onClosed(r||e),function(e){"function"==typeof a.onClosed&&a.onClosed(e),g&&(g.unmount(),g=null),b&&b.parentNode&&(b.parentNode.removeChild(b),b=null)}(r||e)}}),o(a)):console.warn("Modal is already closed.")};return o(a),{destroy:u,update:function(e){a="function"==typeof e?e(a):s({},a,e),o(a)}}},exports.removeNull=function(e){for(var t in e)null===e[t]&&delete e[t];return e},exports.throttle=function(e,t){var r=null,n=0;return function(){var a=Date.now();if(r){var o=a-n;o>=t&&(e.apply(void 0,arguments),n=a)}else e.apply(void 0,arguments),n=a,r=setTimeout((function(){r=null}),t)}},exports.useFuncRequest=function(e,r){var n=t.useState(!1),a=n[0],o=n[1],u=t.useState(null),c=u[0],s=u[1],f=t.useState(null),d=f[0],p=f[1],v=t.useRef(void 0),h=t.useRef(0),m=function(){var e;null==(e=v.current)||e.abort(),o(!1),s(null)},b=function(){var t=i(l().m((function t(){var n,a,u,i,c,f,d,b,g=arguments;return l().w((function(t){for(;;)switch(t.p=t.n){case 0:for(n=++h.current,m(),a=new AbortController,v.current=a,t.p=1,o(!0),s(null),u=g.length,i=new Array(u),c=0;c<u;c++)i[c]=g[c];if(null==r||!r.onBefore){t.n=3;break}return t.n=2,null==r||null==r.onBefore?void 0:r.onBefore.apply(r,i);case 2:if(t.v){t.n=3;break}return m(),t.a(2);case 3:return f=i.length>=e.length?i:[].concat(i,[{signal:a.signal}]),t.n=4,e.apply(void 0,f);case 4:if(d=t.v,a.signal.aborted||n!==h.current){t.n=5;break}return p(d),t.n=5,null==r||null==r.onSuccess?void 0:r.onSuccess(d);case 5:return t.a(2,d);case 6:if(t.p=6,b=t.v,a.signal.aborted||n!==h.current){t.n=7;break}return s(b),t.n=7,null==r||null==r.onError?void 0:r.onError(b);case 7:throw b;case 8:if(t.p=8,a.signal.aborted||n!==h.current){t.n=9;break}return o(!1),t.n=9,null==r||null==r.onFinally?void 0:r.onFinally();case 9:return t.f(8);case 10:return t.a(2)}}),t,null,[[1,6,8,10]])})));return function(){return t.apply(this,arguments)}}();return t.useEffect((function(){return null!=r&&r.autoRunArgs&&b.apply(void 0,r.autoRunArgs).catch((function(){})),m}),[JSON.stringify(null==r?void 0:r.autoRunArgs)]),{run:b,cancel:m,loading:a,error:c,data:d}},exports.useInterval=function(e,r,n){void 0===n&&(n=!1);var a=t.useRef(void 0),o=t.useRef(e);t.useEffect((function(){o.current=e}),[e]);var u=t.useCallback((function(){a.current&&(clearInterval(a.current),a.current=void 0)}),[]),i=t.useCallback((function(){u(),null!=r&&(a.current=setInterval((function(){return o.current()}),r))}),[r,u]);return t.useEffect((function(){return n&&o.current(),i(),u}),[r,i,u,n]),{start:i,clear:u,isRunning:!!a.current}},exports.usePagination=function(e,r,n){var a=n||{},o=a.isReady,u=void 0===o||o,c=a.dataSource,s=void 0===c?[]:c,f=a.current,d=void 0===f?1:f,p=a.pageSize,v=void 0===p?10:p,h=t.useState(d),m=h[0],b=h[1],g=t.useState(v),w=g[0],S=g[1],k=t.useState(s),M=k[0],x=k[1],A=t.useState(0),R=A[0],Y=A[1],C=t.useState(!1),P=C[0],T=C[1],z=t.useState(!1),I=z[0],E=z[1],D=t.useRef(m),$=t.useRef(w),N=function(e){b(e),D.current=e},O=function(e){S(e),$.current=e},Z=t.useRef(0),j=function(){var t=i(l().m((function t(){var r,n,a,o,i,c,s,f,d;return l().w((function(t){for(;;)switch(t.p=t.n){case 0:if(u){t.n=1;break}return t.a(2);case 1:return r=D.current,n=$.current,T(!0),Z.current++,a=Z.current,t.p=2,(o=Math.round((r-1)*n))<0&&(o=0),n<1&&(n=1),t.n=3,e({limit:n,offset:o,current:r});case 3:if(c=(i=t.v).dataSource,s=i.total,a===Z.current){t.n=4;break}return t.a(2);case 4:if(!(w*(r-1)>=s&&1!==r)){t.n=7;break}return r=1,f=Math.ceil(s/w),t.n=5,e({limit:n,offset:o,current:r});case 5:if(c=(d=t.v).dataSource,s=d.total,a===Z.current){t.n=6;break}return t.a(2);case 6:r=f;case 7:x(c),N(r),O(n),Y(s),t.n=9;break;case 8:if(t.p=8,console.error("fetch err",t.v),a===Z.current){t.n=9;break}return t.a(2);case 9:return t.p=9,E(!0),T(!1),t.f(9);case 10:return t.a(2)}}),t,null,[[2,8,9,10]])})));return function(){return t.apply(this,arguments)}}(),_=function(){var e=i(l().m((function e(t){return l().w((function(e){for(;;)switch(e.n){case 0:return t&&(x([]),N(d),O(v)),e.n=1,j();case 1:return e.a(2)}}),e)})));return function(t){return e.apply(this,arguments)}}(),F=t.useCallback(y(_,500),[_]),H=[].concat(r||[],[u]);return t.useEffect((function(){u&&F(!0)}),H),{tableProps:{loading:P,dataSource:M},loading:P,dataSource:M,paginationProps:{current:m,pageSize:w,total:R,onChange:function(){var e=i(l().m((function e(t,r){return l().w((function(e){for(;;)switch(e.n){case 0:return N(t),O(r),e.n=1,_();case 1:return e.a(2)}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),onShowSizeChange:function(){var e=i(l().m((function e(t,r){return l().w((function(e){for(;;)switch(e.n){case 0:return O(t),N(r),e.n=1,_();case 1:return e.a(2)}}),e)})));return function(t,r){return e.apply(this,arguments)}}()},isFirstComplete:I,refresh:_,debounceRefresh:F,setDataSource:x}},exports.useQuery=function(){var e=window.location.href.split("?")[1]||"",t=new URLSearchParams(e);return Object.fromEntries(t.entries())},exports.useReactive=function(e){var r=t.useState(e),n=r[0],a=r[1],o=t.useRef(n);return[n,t.useCallback((function(e){a((function(t){var r=s({},t,"function"==typeof e?e(t):e);return o.current=r,r}))}),[]),t.useCallback((function(){return o.current}),[]),t.useCallback((function(){a(e),o.current=e}),[e])]},exports.useTimeout=function(e,r,n){void 0===n&&(n=!1);var a=t.useRef(void 0),o=t.useRef(e);t.useEffect((function(){o.current=e}),[e]);var u=t.useCallback((function(){a.current&&(clearTimeout(a.current),a.current=void 0)}),[]),i=t.useCallback((function(){u(),null!=r&&(a.current=setTimeout((function(){return o.current()}),r))}),[r,u]);return t.useEffect((function(){return n&&o.current(),i(),u}),[r,i,u,n]),{start:i,clear:u,isRunning:!!a.current}},exports.useVirtualList=function(e,r,n){var a,o=n||{},u=o.isReady,c=void 0===u||u,s=o.dataSource,f=void 0===s?[]:s,d=o.current,p=void 0===d?1:d,v=o.pageSize,h=void 0===v?10:v,m=t.useState(!1),b=m[0],g=m[1],w=t.useState(p),S=w[0],k=w[1],M=t.useState(h),x=M[0],A=M[1],R=t.useState(0),Y=R[0],C=R[1],P=t.useState(!1),T=P[0],z=P[1],I=t.useState(f),E=I[0],D=I[1],$=t.useRef(S),N=t.useRef(x),O=function(e){k(e),$.current=e},Z=function(e){A(e),N.current=e},j=t.useRef(0),_=function(){var t=i(l().m((function t(r){var n,a,o,u,i,s,f,d,p,v;return l().w((function(t){for(;;)switch(t.p=t.n){case 0:if(c){t.n=1;break}return t.a(2);case 1:return n=$.current,a=N.current,z(!0),j.current+=1,o=j.current,t.p=2,(u=Math.round((n-1)*a))<0&&(u=0),a<1&&(a=1),t.n=3,e({limit:a,offset:u,current:n});case 3:if(s=(i=t.v).dataSource,f=i.total,o===j.current){t.n=4;break}return t.a(2);case 4:if(!(x*(n-1)>=f&&1!==n)){t.n=7;break}return d=Math.ceil(f/x),t.n=5,e({limit:a,offset:Math.round((d-1)*a),current:n});case 5:if(s=(p=t.v).dataSource,f=p.total,o===j.current){t.n=6;break}return t.a(2);case 6:n=d;case 7:v=r?s:E.concat(s),D(v),O(n),Z(a),C(f),t.n=9;break;case 8:if(t.p=8,console.error("fetch err",t.v),o===j.current){t.n=9;break}return t.a(2);case 9:g(!0),z(!1);case 10:return t.a(2)}}),t,null,[[2,8]])})));return function(e){return t.apply(this,arguments)}}(),F=function(){var e=i(l().m((function e(t){var r;return l().w((function(e){for(;;)switch(e.n){case 0:if(!t){e.n=1;break}D([]),O(p),Z(h),e.n=3;break;case 1:if(r=x*S,!(Y&&Y<=r)){e.n=2;break}return e.a(2);case 2:O(S+1);case 3:return e.n=4,_(t);case 4:return e.a(2)}}),e)})));return function(t){return e.apply(this,arguments)}}(),H=t.useCallback(y(F,500),[F]),V=[].concat(r||[],[c]);return t.useEffect((function(){c&&H(!0)}),V),{loading:T,dataSource:E,paginationProps:{current:S,pageSize:x,total:Y},isFirstComplete:b,refresh:(a=i(l().m((function e(t){return l().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,F(t);case 1:return e.a(2)}}),e)}))),function(e){return a.apply(this,arguments)}),debounceRefresh:H,setDataSource:D,setTotal:C}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("antd"),r=require("react"),n=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,a=require("react-dom/client"),o=function(){};function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function i(e,t,r,n,a,o,u){try{var i=e[o](u),c=i.value}catch(e){return void r(e)}i.done?t(c):Promise.resolve(c).then(n,a)}function c(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function u(e){i(o,n,a,u,c,"next",e)}function c(e){i(o,n,a,u,c,"throw",e)}u(void 0)}))}}function s(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function f(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function o(r,n,a,o){var c=Object.create((n&&n.prototype instanceof i?n:i).prototype);return d(c,"_invoke",function(r,n,a){var o,i,c,s=0,l=a||[],f=!1,d={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return o=t,i=0,c=e,d.n=r,u}};function p(r,n){for(i=r,c=n,t=0;!f&&s&&!a&&t<l.length;t++){var a,o=l[t],p=d.p,v=o[2];r>3?(a=v===n)&&(c=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=r<2&&p<o[1])?(i=0,d.v=n,d.n=o[1]):p<v&&(a=r<3||o[0]>n||n>v)&&(o[4]=r,o[5]=n,d.n=v,i=0))}if(a||r>1)return u;throw f=!0,n}return function(a,l,v){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&p(l,v),i=l,c=v;(t=i<2?e:c)||!f;){o||(i?i<3?(i>1&&(d.n=-1),p(i,c)):d.n=c:d.v=c);try{if(s=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(f=d.n<0)?c:r.call(n,d))!==u)break}catch(t){o=e,i=1,c=t}finally{s=1}}return{value:t,done:f}}}(r,a,o),!0),c}var u={};function i(){}function c(){}function s(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(d(t={},n,(function(){return this})),t),p=s.prototype=i.prototype=Object.create(l);function v(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,d(e,a,"GeneratorFunction")),e.prototype=Object.create(p),e}return c.prototype=s,d(p,"constructor",s),d(s,"constructor",c),c.displayName="GeneratorFunction",d(s,a,"GeneratorFunction"),d(p),d(p,a,"Generator"),d(p,n,(function(){return this})),d(p,"toString",(function(){return"[object Generator]"})),(f=function(){return{w:o,m:v}})()}function d(e,t,r,n){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(d=function(e,t,r,n){if(t)a?a(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r;else{function o(t,r){d(e,t,(function(e){return this._invoke(t,r,e)}))}o("next",0),o("throw",1),o("return",2)}})(e,t,r,n)}function p(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}o.integerRegex=/^-?\d+$/,o.positiveIntegerRegex=/^[1-9]\d*$/,o.negativeIntegerRegex=/^-[1-9]\d*$/,o.floatRegex=/^-?\d+(\.\d+)?$/,o.letter=/^[a-zA-Z]+$/,o.chinese=/^[\u4e00-\u9fa5]+$/,o.number=/^[0-9]*$/,o.username=/^[a-zA-Z]\w{3,15}$/,o.strongUsername=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,20}$/,o.password=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/,o.strongPassword=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/,o.phone=/^1[3-9]\d{9}$/,o.phoneWithAreaCode=/^\+?\d{2,3}-?\d{8,11}$/,o.email=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,o.idCard=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/,o.bankCard=/^[1-9]\d{3,30}$/,o.zipCode=/^[1-9]\d{5}$/,o.ip=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,o.url=/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/,o.carNumber=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/,o.time=/^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/,o.date=/^(\d{4})-(\d{2})-(\d{2})$/;var v=new function(){this.add=function(e,t){var r,n,a,o;try{r=e.toString().split(".")[1].length}catch(e){r=0}try{n=t.toString().split(".")[1].length}catch(e){n=0}if(o=Math.abs(r-n),a=Math.pow(10,Math.max(r,n)),o>0){var u=Math.pow(10,o);r>n?(e=Number(e.toString().replace(".","")),t=Number(t.toString().replace(".",""))*u):(e=Number(e.toString().replace(".",""))*u,t=Number(t.toString().replace(".","")))}else{var i,c;e=Number(null==(i=e)?void 0:i.toString().replace(".","")),t=Number(null==(c=t)?void 0:c.toString().replace(".",""))}return(e+t)/a},this.sub=function(e,t){var r,n,a;try{r=e.toString().split(".")[1].length}catch(e){r=0}try{n=t.toString().split(".")[1].length}catch(e){n=0}return a=Math.pow(10,Math.max(r,n)),Number(((e*a-t*a)/a).toFixed(r>=n?r:n))},this.mul=function(e,t){var r=0,n=e.toString(),a=t.toString();try{r+=n.split(".")[1].length}catch(e){}try{r+=a.split(".")[1].length}catch(e){}return Number(n.replace(".",""))*Number(a.replace(".",""))/Math.pow(10,r)},this.div=function(e,t){var r=0,n=0;try{r=e.toString().split(".")[1].length}catch(e){}try{n=t.toString().split(".")[1].length}catch(e){}return Number(e.toString().replace(".",""))/Number(t.toString().replace(".",""))*Math.pow(10,n-r)}},h=function(){function e(){this.callbacks=[],this.pending=!1,this.timerFunc=this.determineTimerFunc()}var t,r,n=e.prototype;return n.determineTimerFunc=function(){var e=this;if("undefined"!=typeof Promise){var t=Promise.resolve();return function(){return t.then(e.flushCallbacks.bind(e))}}if("undefined"!=typeof MutationObserver&&"undefined"!=typeof window){var r=1,n=new MutationObserver(this.flushCallbacks.bind(this)),a=document.createTextNode(String(r));return n.observe(a,{characterData:!0}),function(){r=(r+1)%2,a.data=String(r)}}return function(){return setTimeout(e.flushCallbacks.bind(e),0)}},n.flushCallbacks=function(){this.pending=!1;var e=this.callbacks.slice(0);this.callbacks.length=0;for(var t=0;t<e.length;t++)e[t]()},n.nextTick=function(e,t){var r;if(this.callbacks.push((function(){if(e)try{e.call(t)}catch(e){console.error("Error in nextTick:",e)}else r&&r()})),this.pending||(this.pending=!0,this.timerFunc()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){r=e}))},e.nextTick=function(t,r){return e.instance.nextTick(t,r)},t=e,(r=[{key:"instance",get:function(){return this._instance||(this._instance=new e),this._instance}}])&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}(),m=h.instance.nextTick.bind(h.instance),b=a.createRoot,g=null,y=null,w=function(e,t){var r=null;return function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];r&&clearTimeout(r),r=setTimeout((function(){e.apply(void 0,a)}),t)}},S=function(){function e(){}return e.isValid=function(e){return/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/i.test(e)},e.compare=function(e,t){if(!this.isValid(e)||!this.isValid(t))throw new Error("Invalid version format");for(var r=function(e){return e.replace(/^v/,"").split(/[-+]/)[0].split(".")},n=r(e),a=r(t),o=0;o<3;o++){var u=parseInt(n[o]||"0",10),i=parseInt(a[o]||"0",10);if(u>i)return 1;if(u<i)return-1}var c=e.match(/-(.+)/),s=t.match(/-(.+)/);return c&&!s?-1:!c&&s?1:c&&s?c[1].localeCompare(s[1]):0},e.satisfies=function(e,t){var r=this;if(!this.isValid(e))return!1;var n=t.match(/([<>]=?|==?|\^|~)?\s*v?([0-9]+\.[0-9]+\.[0-9]+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+)?)/g);return!(!n||0===n.length)&&n.every((function(t){var n=t.match(/([<>]=?|==?|\^|~)?\s*(v?[0-9].*)/);if(!n)return!1;var a=n[1]||"==",o=n[2];if(!r.isValid(o))return!1;var u=r.compare(e,o);switch(a){case">":return u>0;case">=":return u>=0;case"<":return u<0;case"<=":return u<=0;case"^":return r.caretRange(e,o);case"~":return r.tildeRange(e,o);case"=":case"==":default:return 0===u}}))},e.caretRange=function(e,t){for(var r=function(e){return e.replace(/^v/,"").split(/[-+]/)[0].split(".")},n=r(e),a=r(t),o=0,u=0;u<a.length;u++)if(0!==parseInt(a[u],10)){o=u;break}for(var i=0;i<=o;i++)if(parseInt(n[i]||"0",10)!==parseInt(a[i]||"0",10))return!1;return this.compare(e,t)>=0},e.tildeRange=function(e,t){for(var r=function(e){return e.replace(/^v/,"").split(/[-+]/)[0].split(".")},n=r(e),a=r(t),o=0;o<a.length-1;o++)if(parseInt(n[o]||"0",10)!==parseInt(a[o]||"0",10))return!1;return parseInt(n[a.length-1]||"0",10)>=parseInt(a[a.length-1]||"0",10)},e.getMajor=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.replace(/^v/,"").split(".");return parseInt(t[0],10)},e.getMinor=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.replace(/^v/,"").split(".");return parseInt(t[1]||"0",10)},e.getPatch=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.replace(/^v/,"").split(".");return parseInt(t[2]||"0",10)},e.getPrerelease=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.match(/-([^+]+)/);return t?t[1]:null},e.getBuildMetadata=function(e){if(!this.isValid(e))throw new Error("Invalid version format");var t=e.match(/\+([^]+)/);return t?t[1]:null},e}();exports.DATE_FORMAT={YMD_Hms:"YYYY-MM-DD HH:mm:ss",YMD:"YYYY-MM-DD",YMD2:"YYYYMMDD",YMD_POINT:"YYYY.M.DD",Hms:"HH:mm:ss",Hm:"HH:mm",YMD_000:"YYYY-MM-DD 00:00:00",YMD_end:"YYYY-MM-DD 23:59:59",YMD_Hm:"YYYYMMDD HHmm"},exports.MyButton=function(e){return n.createElement(t.Button,Object.assign({},e),e.custom||e.children)},exports.NextTick=h,exports.PAGE_SIZE=10,exports.PatternType=o,exports.VersionUtil=S,exports.cmx=v,exports.debounce=w,exports.getClassName=function(e,t){var r=e,n=e;if(t.includes(" ")){n="";for(var a,o=s(null==t?void 0:t.split(" "));!(a=o()).done;)n+=" "+r+"-"+a.value}else t&&(n=e+"-"+t);return n},exports.getFieldsByPath=function(e,t){for(var r,n=e,a=s(null==t?void 0:t.split("."));!(r=a()).done;)n=n[r.value];return n},exports.nextTick=m,exports.noop=function(){},exports.openModal=function(e,t){var r=(g||(g=document.createElement("div"),document.body.appendChild(g)),g),a=l({open:!0},t,{onClosed:t.onClosed||function(e){u(e)}});if(!y)try{y=b(r)}catch(e){return console.error("Failed to create root:",e),{destroy:function(){},update:function(){}}}var o=function(t){y&&y.render(n.createElement(e,Object.assign({},t)))},u=function(e){a.open?(a=l({},a,{open:!1,onClosed:function(r){t.onClosed&&t.onClosed(r||e),function(e){"function"==typeof a.onClosed&&a.onClosed(e),y&&(y.unmount(),y=null),g&&g.parentNode&&(g.parentNode.removeChild(g),g=null)}(r||e)}}),o(a)):console.warn("Modal is already closed.")};return o(a),{destroy:u,update:function(e){a="function"==typeof e?e(a):l({},a,e),o(a)}}},exports.removeNull=function(e){for(var t in e)null===e[t]&&delete e[t];return e},exports.throttle=function(e,t){var r=null,n=0;return function(){var a=Date.now();if(r){var o=a-n;o>=t&&(e.apply(void 0,arguments),n=a)}else e.apply(void 0,arguments),n=a,r=setTimeout((function(){r=null}),t)}},exports.useFuncRequest=function(e,t){var n=r.useState(!1),a=n[0],o=n[1],u=r.useState(null),i=u[0],s=u[1],l=r.useState(null),d=l[0],p=l[1],v=r.useRef(void 0),h=r.useRef(0),m=function(){var e;null==(e=v.current)||e.abort(),o(!1),s(null)},b=function(){var r=c(f().m((function r(){var n,a,u,i,c,l,d,b,g=arguments;return f().w((function(r){for(;;)switch(r.p=r.n){case 0:for(n=++h.current,m(),a=new AbortController,v.current=a,r.p=1,o(!0),s(null),u=g.length,i=new Array(u),c=0;c<u;c++)i[c]=g[c];if(null==t||!t.onBefore){r.n=3;break}return r.n=2,null==t||null==t.onBefore?void 0:t.onBefore.apply(t,i);case 2:if(r.v){r.n=3;break}return m(),r.a(2);case 3:return l=i.length>=e.length?i:[].concat(i,[{signal:a.signal}]),r.n=4,e.apply(void 0,l);case 4:if(d=r.v,a.signal.aborted||n!==h.current){r.n=5;break}return p(d),r.n=5,null==t||null==t.onSuccess?void 0:t.onSuccess(d);case 5:return r.a(2,d);case 6:if(r.p=6,b=r.v,a.signal.aborted||n!==h.current){r.n=7;break}return s(b),r.n=7,null==t||null==t.onError?void 0:t.onError(b);case 7:throw b;case 8:if(r.p=8,a.signal.aborted||n!==h.current){r.n=9;break}return o(!1),r.n=9,null==t||null==t.onFinally?void 0:t.onFinally();case 9:return r.f(8);case 10:return r.a(2)}}),r,null,[[1,6,8,10]])})));return function(){return r.apply(this,arguments)}}();return r.useEffect((function(){return null!=t&&t.autoRunArgs&&b.apply(void 0,t.autoRunArgs).catch((function(){})),m}),[JSON.stringify(null==t?void 0:t.autoRunArgs)]),{run:b,cancel:m,loading:a,error:i,data:d}},exports.useInterval=function(e,t,n){void 0===n&&(n=!1);var a=r.useRef(void 0),o=r.useRef(e);r.useEffect((function(){o.current=e}),[e]);var u=r.useCallback((function(){a.current&&(clearInterval(a.current),a.current=void 0)}),[]),i=r.useCallback((function(){u(),null!=t&&(a.current=setInterval((function(){return o.current()}),t))}),[t,u]);return r.useEffect((function(){return n&&o.current(),i(),u}),[t,i,u,n]),{start:i,clear:u,isRunning:!!a.current}},exports.usePagination=function(e,t,n){var a=n||{},o=a.isReady,u=void 0===o||o,i=a.dataSource,s=void 0===i?[]:i,l=a.current,d=void 0===l?1:l,p=a.pageSize,v=void 0===p?10:p,h=r.useState(d),m=h[0],b=h[1],g=r.useState(v),y=g[0],S=g[1],k=r.useState(s),M=k[0],x=k[1],A=r.useState(0),R=A[0],Y=A[1],C=r.useState(!1),P=C[0],T=C[1],z=r.useState(!1),E=z[0],I=z[1],D=r.useRef(m),$=r.useRef(y),O=function(e){b(e),D.current=e},N=function(e){S(e),$.current=e},Z=r.useRef(0),j=function(){var t=c(f().m((function t(){var r,n,a,o,i,c,s,l,d;return f().w((function(t){for(;;)switch(t.p=t.n){case 0:if(u){t.n=1;break}return t.a(2);case 1:return r=D.current,n=$.current,T(!0),Z.current++,a=Z.current,t.p=2,(o=Math.round((r-1)*n))<0&&(o=0),n<1&&(n=1),t.n=3,e({limit:n,offset:o,current:r});case 3:if(c=(i=t.v).dataSource,s=i.total,a===Z.current){t.n=4;break}return t.a(2);case 4:if(!(y*(r-1)>=s&&1!==r)){t.n=7;break}return r=1,l=Math.ceil(s/y),t.n=5,e({limit:n,offset:o,current:r});case 5:if(c=(d=t.v).dataSource,s=d.total,a===Z.current){t.n=6;break}return t.a(2);case 6:r=l;case 7:x(c),O(r),N(n),Y(s),t.n=9;break;case 8:if(t.p=8,console.error("fetch err",t.v),a===Z.current){t.n=9;break}return t.a(2);case 9:return t.p=9,I(!0),T(!1),t.f(9);case 10:return t.a(2)}}),t,null,[[2,8,9,10]])})));return function(){return t.apply(this,arguments)}}(),_=function(){var e=c(f().m((function e(t){return f().w((function(e){for(;;)switch(e.n){case 0:return t&&(x([]),O(d),N(v)),e.n=1,j();case 1:return e.a(2)}}),e)})));return function(t){return e.apply(this,arguments)}}(),F=r.useCallback(w(_,500),[_]),H=[].concat(t||[],[u]);return r.useEffect((function(){u&&F(!0)}),H),{tableProps:{loading:P,dataSource:M},loading:P,dataSource:M,paginationProps:{current:m,pageSize:y,total:R,onChange:function(){var e=c(f().m((function e(t,r){return f().w((function(e){for(;;)switch(e.n){case 0:return O(t),N(r),e.n=1,_();case 1:return e.a(2)}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),onShowSizeChange:function(){var e=c(f().m((function e(t,r){return f().w((function(e){for(;;)switch(e.n){case 0:return N(t),O(r),e.n=1,_();case 1:return e.a(2)}}),e)})));return function(t,r){return e.apply(this,arguments)}}()},isFirstComplete:E,refresh:_,debounceRefresh:F,setDataSource:x}},exports.useQuery=function(){var e=window.location.href.split("?")[1]||"",t=new URLSearchParams(e);return Object.fromEntries(t.entries())},exports.useReactive=function(e){var t=r.useState(e),n=t[0],a=t[1],o=r.useRef(n);return[n,r.useCallback((function(e){a((function(t){var r=l({},t,"function"==typeof e?e(t):e);return o.current=r,r}))}),[]),r.useCallback((function(){return o.current}),[]),r.useCallback((function(){a(e),o.current=e}),[e])]},exports.useTimeout=function(e,t,n){void 0===n&&(n=!1);var a=r.useRef(void 0),o=r.useRef(e);r.useEffect((function(){o.current=e}),[e]);var u=r.useCallback((function(){a.current&&(clearTimeout(a.current),a.current=void 0)}),[]),i=r.useCallback((function(){u(),null!=t&&(a.current=setTimeout((function(){return o.current()}),t))}),[t,u]);return r.useEffect((function(){return n&&o.current(),i(),u}),[t,i,u,n]),{start:i,clear:u,isRunning:!!a.current}},exports.useVirtualList=function(e,t,n){var a,o=n||{},u=o.isReady,i=void 0===u||u,s=o.dataSource,l=void 0===s?[]:s,d=o.current,p=void 0===d?1:d,v=o.pageSize,h=void 0===v?10:v,m=r.useState(!1),b=m[0],g=m[1],y=r.useState(p),S=y[0],k=y[1],M=r.useState(h),x=M[0],A=M[1],R=r.useState(0),Y=R[0],C=R[1],P=r.useState(!1),T=P[0],z=P[1],E=r.useState(l),I=E[0],D=E[1],$=r.useRef(S),O=r.useRef(x),N=function(e){k(e),$.current=e},Z=function(e){A(e),O.current=e},j=r.useRef(0),_=function(){var t=c(f().m((function t(r){var n,a,o,u,c,s,l,d,p,v;return f().w((function(t){for(;;)switch(t.p=t.n){case 0:if(i){t.n=1;break}return t.a(2);case 1:return n=$.current,a=O.current,z(!0),j.current+=1,o=j.current,t.p=2,(u=Math.round((n-1)*a))<0&&(u=0),a<1&&(a=1),t.n=3,e({limit:a,offset:u,current:n});case 3:if(s=(c=t.v).dataSource,l=c.total,o===j.current){t.n=4;break}return t.a(2);case 4:if(!(x*(n-1)>=l&&1!==n)){t.n=7;break}return d=Math.ceil(l/x),t.n=5,e({limit:a,offset:Math.round((d-1)*a),current:n});case 5:if(s=(p=t.v).dataSource,l=p.total,o===j.current){t.n=6;break}return t.a(2);case 6:n=d;case 7:v=r?s:I.concat(s),D(v),N(n),Z(a),C(l),t.n=9;break;case 8:if(t.p=8,console.error("fetch err",t.v),o===j.current){t.n=9;break}return t.a(2);case 9:g(!0),z(!1);case 10:return t.a(2)}}),t,null,[[2,8]])})));return function(e){return t.apply(this,arguments)}}(),F=function(){var e=c(f().m((function e(t){var r;return f().w((function(e){for(;;)switch(e.n){case 0:if(!t){e.n=1;break}D([]),N(p),Z(h),e.n=3;break;case 1:if(r=x*S,!(Y&&Y<=r)){e.n=2;break}return e.a(2);case 2:N(S+1);case 3:return e.n=4,_(t);case 4:return e.a(2)}}),e)})));return function(t){return e.apply(this,arguments)}}(),H=r.useCallback(w(F,500),[F]),V=[].concat(t||[],[i]);return r.useEffect((function(){i&&H(!0)}),V),{loading:T,dataSource:I,paginationProps:{current:S,pageSize:x,total:Y},isFirstComplete:b,refresh:(a=c(f().m((function e(t){return f().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,F(t);case 1:return e.a(2)}}),e)}))),function(e){return a.apply(this,arguments)}),debounceRefresh:H,setDataSource:D,setTotal:C}};
2
2
  //# sourceMappingURL=libs.cjs.production.min.js.map