fast-element-plus 1.0.0-alpha.0 → 1.0.0
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/package.json +24 -121
- package/Fast.png +0 -0
- package/LICENSE +0 -201
- package/README.md +0 -158
- package/README.zh.md +0 -158
- package/dist/index.iife.js +0 -2
- package/dist/index.iife.js.map +0 -1
- package/dist/index.umd.js +0 -2
- package/dist/index.umd.js.map +0 -1
- package/es/components/icon/index.d.ts +0 -20
- package/es/components/icon/index.mjs +0 -9
- package/es/components/icon/index.mjs.map +0 -1
- package/es/components/icon/src/icon.d.ts +0 -61
- package/es/components/icon/src/icon.mjs +0 -81
- package/es/components/icon/src/icon.mjs.map +0 -1
- package/es/components/index.d.ts +0 -1
- package/es/components/index.mjs +0 -5
- package/es/components/index.mjs.map +0 -1
- package/es/constants/index.d.ts +0 -2
- package/es/constants/index.mjs +0 -7
- package/es/constants/index.mjs.map +0 -1
- package/es/constants/mime.d.ts +0 -61
- package/es/constants/mime.mjs +0 -62
- package/es/constants/mime.mjs.map +0 -1
- package/es/constants/regex.d.ts +0 -78
- package/es/constants/regex.mjs +0 -79
- package/es/constants/regex.mjs.map +0 -1
- package/es/directives/clickCopy/index.d.ts +0 -2
- package/es/directives/clickCopy/index.mjs +0 -39
- package/es/directives/clickCopy/index.mjs.map +0 -1
- package/es/directives/clickDebounce/index.d.ts +0 -2
- package/es/directives/clickDebounce/index.mjs +0 -21
- package/es/directives/clickDebounce/index.mjs.map +0 -1
- package/es/directives/clickDraggable/index.d.ts +0 -2
- package/es/directives/clickDraggable/index.mjs +0 -39
- package/es/directives/clickDraggable/index.mjs.map +0 -1
- package/es/directives/clickIconCopy/index.d.ts +0 -2
- package/es/directives/clickIconCopy/index.mjs +0 -57
- package/es/directives/clickIconCopy/index.mjs.map +0 -1
- package/es/directives/clickLongpress/index.d.ts +0 -2
- package/es/directives/clickLongpress/index.mjs +0 -43
- package/es/directives/clickLongpress/index.mjs.map +0 -1
- package/es/directives/clickThrottle/index.d.ts +0 -2
- package/es/directives/clickThrottle/index.mjs +0 -32
- package/es/directives/clickThrottle/index.mjs.map +0 -1
- package/es/directives/index.d.ts +0 -6
- package/es/directives/index.mjs +0 -15
- package/es/directives/index.mjs.map +0 -1
- package/es/fast-element-plus/component.d.ts +0 -3
- package/es/fast-element-plus/component.mjs +0 -6
- package/es/fast-element-plus/component.mjs.map +0 -1
- package/es/fast-element-plus/directive.d.ts +0 -2
- package/es/fast-element-plus/directive.mjs +0 -11
- package/es/fast-element-plus/directive.mjs.map +0 -1
- package/es/fast-element-plus/element-plus.d.ts +0 -2
- package/es/fast-element-plus/element-plus.mjs +0 -113
- package/es/fast-element-plus/element-plus.mjs.map +0 -1
- package/es/fast-element-plus/fast-element-plus.d.ts +0 -3
- package/es/fast-element-plus/fast-element-plus.mjs +0 -12
- package/es/fast-element-plus/fast-element-plus.mjs.map +0 -1
- package/es/fast-element-plus/make-installer.d.ts +0 -7
- package/es/fast-element-plus/make-installer.mjs +0 -30
- package/es/fast-element-plus/make-installer.mjs.map +0 -1
- package/es/fast-element-plus/version.d.ts +0 -4
- package/es/fast-element-plus/version.mjs +0 -5
- package/es/fast-element-plus/version.mjs.map +0 -1
- package/es/hooks/index.d.ts +0 -2
- package/es/hooks/index.mjs +0 -7
- package/es/hooks/index.mjs.map +0 -1
- package/es/hooks/useLoading/index.d.ts +0 -4
- package/es/hooks/useLoading/index.mjs +0 -35
- package/es/hooks/useLoading/index.mjs.map +0 -1
- package/es/hooks/useOverlay/index.d.ts +0 -4
- package/es/hooks/useOverlay/index.mjs +0 -27
- package/es/hooks/useOverlay/index.mjs.map +0 -1
- package/es/hooks/useScreenFull/index.d.ts +0 -0
- package/es/index.d.ts +0 -16
- package/es/index.es.d.ts +0 -6
- package/es/index.mjs +0 -82
- package/es/index.mjs.map +0 -1
- package/es/settings/index.d.ts +0 -79
- package/es/settings/index.mjs +0 -35
- package/es/settings/index.mjs.map +0 -1
- package/es/stores/index.d.ts +0 -4
- package/es/stores/index.mjs +0 -7
- package/es/stores/index.mjs.map +0 -1
- package/es/utils/base64.d.ts +0 -10
- package/es/utils/base64.mjs +0 -106
- package/es/utils/base64.mjs.map +0 -1
- package/es/utils/click.d.ts +0 -14
- package/es/utils/click.mjs +0 -35
- package/es/utils/click.mjs.map +0 -1
- package/es/utils/color.d.ts +0 -31
- package/es/utils/color.mjs +0 -73
- package/es/utils/color.mjs.map +0 -1
- package/es/utils/console.d.ts +0 -21
- package/es/utils/console.mjs +0 -19
- package/es/utils/console.mjs.map +0 -1
- package/es/utils/deviceId.d.ts +0 -9
- package/es/utils/deviceId.mjs +0 -27
- package/es/utils/deviceId.mjs.map +0 -1
- package/es/utils/errorHandler.d.ts +0 -4
- package/es/utils/errorHandler.mjs +0 -42
- package/es/utils/errorHandler.mjs.map +0 -1
- package/es/utils/form.d.ts +0 -78
- package/es/utils/form.mjs +0 -218
- package/es/utils/form.mjs.map +0 -1
- package/es/utils/index.d.ts +0 -10
- package/es/utils/index.mjs +0 -29
- package/es/utils/index.mjs.map +0 -1
- package/es/utils/storage.d.ts +0 -79
- package/es/utils/storage.mjs +0 -219
- package/es/utils/storage.mjs.map +0 -1
- package/es/utils/string.d.ts +0 -33
- package/es/utils/string.mjs +0 -119
- package/es/utils/string.mjs.map +0 -1
- package/es/utils/vue/func.d.ts +0 -7
- package/es/utils/vue/func.mjs +0 -17
- package/es/utils/vue/func.mjs.map +0 -1
- package/es/utils/vue/index.d.ts +0 -6
- package/es/utils/vue/index.mjs +0 -17
- package/es/utils/vue/index.mjs.map +0 -1
- package/es/utils/vue/install.d.ts +0 -5
- package/es/utils/vue/install.mjs +0 -31
- package/es/utils/vue/install.mjs.map +0 -1
- package/es/utils/vue/props.d.ts +0 -10
- package/es/utils/vue/props.mjs +0 -14
- package/es/utils/vue/props.mjs.map +0 -1
- package/es/utils/vue/slots.d.ts +0 -11
- package/es/utils/vue/slots.mjs +0 -7
- package/es/utils/vue/slots.mjs.map +0 -1
- package/es/utils/vue/useRender.d.ts +0 -7
- package/es/utils/vue/useRender.mjs +0 -12
- package/es/utils/vue/useRender.mjs.map +0 -1
- package/es/utils/vue/with.d.ts +0 -6
- package/es/utils/vue/with.mjs +0 -7
- package/es/utils/vue/with.mjs.map +0 -1
- package/global.d.ts +0 -3
- package/lib/components/icon/index.d.ts +0 -20
- package/lib/components/icon/index.js +0 -2
- package/lib/components/icon/index.js.map +0 -1
- package/lib/components/icon/src/icon.d.ts +0 -61
- package/lib/components/icon/src/icon.js +0 -2
- package/lib/components/icon/src/icon.js.map +0 -1
- package/lib/components/index.d.ts +0 -1
- package/lib/components/index.js +0 -2
- package/lib/components/index.js.map +0 -1
- package/lib/constants/index.d.ts +0 -2
- package/lib/constants/index.js +0 -2
- package/lib/constants/index.js.map +0 -1
- package/lib/constants/mime.d.ts +0 -61
- package/lib/constants/mime.js +0 -2
- package/lib/constants/mime.js.map +0 -1
- package/lib/constants/regex.d.ts +0 -78
- package/lib/constants/regex.js +0 -2
- package/lib/constants/regex.js.map +0 -1
- package/lib/directives/clickCopy/index.d.ts +0 -2
- package/lib/directives/clickCopy/index.js +0 -2
- package/lib/directives/clickCopy/index.js.map +0 -1
- package/lib/directives/clickDebounce/index.d.ts +0 -2
- package/lib/directives/clickDebounce/index.js +0 -2
- package/lib/directives/clickDebounce/index.js.map +0 -1
- package/lib/directives/clickDraggable/index.d.ts +0 -2
- package/lib/directives/clickDraggable/index.js +0 -2
- package/lib/directives/clickDraggable/index.js.map +0 -1
- package/lib/directives/clickIconCopy/index.d.ts +0 -2
- package/lib/directives/clickIconCopy/index.js +0 -2
- package/lib/directives/clickIconCopy/index.js.map +0 -1
- package/lib/directives/clickLongpress/index.d.ts +0 -2
- package/lib/directives/clickLongpress/index.js +0 -2
- package/lib/directives/clickLongpress/index.js.map +0 -1
- package/lib/directives/clickThrottle/index.d.ts +0 -2
- package/lib/directives/clickThrottle/index.js +0 -2
- package/lib/directives/clickThrottle/index.js.map +0 -1
- package/lib/directives/index.d.ts +0 -6
- package/lib/directives/index.js +0 -2
- package/lib/directives/index.js.map +0 -1
- package/lib/fast-element-plus/component.d.ts +0 -3
- package/lib/fast-element-plus/component.js +0 -2
- package/lib/fast-element-plus/component.js.map +0 -1
- package/lib/fast-element-plus/directive.d.ts +0 -2
- package/lib/fast-element-plus/directive.js +0 -2
- package/lib/fast-element-plus/directive.js.map +0 -1
- package/lib/fast-element-plus/element-plus.d.ts +0 -2
- package/lib/fast-element-plus/element-plus.js +0 -2
- package/lib/fast-element-plus/element-plus.js.map +0 -1
- package/lib/fast-element-plus/fast-element-plus.d.ts +0 -3
- package/lib/fast-element-plus/fast-element-plus.js +0 -2
- package/lib/fast-element-plus/fast-element-plus.js.map +0 -1
- package/lib/fast-element-plus/make-installer.d.ts +0 -7
- package/lib/fast-element-plus/make-installer.js +0 -2
- package/lib/fast-element-plus/make-installer.js.map +0 -1
- package/lib/fast-element-plus/version.d.ts +0 -4
- package/lib/fast-element-plus/version.js +0 -2
- package/lib/fast-element-plus/version.js.map +0 -1
- package/lib/hooks/index.d.ts +0 -2
- package/lib/hooks/index.js +0 -2
- package/lib/hooks/index.js.map +0 -1
- package/lib/hooks/useLoading/index.d.ts +0 -4
- package/lib/hooks/useLoading/index.js +0 -2
- package/lib/hooks/useLoading/index.js.map +0 -1
- package/lib/hooks/useOverlay/index.d.ts +0 -4
- package/lib/hooks/useOverlay/index.js +0 -2
- package/lib/hooks/useOverlay/index.js.map +0 -1
- package/lib/hooks/useScreenFull/index.d.ts +0 -0
- package/lib/index.d.ts +0 -16
- package/lib/index.es.d.ts +0 -6
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- package/lib/settings/index.d.ts +0 -79
- package/lib/settings/index.js +0 -2
- package/lib/settings/index.js.map +0 -1
- package/lib/stores/index.d.ts +0 -4
- package/lib/stores/index.js +0 -2
- package/lib/stores/index.js.map +0 -1
- package/lib/utils/base64.d.ts +0 -10
- package/lib/utils/base64.js +0 -2
- package/lib/utils/base64.js.map +0 -1
- package/lib/utils/click.d.ts +0 -14
- package/lib/utils/click.js +0 -2
- package/lib/utils/click.js.map +0 -1
- package/lib/utils/color.d.ts +0 -31
- package/lib/utils/color.js +0 -2
- package/lib/utils/color.js.map +0 -1
- package/lib/utils/console.d.ts +0 -21
- package/lib/utils/console.js +0 -2
- package/lib/utils/console.js.map +0 -1
- package/lib/utils/deviceId.d.ts +0 -9
- package/lib/utils/deviceId.js +0 -2
- package/lib/utils/deviceId.js.map +0 -1
- package/lib/utils/errorHandler.d.ts +0 -4
- package/lib/utils/errorHandler.js +0 -2
- package/lib/utils/errorHandler.js.map +0 -1
- package/lib/utils/form.d.ts +0 -78
- package/lib/utils/form.js +0 -2
- package/lib/utils/form.js.map +0 -1
- package/lib/utils/index.d.ts +0 -10
- package/lib/utils/index.js +0 -2
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/storage.d.ts +0 -79
- package/lib/utils/storage.js +0 -2
- package/lib/utils/storage.js.map +0 -1
- package/lib/utils/string.d.ts +0 -33
- package/lib/utils/string.js +0 -2
- package/lib/utils/string.js.map +0 -1
- package/lib/utils/vue/func.d.ts +0 -7
- package/lib/utils/vue/func.js +0 -2
- package/lib/utils/vue/func.js.map +0 -1
- package/lib/utils/vue/index.d.ts +0 -6
- package/lib/utils/vue/index.js +0 -2
- package/lib/utils/vue/index.js.map +0 -1
- package/lib/utils/vue/install.d.ts +0 -5
- package/lib/utils/vue/install.js +0 -2
- package/lib/utils/vue/install.js.map +0 -1
- package/lib/utils/vue/props.d.ts +0 -10
- package/lib/utils/vue/props.js +0 -2
- package/lib/utils/vue/props.js.map +0 -1
- package/lib/utils/vue/slots.d.ts +0 -11
- package/lib/utils/vue/slots.js +0 -2
- package/lib/utils/vue/slots.js.map +0 -1
- package/lib/utils/vue/useRender.d.ts +0 -7
- package/lib/utils/vue/useRender.js +0 -2
- package/lib/utils/vue/useRender.js.map +0 -1
- package/lib/utils/vue/with.d.ts +0 -6
- package/lib/utils/vue/with.js +0 -2
- package/lib/utils/vue/with.js.map +0 -1
- package/types/env.d.ts +0 -45
- package/types/runtime-core.d.ts +0 -52
- package/types/shims-vue.d.ts +0 -20
package/lib/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./fast-element-plus/make-installer.js");require("./components/index.js"),require("./constants/index.js"),require("./directives/index.js"),require("./hooks/index.js");const s=require("./settings/index.js");require("./stores/index.js"),require("./utils/index.js");const r=require("./components/icon/index.js"),t=require("./constants/mime.js"),i=require("./constants/regex.js"),o=require("./directives/clickCopy/index.js"),n=require("./directives/clickDebounce/index.js"),l=require("./directives/clickDraggable/index.js"),u=require("./directives/clickIconCopy/index.js"),p=require("./directives/clickLongpress/index.js"),c=require("./directives/clickThrottle/index.js"),x=require("./hooks/useLoading/index.js"),a=require("./hooks/useOverlay/index.js"),d=require("./utils/vue/func.js"),j=require("./utils/vue/install.js"),v=require("./utils/vue/props.js"),q=require("./utils/vue/slots.js"),I=require("./utils/vue/useRender.js"),g=require("./utils/vue/with.js"),E=require("./utils/base64.js"),k=require("./utils/click.js"),y=require("./utils/color.js"),D=require("./utils/console.js"),m=require("./utils/deviceId.js"),C=require("./utils/errorHandler.js"),h=require("./utils/form.js"),F=require("./utils/storage.js"),L=require("./utils/string.js"),_=e.makeInstaller(),b=_.install,U=_.version;exports.INSTALLED_KEY=e.INSTALLED_KEY,exports.fastOptions=s.fastOptions,exports.setFastOptions=s.setFastOptions,exports.FaIcon=r.FaIcon,exports.FaMimeType=t.FaMimeType,exports.RegExps=i.RegExps,exports.vCopy=o.vCopy,exports.vDebounce=n.vDebounce,exports.vDraggable=l.vDraggable,exports.vIconCopy=u.vIconCopy,exports.vLongpress=p.vLongpress,exports.vThrottle=c.vThrottle,exports.useLoading=x.useLoading,exports.useOverlay=a.useOverlay,exports.execAsyncFunction=d.execAsyncFunction,exports.withInstall=j.withInstall,exports.withInstallDirective=j.withInstallDirective,exports.withNoopInstall=j.withNoopInstall,exports.useProps=v.useProps,exports.makeSlots=q.makeSlots,exports.useRender=I.useRender,exports.withDefineType=g.withDefineType,exports.base64Util=E.base64Util,exports.clickUtil=k.clickUtil,exports.colorUtil=y.colorUtil,exports.consoleDebug=D.consoleDebug,exports.consoleError=D.consoleError,exports.consoleLog=D.consoleLog,exports.consoleWarn=D.consoleWarn,exports.DEVICE_ID_KEY=m.DEVICE_ID_KEY,exports.makeIdentity=m.makeIdentity,exports.errorHandler=C.errorHandler,exports.formUtil=h.formUtil,exports.CACHE_EXPIRE_SUFFIX=F.CACHE_EXPIRE_SUFFIX,exports.CACHE_PREFIX=F.CACHE_PREFIX,exports.Local=F.Local,exports.Session=F.Session,exports.stringUtil=L.stringUtil,exports.default=_,exports.install=b,exports.version=U;
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../packages/index.ts"],"sourcesContent":["import { INSTALLED_KEY, makeInstaller } from \"@fast-element-plus/build\";\n\nexport * from \"@fast-element-plus/components\";\nexport * from \"@fast-element-plus/constants\";\nexport * from \"@fast-element-plus/directives\";\nexport * from \"@fast-element-plus/hooks\";\nexport * from \"@fast-element-plus/settings\";\nexport * from \"@fast-element-plus/stores\";\nexport * from \"@fast-element-plus/utils\";\n\nexport { INSTALLED_KEY };\n\nconst installer = makeInstaller();\n\nexport const install = installer.install;\nexport const version = installer.version;\nexport default installer;\n"],"names":["installer","makeInstaller","install","version"],"mappings":"u1CAYMA,EAAYC,EAAAA,gBAELC,EAAUF,EAAUE,QACpBC,EAAUH,EAAUG"}
|
package/lib/settings/index.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 日期范围
|
|
3
|
-
*/
|
|
4
|
-
export type DataRange = "Past1D" | "Past3D" | "Past1W" | "Past1M" | "Past3M" | "Past6M" | "Past1Y";
|
|
5
|
-
/**
|
|
6
|
-
* Fast 配置选项
|
|
7
|
-
*/
|
|
8
|
-
export type FastOptions = {
|
|
9
|
-
/**
|
|
10
|
-
* 警告页面数量
|
|
11
|
-
* @default 15
|
|
12
|
-
*/
|
|
13
|
-
warnPageNum?: number;
|
|
14
|
-
/**
|
|
15
|
-
* 存储加密
|
|
16
|
-
* @description 请在初始化的时候确认,后续不可再修改,否则所有数据都将失效
|
|
17
|
-
* @default true
|
|
18
|
-
*/
|
|
19
|
-
storageCrypto?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Axios 配置
|
|
22
|
-
*/
|
|
23
|
-
axios?: {
|
|
24
|
-
/**
|
|
25
|
-
* 请求域名或者Base路径
|
|
26
|
-
*/
|
|
27
|
-
baseUrl?: string;
|
|
28
|
-
/**
|
|
29
|
-
* 超时时间,单位毫秒
|
|
30
|
-
* @default 60000
|
|
31
|
-
*/
|
|
32
|
-
timeout?: number;
|
|
33
|
-
/**
|
|
34
|
-
* 请求加密解密
|
|
35
|
-
* @default true
|
|
36
|
-
*/
|
|
37
|
-
requestCipher?: boolean;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* 表格配置
|
|
41
|
-
*/
|
|
42
|
-
table?: {
|
|
43
|
-
/**
|
|
44
|
-
* 显示搜索Form
|
|
45
|
-
* @default true
|
|
46
|
-
*/
|
|
47
|
-
showSearch?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* 隐藏图片
|
|
50
|
-
* @default true
|
|
51
|
-
*/
|
|
52
|
-
hideImage?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* 时间搜索范围
|
|
55
|
-
*/
|
|
56
|
-
dataSearchRange?: DataRange;
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* 全局 Fast 配置选项
|
|
61
|
-
*/
|
|
62
|
-
export declare const fastOptions: {
|
|
63
|
-
warnPageNum?: number;
|
|
64
|
-
storageCrypto?: boolean;
|
|
65
|
-
axios?: {
|
|
66
|
-
baseUrl?: string;
|
|
67
|
-
timeout?: number;
|
|
68
|
-
requestCipher?: boolean;
|
|
69
|
-
};
|
|
70
|
-
table?: {
|
|
71
|
-
showSearch?: boolean;
|
|
72
|
-
hideImage?: boolean;
|
|
73
|
-
dataSearchRange?: DataRange;
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* 设置 全局 Fast 配置选项
|
|
78
|
-
*/
|
|
79
|
-
export declare const setFastOptions: (options: FastOptions) => void;
|
package/lib/settings/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue").reactive({warnPageNum:15,storageCrypto:!0,axios:{baseUrl:void 0,timeout:6e4,requestCipher:!0},table:{showSearch:!0,hideImage:!0,dataSearchRange:"Past3D"}}),t=(e,o)=>{for(const r in o){const s=o[r];void 0!==s&&null!=s&&(e[r]="object"==typeof s?t(e[r],o[r]):o[r])}};exports.fastOptions=e,exports.setFastOptions=o=>{t(e,o)};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../packages/settings/index.ts"],"sourcesContent":["import { reactive } from \"vue\";\n\n/**\n * 日期范围\n */\nexport type DataRange = \"Past1D\" | \"Past3D\" | \"Past1W\" | \"Past1M\" | \"Past3M\" | \"Past6M\" | \"Past1Y\";\n\n/**\n * Fast 配置选项\n */\nexport type FastOptions = {\n\t/**\n\t * 警告页面数量\n\t * @default 15\n\t */\n\twarnPageNum?: number;\n\t/**\n\t * 存储加密\n\t * @description 请在初始化的时候确认,后续不可再修改,否则所有数据都将失效\n\t * @default true\n\t */\n\tstorageCrypto?: boolean;\n\t/**\n\t * Axios 配置\n\t */\n\taxios?: {\n\t\t/**\n\t\t * 请求域名或者Base路径\n\t\t */\n\t\tbaseUrl?: string;\n\t\t/**\n\t\t * 超时时间,单位毫秒\n\t\t * @default 60000\n\t\t */\n\t\ttimeout?: number;\n\t\t/**\n\t\t * 请求加密解密\n\t\t * @default true\n\t\t */\n\t\trequestCipher?: boolean;\n\t};\n\t/**\n\t * 表格配置\n\t */\n\ttable?: {\n\t\t/**\n\t\t * 显示搜索Form\n\t\t * @default true\n\t\t */\n\t\tshowSearch?: boolean;\n\t\t/**\n\t\t * 隐藏图片\n\t\t * @default true\n\t\t */\n\t\thideImage?: boolean;\n\t\t/**\n\t\t * 时间搜索范围\n\t\t */\n\t\tdataSearchRange?: DataRange;\n\t};\n};\n\n/**\n * 全局 Fast 配置选项\n */\nexport const fastOptions = reactive<FastOptions>({\n\twarnPageNum: 15,\n\tstorageCrypto: true,\n\taxios: {\n\t\tbaseUrl: undefined,\n\t\ttimeout: 60000,\n\t\trequestCipher: true,\n\t},\n\ttable: {\n\t\tshowSearch: true,\n\t\thideImage: true,\n\t\tdataSearchRange: \"Past3D\",\n\t},\n});\n\nconst merge = (target: FastOptions, source: FastOptions): void => {\n\tfor (const key in source) {\n\t\tconst value = source[key];\n\t\tif (value !== undefined && value != null) {\n\t\t\tif (typeof value === \"object\") {\n\t\t\t\ttarget[key] = merge(target[key], source[key]);\n\t\t\t} else {\n\t\t\t\ttarget[key] = source[key];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * 设置 全局 Fast 配置选项\n */\nexport const setFastOptions = (options: FastOptions): void => {\n\tmerge(fastOptions, options);\n};\n"],"names":["fastOptions","reactive","warnPageNum","storageCrypto","axios","baseUrl","timeout","requestCipher","table","showSearch","hideImage","dataSearchRange","merge","target","source","key","value","options"],"mappings":"sFAiEaA,iBAAcC,SAAsB,CAChDC,YAAa,GACbC,eAAe,EACfC,MAAO,CACNC,aAAS,EACTC,QAAS,IACTC,eAAe,GAEhBC,MAAO,CACNC,YAAY,EACZC,WAAW,EACXC,gBAAiB,YAIbC,EAAQ,CAACC,EAAqBC,KACnC,IAAA,MAAWC,KAAOD,EAAQ,CACnB,MAAAE,EAAQF,EAAOC,QACP,IAAVC,GAAgC,MAATA,IAElBH,EAAAE,GADa,iBAAVC,EACIJ,EAAMC,EAAOE,GAAMD,EAAOC,IAE1BD,EAAOC,GAGxB,gDAM8BE,IAC9BL,EAAMZ,EAAaiB,EAAO"}
|
package/lib/stores/index.d.ts
DELETED
package/lib/stores/index.js
DELETED
package/lib/stores/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../packages/stores/index.ts"],"sourcesContent":["export default {\n\ta: 1,\n};\n"],"names":["a"],"mappings":"4HAAe,CACdA,EAAG"}
|
package/lib/utils/base64.d.ts
DELETED
package/lib/utils/base64.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=[{index:977,randomIndex:188},{index:926,randomIndex:201},{index:851,randomIndex:225},{index:700,randomIndex:255},{index:600,randomIndex:268},{index:500,randomIndex:277},{index:400,randomIndex:288},{index:330,randomIndex:327},{index:300,randomIndex:180},{index:200,randomIndex:178},{index:100,randomIndex:124},{index:98,randomIndex:95},{index:92,randomIndex:90},{index:91,randomIndex:87},{index:88,randomIndex:84},{index:82,randomIndex:79},{index:78,randomIndex:71},{index:72,randomIndex:69},{index:68,randomIndex:66},{index:59,randomIndex:55},{index:48,randomIndex:43},{index:42,randomIndex:37},{index:36,randomIndex:30},{index:33,randomIndex:27},{index:24,randomIndex:20},{index:23,randomIndex:18},{index:21,randomIndex:16},{index:17,randomIndex:14},{index:13,randomIndex:9},{index:7,randomIndex:4},{index:5,randomIndex:3},{index:2,randomIndex:1}];const e={toBase64(e,d=6){if(0===e.length)return"";const x=function(n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",e=6){let d="";for(let x=0;x<e;x++)d+=n[Math.ceil(Math.random()*(n.length-1))];return d}();let o=btoa(encodeURIComponent(e));return 0!==d&&(o=function(e){let d=e;return n.sort(((n,e)=>e.index-n.index)).forEach((n=>{if(n.index<e.length){const x=e[n.randomIndex];d=d.slice(0,n.index)+x+d.slice(n.index)}})),d}(o)),x+o},base64ToStr(e,d=6){let x=e;if(0===e.length)return"";let o=e.slice(d);return 0!==d&&(o=function(e){const d=n.sort(((n,e)=>n.index-e.index));let x=e;return d.forEach((n=>{n.index<e.length&&(x=x.slice(0,n.index)+x.slice(n.index+1))})),x}(o)),x=atob(o),decodeURIComponent(x)}};exports.base64Util=e;
|
|
2
|
-
//# sourceMappingURL=base64.js.map
|
package/lib/utils/base64.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base64.js","sources":["../../../packages/utils/base64.ts"],"sourcesContent":["/**加密字典 */\nconst base64PwdDic = [\n\t{ index: 977, randomIndex: 188 },\n\t{ index: 926, randomIndex: 201 },\n\t{ index: 851, randomIndex: 225 },\n\t{ index: 700, randomIndex: 255 },\n\t{ index: 600, randomIndex: 268 },\n\t{ index: 500, randomIndex: 277 },\n\t{ index: 400, randomIndex: 288 },\n\t{ index: 330, randomIndex: 327 },\n\t{ index: 300, randomIndex: 180 },\n\t{ index: 200, randomIndex: 178 },\n\t{ index: 100, randomIndex: 124 },\n\t// 100 以内字典\n\t{ index: 98, randomIndex: 95 },\n\t{ index: 92, randomIndex: 90 },\n\t{ index: 91, randomIndex: 87 },\n\t{ index: 88, randomIndex: 84 },\n\t{ index: 82, randomIndex: 79 },\n\t{ index: 78, randomIndex: 71 },\n\t{ index: 72, randomIndex: 69 },\n\t{ index: 68, randomIndex: 66 },\n\t{ index: 59, randomIndex: 55 },\n\t{ index: 48, randomIndex: 43 },\n\t{ index: 42, randomIndex: 37 },\n\t{ index: 36, randomIndex: 30 },\n\t{ index: 33, randomIndex: 27 },\n\t{ index: 24, randomIndex: 20 },\n\t{ index: 23, randomIndex: 18 },\n\t{ index: 21, randomIndex: 16 },\n\t{ index: 17, randomIndex: 14 },\n\t{ index: 13, randomIndex: 9 },\n\t{ index: 7, randomIndex: 4 },\n\t{ index: 5, randomIndex: 3 },\n\t{ index: 2, randomIndex: 1 },\n];\n\n/**随机字符串长度 */\nconst randomPrefixStrLength = 6;\n\n/**随机字符串 */\nconst randomStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\n/**\n * 在Base64字符串中添加加密字典\n */\nfunction insertRandomStrToBase64Str(base64Str: string): string {\n\tlet strResult = base64Str;\n\tconst items = base64PwdDic.sort((a, b) => {\n\t\treturn b.index - a.index;\n\t});\n\titems.forEach((item) => {\n\t\tif (item.index < base64Str.length) {\n\t\t\tconst randomChar = base64Str[item.randomIndex];\n\t\t\tstrResult = strResult.slice(0, item.index) + randomChar + strResult.slice(item.index);\n\t\t}\n\t});\n\treturn strResult;\n}\n\n/**\n * 删除Base64字符串中的加密字典\n */\nfunction removeBase64StrRandomStr(base64Str: string): string {\n\tconst items = base64PwdDic.sort((a, b) => {\n\t\treturn a.index - b.index;\n\t});\n\tlet strResult = base64Str;\n\titems.forEach((item) => {\n\t\tif (item.index < base64Str.length) {\n\t\t\tstrResult = strResult.slice(0, item.index) + strResult.slice(item.index + 1);\n\t\t}\n\t});\n\treturn strResult;\n}\n\n/**\n * 得到随机字符串\n */\nfunction getRandomStr(str = randomStr, prefixStrLength = randomPrefixStrLength): string {\n\tlet result = \"\";\n\tfor (let i = 0; i < prefixStrLength; i++) {\n\t\tconst randomInt = Math.ceil(Math.random() * (str.length - 1));\n\t\tconst randomChar = str[randomInt];\n\t\tresult += randomChar;\n\t}\n\treturn result;\n}\n\nexport const base64Util = {\n\t/**\n\t * 字符串ToBase64\n\t */\n\ttoBase64(str: string, prefixStrLength = randomPrefixStrLength): string {\n\t\tif (str.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\t\tconst randomPrefixStr = getRandomStr();\n\t\tlet base64 = btoa(encodeURIComponent(str));\n\t\tif (prefixStrLength !== 0) {\n\t\t\tbase64 = insertRandomStrToBase64Str(base64);\n\t\t}\n\t\treturn randomPrefixStr + base64;\n\t},\n\n\t/**\n\t * Base64转字符串\n\t */\n\tbase64ToStr(str: string, prefixStrLength = randomPrefixStrLength): string {\n\t\tlet result = str;\n\t\tif (str.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\t\tlet input = str.slice(prefixStrLength);\n\t\tif (prefixStrLength !== 0) {\n\t\t\tinput = removeBase64StrRandomStr(input);\n\t\t}\n\t\tresult = atob(input);\n\t\treturn decodeURIComponent(result);\n\t},\n};\n"],"names":["base64PwdDic","index","randomIndex","base64Util","toBase64","str","prefixStrLength","length","randomPrefixStr","result","i","Math","ceil","random","getRandomStr","base64","btoa","encodeURIComponent","base64Str","strResult","sort","a","b","forEach","item","randomChar","slice","insertRandomStrToBase64Str","base64ToStr","input","items","removeBase64StrRandomStr","atob","decodeURIComponent"],"mappings":"gFACA,MAAMA,EAAe,CACpB,CAAEC,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAC3B,CAAED,MAAO,IAAKC,YAAa,KAE3B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,IAC1B,CAAED,MAAO,GAAIC,YAAa,GAC1B,CAAED,MAAO,EAAGC,YAAa,GACzB,CAAED,MAAO,EAAGC,YAAa,GACzB,CAAED,MAAO,EAAGC,YAAa,IAuDnB,MAAMC,EAAa,CAIzB,QAAAC,CAASC,EAAaC,EAvDO,GAwDxB,GAAe,IAAfD,EAAIE,OACA,MAAA,GAER,MAAMC,EAlBR,SAAsBH,EAtCJ,uDAsCqBC,EAzCT,GA0C7B,IAAIG,EAAS,GACb,IAAA,IAASC,EAAI,EAAGA,EAAIJ,EAAiBI,IAG1BD,GADSJ,EADDM,KAAKC,KAAKD,KAAKE,UAAYR,EAAIE,OAAS,KAIpD,OAAAE,CACR,CAU0BK,GACxB,IAAIC,EAASC,KAAKC,mBAAmBZ,IAIrC,OAHwB,IAApBC,IACHS,EAtDH,SAAoCG,GACnC,IAAIC,EAAYD,EAUT,OATOlB,EAAaoB,MAAK,CAACC,EAAGC,IAC5BA,EAAErB,MAAQoB,EAAEpB,QAEdsB,SAASC,IACV,GAAAA,EAAKvB,MAAQiB,EAAUX,OAAQ,CAC5B,MAAAkB,EAAaP,EAAUM,EAAKtB,aACtBiB,EAAAA,EAAUO,MAAM,EAAGF,EAAKvB,OAASwB,EAAaN,EAAUO,MAAMF,EAAKvB,MAChF,KAEMkB,CACR,CA0CYQ,CAA2BZ,IAE9BP,EAAkBO,CAC1B,EAKA,WAAAa,CAAYvB,EAAaC,EAtEI,GAuE5B,IAAIG,EAASJ,EACT,GAAe,IAAfA,EAAIE,OACA,MAAA,GAEJ,IAAAsB,EAAQxB,EAAIqB,MAAMpB,GAKtB,OAJwB,IAApBA,IACHuB,EApDH,SAAkCX,GACjC,MAAMY,EAAQ9B,EAAaoB,MAAK,CAACC,EAAGC,IAC5BD,EAAEpB,MAAQqB,EAAErB,QAEpB,IAAIkB,EAAYD,EAMT,OALDY,EAAAP,SAASC,IACVA,EAAKvB,MAAQiB,EAAUX,SACdY,EAAAA,EAAUO,MAAM,EAAGF,EAAKvB,OAASkB,EAAUO,MAAMF,EAAKvB,MAAQ,GAC3E,IAEMkB,CACR,CAyCWY,CAAyBF,IAElCpB,EAASuB,KAAKH,GACPI,mBAAmBxB,EAC3B"}
|
package/lib/utils/click.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const clickUtil: {
|
|
2
|
-
/**
|
|
3
|
-
* 防抖
|
|
4
|
-
* @param {Function} 执行函数
|
|
5
|
-
* @param {Number} delay 延时ms
|
|
6
|
-
*/
|
|
7
|
-
debounce(fn: Function, delay?: number): void;
|
|
8
|
-
/**
|
|
9
|
-
* 节流
|
|
10
|
-
* @param {Function} 执行函数
|
|
11
|
-
* @param {Number} delay 延时ms
|
|
12
|
-
*/
|
|
13
|
-
throttle(fn: Function, delay?: number): void;
|
|
14
|
-
};
|
package/lib/utils/click.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let e=null,t=!1;const o={debounce(t,o=500){clearTimeout(e),e=setTimeout((()=>{t()}),o)},throttle(e,o=500){t||(t=!0,e(),setTimeout((()=>{t=!1}),o))}};exports.clickUtil=o;
|
|
2
|
-
//# sourceMappingURL=click.js.map
|
package/lib/utils/click.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"click.js","sources":["../../../packages/utils/click.ts"],"sourcesContent":["let _debounceTimeout: any = null,\n\t_throttleRunning: any = false;\n\nexport const clickUtil = {\n\t/**\n\t * 防抖\n\t * @param {Function} 执行函数\n\t * @param {Number} delay 延时ms\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n\tdebounce(fn: Function, delay = 500): void {\n\t\tclearTimeout(_debounceTimeout);\n\t\t_debounceTimeout = setTimeout(() => {\n\t\t\tfn();\n\t\t}, delay);\n\t},\n\t/**\n\t * 节流\n\t * @param {Function} 执行函数\n\t * @param {Number} delay 延时ms\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n\tthrottle(fn: Function, delay = 500): void {\n\t\tif (_throttleRunning) {\n\t\t\treturn;\n\t\t}\n\t\t_throttleRunning = true;\n\t\tfn();\n\t\tsetTimeout(() => {\n\t\t\t_throttleRunning = false;\n\t\t}, delay);\n\t},\n};\n"],"names":["_debounceTimeout","_throttleRunning","clickUtil","debounce","fn","delay","clearTimeout","setTimeout","throttle"],"mappings":"gFAAA,IAAIA,EAAwB,KAC3BC,GAAwB,EAElB,MAAMC,EAAY,CAOxB,QAAAC,CAASC,EAAcC,EAAQ,KAC9BC,aAAaN,GACbA,EAAmBO,YAAW,WAE3BF,EACJ,EAOA,QAAAG,CAASJ,EAAcC,EAAQ,KAC1BJ,IAGeA,GAAA,MAEnBM,YAAW,KACSN,GAAA,CAAA,GACjBI,GACJ"}
|
package/lib/utils/color.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { MessageHandler } from 'element-plus';
|
|
2
|
-
export declare const colorUtil: {
|
|
3
|
-
/**
|
|
4
|
-
* hex颜色转rgb颜色
|
|
5
|
-
* @param str 颜色值字符串
|
|
6
|
-
* @returns 返回处理后的颜色值
|
|
7
|
-
*/
|
|
8
|
-
hexToRgb(str: any): any;
|
|
9
|
-
/**
|
|
10
|
-
* rgb颜色转Hex颜色
|
|
11
|
-
* @param r 代表红色
|
|
12
|
-
* @param g 代表绿色
|
|
13
|
-
* @param b 代表蓝色
|
|
14
|
-
* @returns 返回处理后的颜色值
|
|
15
|
-
*/
|
|
16
|
-
rgbToHex(r: any, g: any, b: any): string | MessageHandler;
|
|
17
|
-
/**
|
|
18
|
-
* 加深颜色值
|
|
19
|
-
* @param color 颜色值字符串
|
|
20
|
-
* @param level 加深的程度,限0-1之间
|
|
21
|
-
* @returns 返回处理后的颜色值
|
|
22
|
-
*/
|
|
23
|
-
getDarkColor(color: string, level: number): string | MessageHandler;
|
|
24
|
-
/**
|
|
25
|
-
* 变浅颜色值
|
|
26
|
-
* @param color 颜色值字符串
|
|
27
|
-
* @param level 加深的程度,限0-1之间
|
|
28
|
-
* @returns 返回处理后的颜色值
|
|
29
|
-
*/
|
|
30
|
-
getLightColor(color: string, level: number): string | MessageHandler;
|
|
31
|
-
};
|
package/lib/utils/color.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("element-plus"),e={hexToRgb(e){let r="";if(/^#?[0-9A-Fa-f]{6}$/.test(e)){r=(e=e.replace("#","")).match(/../g);for(let t=0;t<3;t++)r[t]=parseInt(r[t],16);return r}t.ElMessage.warning("输入错误的hex")},rgbToHex(e,r,o){const n=/^\d{1,3}$/;if(!n.test(e)||!n.test(r)||!n.test(o))return void t.ElMessage.warning("输入错误的rgb颜色值");const s=[e.toString(16),r.toString(16),o.toString(16)];for(let t=0;t<3;t++)1==s[t].length&&(s[t]=`0${s[t]}`);return`#${s.join("")}`},getDarkColor(e,r){if(!/^#?[0-9A-Fa-f]{6}$/.test(e))return void t.ElMessage.warning("输入错误的hex颜色值");const o=this.hexToRgb(e);for(let t=0;t<3;t++)o[t]=Math.round(20.5*r+o[t]*(1-r));return this.rgbToHex(o[0],o[1],o[2])},getLightColor(e,r){if(!/^#?[0-9A-Fa-f]{6}$/.test(e))return void t.ElMessage.warning("输入错误的hex颜色值");const o=this.hexToRgb(e);for(let t=0;t<3;t++)o[t]=Math.round(255*r+o[t]*(1-r));return this.rgbToHex(o[0],o[1],o[2])}};exports.colorUtil=e;
|
|
2
|
-
//# sourceMappingURL=color.js.map
|
package/lib/utils/color.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sources":["../../../packages/utils/color.ts"],"sourcesContent":["import type { MessageHandler } from \"element-plus\";\nimport { ElMessage } from \"element-plus\";\n\nexport const colorUtil = {\n\t/**\n\t * hex颜色转rgb颜色\n\t * @param str 颜色值字符串\n\t * @returns 返回处理后的颜色值\n\t */\n\thexToRgb(str: any): any {\n\t\tlet hex: any = \"\";\n\t\tconst reg = /^#?[0-9A-Fa-f]{6}$/;\n\t\tif (!reg.test(str)) {\n\t\t\tElMessage.warning(\"输入错误的hex\");\n\t\t\treturn;\n\t\t}\n\t\tstr = str.replace(\"#\", \"\");\n\t\thex = str.match(/../g);\n\t\tfor (let i = 0; i < 3; i++) hex[i] = parseInt(hex[i], 16);\n\t\treturn hex;\n\t},\n\t/**\n\t * rgb颜色转Hex颜色\n\t * @param r 代表红色\n\t * @param g 代表绿色\n\t * @param b 代表蓝色\n\t * @returns 返回处理后的颜色值\n\t */\n\trgbToHex(r: any, g: any, b: any): string | MessageHandler {\n\t\tconst reg = /^\\d{1,3}$/;\n\t\tif (!reg.test(r) || !reg.test(g) || !reg.test(b)) {\n\t\t\tElMessage.warning(\"输入错误的rgb颜色值\");\n\t\t\treturn;\n\t\t}\n\t\tconst hex = [r.toString(16), g.toString(16), b.toString(16)];\n\t\tfor (let i = 0; i < 3; i++) if (hex[i].length == 1) hex[i] = `0${hex[i]}`;\n\t\treturn `#${hex.join(\"\")}`;\n\t},\n\t/**\n\t * 加深颜色值\n\t * @param color 颜色值字符串\n\t * @param level 加深的程度,限0-1之间\n\t * @returns 返回处理后的颜色值\n\t */\n\tgetDarkColor(color: string, level: number): string | MessageHandler {\n\t\tconst reg = /^#?[0-9A-Fa-f]{6}$/;\n\t\tif (!reg.test(color)) {\n\t\t\tElMessage.warning(\"输入错误的hex颜色值\");\n\t\t\treturn;\n\t\t}\n\t\tconst rgb = this.hexToRgb(color);\n\t\tfor (let i = 0; i < 3; i++) rgb[i] = Math.round(20.5 * level + rgb[i] * (1 - level));\n\t\treturn this.rgbToHex(rgb[0], rgb[1], rgb[2]);\n\t},\n\t/**\n\t * 变浅颜色值\n\t * @param color 颜色值字符串\n\t * @param level 加深的程度,限0-1之间\n\t * @returns 返回处理后的颜色值\n\t */\n\tgetLightColor(color: string, level: number): string | MessageHandler {\n\t\tconst reg = /^#?[0-9A-Fa-f]{6}$/;\n\t\tif (!reg.test(color)) {\n\t\t\tElMessage.warning(\"输入错误的hex颜色值\");\n\t\t\treturn;\n\t\t}\n\t\tconst rgb = this.hexToRgb(color);\n\t\tfor (let i = 0; i < 3; i++) rgb[i] = Math.round(255 * level + rgb[i] * (1 - level));\n\t\treturn this.rgbToHex(rgb[0], rgb[1], rgb[2]);\n\t},\n};\n"],"names":["colorUtil","hexToRgb","str","hex","test","replace","match","i","parseInt","warning","rgbToHex","r","g","b","reg","toString","length","join","getDarkColor","color","level","rgb","this","Math","round","getLightColor"],"mappings":"gHAGaA,EAAY,CAMxB,QAAAC,CAASC,GACR,IAAIC,EAAW,GAEf,GADY,qBACHC,KAAKF,GAAd,CAKMC,GADAD,EAAAA,EAAIG,QAAQ,IAAK,KACbC,MAAM,OAChB,IAAA,IAASC,EAAI,EAAGA,EAAI,EAAGA,IAAKJ,EAAII,GAAKC,SAASL,EAAII,GAAI,IAC/C,OAAAJ,CAJP,aAFWM,QAAQ,WAOpB,EAQA,QAAAC,CAASC,EAAQC,EAAQC,GACxB,MAAMC,EAAM,YACZ,IAAKA,EAAIV,KAAKO,KAAOG,EAAIV,KAAKQ,KAAOE,EAAIV,KAAKS,GAE7C,wBADUJ,QAAQ,eAGnB,MAAMN,EAAM,CAACQ,EAAEI,SAAS,IAAKH,EAAEG,SAAS,IAAKF,EAAEE,SAAS,KACxD,IAAA,IAASR,EAAI,EAAGA,EAAI,EAAGA,IAA0B,GAAjBJ,EAAII,GAAGS,SAAiBb,EAAAI,GAAK,IAAIJ,EAAII,MACrE,MAAO,IAAIJ,EAAIc,KAAK,KACrB,EAOA,YAAAC,CAAaC,EAAeC,GAE3B,IADY,qBACHhB,KAAKe,GAEb,wBADUV,QAAQ,eAGb,MAAAY,EAAMC,KAAKrB,SAASkB,GAC1B,IAAA,IAASZ,EAAI,EAAGA,EAAI,EAAGA,MAASA,GAAKgB,KAAKC,MAAM,KAAOJ,EAAQC,EAAId,IAAM,EAAIa,IACtE,OAAAE,KAAKZ,SAASW,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAC1C,EAOA,aAAAI,CAAcN,EAAeC,GAE5B,IADY,qBACHhB,KAAKe,GAEb,wBADUV,QAAQ,eAGb,MAAAY,EAAMC,KAAKrB,SAASkB,GAC1B,IAAA,IAASZ,EAAI,EAAGA,EAAI,EAAGA,MAASA,GAAKgB,KAAKC,MAAM,IAAMJ,EAAQC,EAAId,IAAM,EAAIa,IACrE,OAAAE,KAAKZ,SAASW,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAC1C"}
|
package/lib/utils/console.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 打印 Log 日志
|
|
3
|
-
* @param name 来源名称
|
|
4
|
-
*/
|
|
5
|
-
declare const consoleLog: (name: string, message?: any, ...optionalParams: any[]) => void;
|
|
6
|
-
/**
|
|
7
|
-
* 打印 Warn 日志
|
|
8
|
-
* @param name 来源名称
|
|
9
|
-
*/
|
|
10
|
-
declare const consoleWarn: (name: string, message?: any, ...optionalParams: any[]) => void;
|
|
11
|
-
/**
|
|
12
|
-
* 打印 Error 日志
|
|
13
|
-
* @param name 来源名称
|
|
14
|
-
*/
|
|
15
|
-
declare const consoleError: (name: string, message?: any, ...optionalParams: any[]) => void;
|
|
16
|
-
/**
|
|
17
|
-
* 打印 Debug 日志
|
|
18
|
-
* @param name 来源名称
|
|
19
|
-
*/
|
|
20
|
-
declare const consoleDebug: (name: string, message?: any, ...optionalParams: any[]) => void;
|
|
21
|
-
export { consoleLog, consoleWarn, consoleError, consoleDebug };
|
package/lib/utils/console.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.consoleDebug=(o,e,...r)=>{console.debug(`[Fast-Debug-${o}]`,e,r)},exports.consoleError=(o,e,...r)=>{console.error(`[Fast-Error-${o}]`,e,r)},exports.consoleLog=(o,e,...r)=>{},exports.consoleWarn=(o,e,...r)=>{console.warn(`[Fast-Warn-${o}]`,e,r)};
|
|
2
|
-
//# sourceMappingURL=console.js.map
|
package/lib/utils/console.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sources":["../../../packages/utils/console.ts"],"sourcesContent":["/**\n * 打印 Log 日志\n * @param name 来源名称\n */\nconst consoleLog = (name: string, message?: any, ...optionalParams: any[]): void => {\n\t// eslint-disable-next-line no-console\n\tconsole.log(`[Fast-Log-${name}]`, message, optionalParams);\n};\n\n/**\n * 打印 Warn 日志\n * @param name 来源名称\n */\nconst consoleWarn = (name: string, message?: any, ...optionalParams: any[]): void => {\n\t// eslint-disable-next-line no-console\n\tconsole.warn(`[Fast-Warn-${name}]`, message, optionalParams);\n};\n\n/**\n * 打印 Error 日志\n * @param name 来源名称\n */\nconst consoleError = (name: string, message?: any, ...optionalParams: any[]): void => {\n\t// eslint-disable-next-line no-console\n\tconsole.error(`[Fast-Error-${name}]`, message, optionalParams);\n};\n\n/**\n * 打印 Debug 日志\n * @param name 来源名称\n */\nconst consoleDebug = (name: string, message?: any, ...optionalParams: any[]): void => {\n\t// eslint-disable-next-line no-console\n\tconsole.debug(`[Fast-Debug-${name}]`, message, optionalParams);\n};\n\nexport { consoleLog, consoleWarn, consoleError, consoleDebug };\n"],"names":["name","message","optionalParams","console","debug","error","warn"],"mappings":"qGA+BqB,CAACA,EAAcC,KAAkBC,KAErDC,QAAQC,MAAM,eAAeJ,KAASC,EAASC,EAAc,uBAXzC,CAACF,EAAcC,KAAkBC,KAErDC,QAAQE,MAAM,eAAeL,KAASC,EAASC,EAAc,qBApB3C,CAACF,EAAcC,KAAkBC,KAEM,sBAOtC,CAACF,EAAcC,KAAkBC,KAEpDC,QAAQG,KAAK,cAAcN,KAASC,EAASC,EAAc"}
|
package/lib/utils/deviceId.d.ts
DELETED
package/lib/utils/deviceId.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("../constants/index.js"),require("./index.js");const e=require("../constants/regex.js"),t=require("./storage.js"),s=require("./string.js"),r="__DEVICE_ID";exports.DEVICE_ID_KEY=r,exports.makeIdentity=i=>i&&e.RegExps.UUID.test(i)?(t.Local.set(r,i),window.deviceId=i,i):(i=t.Local.get(r))&&e.RegExps.UUID.test(i)?(window.deviceId=i,i):(i=s.stringUtil.generateUUID(),t.Local.set(r,i),window.deviceId=i,i);
|
|
2
|
-
//# sourceMappingURL=deviceId.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deviceId.js","sources":["../../../packages/utils/deviceId.ts"],"sourcesContent":["import { RegExps } from \"@fast-element-plus/constants\";\nimport { Local, stringUtil } from \"@fast-element-plus/utils\";\n\n/**\n * 设备Id Key\n */\nexport const DEVICE_ID_KEY = \"__DEVICE_ID\";\n\n/**\n * 生成设备唯一标识(不安全)\n * @description 如果存在,则返回已经生成的唯一标识\n */\nexport const makeIdentity = (deviceId?: string): string => {\n\tif (deviceId && RegExps.UUID.test(deviceId)) {\n\t\tLocal.set(DEVICE_ID_KEY, deviceId);\n\t\twindow.deviceId = deviceId;\n\t\treturn deviceId;\n\t}\n\t// 生成浏览器唯一 UUID\n\tdeviceId = Local.get(DEVICE_ID_KEY);\n\tif (deviceId && RegExps.UUID.test(deviceId)) {\n\t\twindow.deviceId = deviceId;\n\t\treturn deviceId;\n\t}\n\tdeviceId = stringUtil.generateUUID();\n\tLocal.set(DEVICE_ID_KEY, deviceId);\n\twindow.deviceId = deviceId;\n\treturn deviceId;\n};\n"],"names":["DEVICE_ID_KEY","deviceId","RegExps","UUID","test","Local","set","window","get","stringUtil","generateUUID"],"mappings":"mOAMaA,EAAgB,2DAMAC,GACxBA,GAAYC,EAAAA,QAAQC,KAAKC,KAAKH,IAC3BI,EAAAA,MAAAC,IAAIN,EAAeC,GACzBM,OAAON,SAAWA,EACXA,IAGGI,EAAAA,EAAAA,MAAMG,IAAIR,KACLE,EAAAA,QAAQC,KAAKC,KAAKH,IACjCM,OAAON,SAAWA,EACXA,IAEGQ,EAAAA,EAAAA,WAAWC,eAChBL,EAAAA,MAAAC,IAAIN,EAAeC,GACzBM,OAAON,SAAWA,EACXA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue");require("./index.js");const e=require("axios"),o=require("element-plus"),t=require("./console.js");exports.errorHandler=n=>{if(!n)return;if(n instanceof e.AxiosError)return!1;const i={InternalError:"Javascript引擎内部错误",ReferenceError:"未找到对象",TypeError:"使用了错误的类型或对象",RangeError:"使用内置对象时,参数超范围",SyntaxError:"语法错误",EvalError:"错误的使用了Eval",URIError:"URI错误",AggregateError:"未知的多个错误",TimeoutError:"操作超时",NetworkError:"网络错误",OutOfMemoryError:"内存溢出"};if("cancel"===n)t.consoleWarn("Cancel","操作已取消");else{const e=i[n.name]||"未知错误";t.consoleError("Handler",n),r.nextTick((()=>{o.ElNotification({title:"系统错误",message:e,duration:3e3,position:"top-right"})}))}};
|
|
2
|
-
//# sourceMappingURL=errorHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.js","sources":["../../../packages/utils/errorHandler.ts"],"sourcesContent":["import { nextTick } from \"vue\";\nimport { consoleError, consoleWarn } from \"@fast-element-plus/utils\";\nimport { AxiosError } from \"axios\";\nimport { ElNotification } from \"element-plus\";\n\n/**\n * 全局异常捕获\n */\nexport const errorHandler = (error: any): boolean => {\n\tif (!error) return;\n\t// 过滤 Axios 错误\n\tif (error instanceof AxiosError) {\n\t\treturn false;\n\t}\n\tconst errorMap: any = {\n\t\tInternalError: \"Javascript引擎内部错误\",\n\t\tReferenceError: \"未找到对象\",\n\t\tTypeError: \"使用了错误的类型或对象\",\n\t\tRangeError: \"使用内置对象时,参数超范围\",\n\t\tSyntaxError: \"语法错误\",\n\t\tEvalError: \"错误的使用了Eval\",\n\t\tURIError: \"URI错误\",\n\t\tAggregateError: \"未知的多个错误\",\n\t\tTimeoutError: \"操作超时\",\n\t\tNetworkError: \"网络错误\",\n\t\tOutOfMemoryError: \"内存溢出\",\n\t};\n\tif (error === \"cancel\") {\n\t\tconsoleWarn(\"Cancel\", \"操作已取消\");\n\t} else {\n\t\tconst errorName = errorMap[error.name] || \"未知错误\";\n\t\tconsoleError(\"Handler\", error);\n\t\tnextTick(() => {\n\t\t\tElNotification({\n\t\t\t\ttitle: \"系统错误\",\n\t\t\t\tmessage: errorName,\n\t\t\t\tduration: 3000,\n\t\t\t\tposition: \"top-right\",\n\t\t\t});\n\t\t});\n\t}\n};\n"],"names":["error","AxiosError","errorMap","InternalError","ReferenceError","TypeError","RangeError","SyntaxError","EvalError","URIError","AggregateError","TimeoutError","NetworkError","OutOfMemoryError","errorName","name","nextTick","ElNotification","title","message","duration","position"],"mappings":"+NAQ6BA,IAC5B,IAAKA,EAAO,OAER,GAAAA,aAAiBC,EAAAA,WACb,OAAA,EAER,MAAMC,EAAgB,CACrBC,cAAe,mBACfC,eAAgB,QAChBC,UAAW,cACXC,WAAY,gBACZC,YAAa,OACbC,UAAW,aACXC,SAAU,QACVC,eAAgB,UAChBC,aAAc,OACdC,aAAc,OACdC,iBAAkB,QAEnB,GAAc,WAAVb,gBACS,SAAU,aAChB,CACN,MAAMc,EAAYZ,EAASF,EAAMe,OAAS,sBAC7B,UAAWf,GACxBgB,EAAAA,UAAS,KACOC,iBAAA,CACdC,MAAO,OACPC,QAASL,EACTM,SAAU,IACVC,SAAU,aACV,GAEH"}
|
package/lib/utils/form.d.ts
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Ref } from 'vue';
|
|
2
|
-
import { ElForm, FormItemRule, FormValidationResult } from 'element-plus';
|
|
3
|
-
export declare const formUtil: {
|
|
4
|
-
/**
|
|
5
|
-
* ElForm 表单验证
|
|
6
|
-
* @param elFormRef ElForm 组件ref
|
|
7
|
-
*/
|
|
8
|
-
validate(elFormRef: Ref<InstanceType<typeof ElForm>>): FormValidationResult;
|
|
9
|
-
/**
|
|
10
|
-
* ElForm 表单验证,带滚动
|
|
11
|
-
* @param elFormRef ElForm 组件ref
|
|
12
|
-
*/
|
|
13
|
-
validateScrollToField(elFormRef: Ref<InstanceType<typeof ElForm>>): FormValidationResult;
|
|
14
|
-
/**
|
|
15
|
-
* 手机号
|
|
16
|
-
*/
|
|
17
|
-
mobile(rule: any, value: string, callback: any): void;
|
|
18
|
-
/**
|
|
19
|
-
* 电话号码
|
|
20
|
-
*/
|
|
21
|
-
phone(rule: any, value: string, callback: any): void;
|
|
22
|
-
/**
|
|
23
|
-
* 邮箱
|
|
24
|
-
*/
|
|
25
|
-
email(rule: any, value: string, callback: any): void;
|
|
26
|
-
/**
|
|
27
|
-
* 身份证
|
|
28
|
-
*/
|
|
29
|
-
idCard(rule: any, value: string, callback: any): void;
|
|
30
|
-
/**
|
|
31
|
-
* 车牌号
|
|
32
|
-
*/
|
|
33
|
-
carNumber(rule: any, value: string, callback: any): void;
|
|
34
|
-
/**
|
|
35
|
-
* editor 必填
|
|
36
|
-
*/
|
|
37
|
-
editorRequired(rule: any, value: string, callback: any): void;
|
|
38
|
-
/**
|
|
39
|
-
* 外部链接
|
|
40
|
-
*/
|
|
41
|
-
external(rule: any, value: string, callback: any): void;
|
|
42
|
-
/**
|
|
43
|
-
* 有效的URL
|
|
44
|
-
*/
|
|
45
|
-
url(rule: any, value: string, callback: any): void;
|
|
46
|
-
/**
|
|
47
|
-
* 邮政编码
|
|
48
|
-
*/
|
|
49
|
-
postCode(rule: any, value: string, callback: any): void;
|
|
50
|
-
/**
|
|
51
|
-
* 账号(6-20位字母或数字,必须以字母开头,不能全为数字)
|
|
52
|
-
*/
|
|
53
|
-
account(rule: any, value: string, callback: any): void;
|
|
54
|
-
/**
|
|
55
|
-
* 弱密码(只包含字母和数字,长度为6到18位)
|
|
56
|
-
*/
|
|
57
|
-
password(rule: any, value: string, callback: any): void;
|
|
58
|
-
/**
|
|
59
|
-
* 强密码(8到20位,包含大小写字母、数字及特殊字符)
|
|
60
|
-
*/
|
|
61
|
-
strongPassword(rule: any, value: string, callback: any): void;
|
|
62
|
-
/**
|
|
63
|
-
* 中文字符
|
|
64
|
-
*/
|
|
65
|
-
chinese(rule: any, value: string, callback: any): void;
|
|
66
|
-
/**
|
|
67
|
-
* 英文字符
|
|
68
|
-
*/
|
|
69
|
-
english(rule: any, value: string, callback: any): void;
|
|
70
|
-
/**
|
|
71
|
-
* 文本框必填
|
|
72
|
-
*/
|
|
73
|
-
inputRequired(message: string, trigger?: string): FormItemRule;
|
|
74
|
-
/**
|
|
75
|
-
* 选择器必选
|
|
76
|
-
*/
|
|
77
|
-
selectRequired(message: string, trigger?: string): FormItemRule;
|
|
78
|
-
};
|
package/lib/utils/form.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("../constants/index.js"),require("./index.js");const e=require("./console.js"),r=require("../constants/regex.js"),s={validate:r=>new Promise(((s,t)=>{r.value.validate(((r,o)=>{r?s(r):(o&&e.consoleWarn("formUtil",o),t(r))}))})),validateScrollToField:r=>new Promise(((s,t)=>{r.value.validate(((o,n)=>{o?s(o):(r.value.scrollToField(Object.keys(n)),n&&e.consoleWarn("formUtil",n),t(o))}))})),mobile(e,s,t){s?r.RegExps.Mobile.test(s)?t():t(new Error("请输入正确的手机号码")):t(new Error("请输入手机号码"))},phone(e,s,t){s?r.RegExps.Phone.test(s)?t():t(new Error("请输入正确的电话号码")):t()},email(e,s,t){s?r.RegExps.Email.test(s)?t():t(new Error("请输入正确的邮箱地址")):t()},idCard(e,s,t){r.RegExps.IdCard.test(s)||!s?t():t(new Error("请输入正确的身份证号码"))},carNumber(e,s,t){let o=!1;7===(null==s?void 0:s.length)?o=r.RegExps.CarNumber.test(s):8===(null==s?void 0:s.length)&&(o=r.RegExps.NewEnergyCarNumber.test(s)),o?t():t(new Error("请输入正确的车牌号码"))},editorRequired:(e,r,s)=>"<p><br></p>"==r?s(new Error("内容不能为空")):s(),external(e,s,t){r.RegExps.External.test(s)?t():t(new Error("请输入正确的外部链接"))},url(e,s,t){r.RegExps.Url.test(s)?t():t(new Error("请输入有效的Url"))},postCode(e,s,t){r.RegExps.PostCode.test(s)?t():t(new Error("请输入有效的邮政编码"))},account(e,s,t){r.RegExps.Account.test(s)?t():t(new Error("请输入有效的账号(6-20位字母或数字,必须以字母开头,不能全为数字)"))},password(e,s,t){r.RegExps.Password.test(s)?t():t(new Error("请输入有效的密码(只包含字母和数字,长度为6到18位)"))},strongPassword(e,s,t){r.RegExps.StrongPassword.test(s)?t():t(new Error("请输入有效的密码(8到20位,包含大小写字母、数字及特殊字符)"))},chinese(e,s,t){r.RegExps.Chinese.test(s)?t():t(new Error("请输入有效的中文字符"))},english(e,s,t){r.RegExps.English.test(s)?t():t(new Error("请输入有效的英文字符"))},inputRequired:(e,r="blur")=>({required:!0,message:e,trigger:r}),selectRequired:(e,r="change")=>({required:!0,message:e,trigger:r})};exports.formUtil=s;
|
|
2
|
-
//# sourceMappingURL=form.js.map
|
package/lib/utils/form.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sources":["../../../packages/utils/form.ts"],"sourcesContent":["import type { Ref } from \"vue\";\nimport { RegExps } from \"@fast-element-plus/constants\";\nimport { consoleWarn } from \"@fast-element-plus/utils\";\nimport type { ElForm, FormItemRule, FormValidationResult } from \"element-plus\";\n\nexport const formUtil = {\n\t/**\n\t * ElForm 表单验证\n\t * @param elFormRef ElForm 组件ref\n\t */\n\tvalidate(elFormRef: Ref<InstanceType<typeof ElForm>>): FormValidationResult {\n\t\treturn new Promise<boolean>((resolve, reject) => {\n\t\t\telFormRef.value.validate((isValid: boolean, invalidFields?) => {\n\t\t\t\tif (isValid) {\n\t\t\t\t\tresolve(isValid);\n\t\t\t\t} else {\n\t\t\t\t\tif (invalidFields) {\n\t\t\t\t\t\tconsoleWarn(\"formUtil\", invalidFields);\n\t\t\t\t\t}\n\t\t\t\t\treject(isValid);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * ElForm 表单验证,带滚动\n\t * @param elFormRef ElForm 组件ref\n\t */\n\tvalidateScrollToField(elFormRef: Ref<InstanceType<typeof ElForm>>): FormValidationResult {\n\t\treturn new Promise<boolean>((resolve, reject) => {\n\t\t\telFormRef.value.validate((isValid: boolean, invalidFields?) => {\n\t\t\t\tif (isValid) {\n\t\t\t\t\tresolve(isValid);\n\t\t\t\t} else {\n\t\t\t\t\telFormRef.value.scrollToField(Object.keys(invalidFields));\n\t\t\t\t\tif (invalidFields) {\n\t\t\t\t\t\tconsoleWarn(\"formUtil\", invalidFields);\n\t\t\t\t\t}\n\t\t\t\t\treject(isValid);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * 手机号\n\t */\n\tmobile(rule: any, value: string, callback: any): void {\n\t\tif (!value) {\n\t\t\tcallback(new Error(\"请输入手机号码\"));\n\t\t} else if (RegExps.Mobile.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的手机号码\"));\n\t\t}\n\t},\n\t/**\n\t * 电话号码\n\t */\n\tphone(rule: any, value: string, callback: any): void {\n\t\tif (!value) {\n\t\t\tcallback();\n\t\t} else if (RegExps.Phone.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的电话号码\"));\n\t\t}\n\t},\n\t/**\n\t * 邮箱\n\t */\n\temail(rule: any, value: string, callback: any): void {\n\t\tif (!value) {\n\t\t\tcallback();\n\t\t} else if (RegExps.Email.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的邮箱地址\"));\n\t\t}\n\t},\n\t/**\n\t * 身份证\n\t */\n\tidCard(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.IdCard.test(value) || !value) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的身份证号码\"));\n\t\t}\n\t},\n\t/**\n\t * 车牌号\n\t */\n\tcarNumber(rule: any, value: string, callback: any): void {\n\t\tlet success = false;\n\t\tif (value?.length === 7) {\n\t\t\tsuccess = RegExps.CarNumber.test(value);\n\t\t} else if (value?.length === 8) {\n\t\t\tsuccess = RegExps.NewEnergyCarNumber.test(value);\n\t\t}\n\t\tif (success) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的车牌号码\"));\n\t\t}\n\t},\n\t/**\n\t * editor 必填\n\t */\n\teditorRequired(rule: any, value: string, callback: any): void {\n\t\tif (value == \"<p><br></p>\") {\n\t\t\treturn callback(new Error(\"内容不能为空\"));\n\t\t}\n\t\treturn callback();\n\t},\n\t/**\n\t * 外部链接\n\t */\n\texternal(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.External.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入正确的外部链接\"));\n\t\t}\n\t},\n\t/**\n\t * 有效的URL\n\t */\n\turl(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.Url.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的Url\"));\n\t\t}\n\t},\n\t/**\n\t * 邮政编码\n\t */\n\tpostCode(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.PostCode.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的邮政编码\"));\n\t\t}\n\t},\n\t/**\n\t * 账号(6-20位字母或数字,必须以字母开头,不能全为数字)\n\t */\n\taccount(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.Account.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的账号(6-20位字母或数字,必须以字母开头,不能全为数字)\"));\n\t\t}\n\t},\n\t/**\n\t * 弱密码(只包含字母和数字,长度为6到18位)\n\t */\n\tpassword(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.Password.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的密码(只包含字母和数字,长度为6到18位)\"));\n\t\t}\n\t},\n\t/**\n\t * 强密码(8到20位,包含大小写字母、数字及特殊字符)\n\t */\n\tstrongPassword(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.StrongPassword.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的密码(8到20位,包含大小写字母、数字及特殊字符)\"));\n\t\t}\n\t},\n\t/**\n\t * 中文字符\n\t */\n\tchinese(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.Chinese.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的中文字符\"));\n\t\t}\n\t},\n\t/**\n\t * 英文字符\n\t */\n\tenglish(rule: any, value: string, callback: any): void {\n\t\tif (RegExps.English.test(value)) {\n\t\t\tcallback();\n\t\t} else {\n\t\t\tcallback(new Error(\"请输入有效的英文字符\"));\n\t\t}\n\t},\n\t/**\n\t * 文本框必填\n\t */\n\tinputRequired(message: string, trigger = \"blur\"): FormItemRule {\n\t\treturn {\n\t\t\trequired: true,\n\t\t\tmessage,\n\t\t\ttrigger,\n\t\t};\n\t},\n\t/**\n\t * 选择器必选\n\t */\n\tselectRequired(message: string, trigger = \"change\"): FormItemRule {\n\t\treturn {\n\t\t\trequired: true,\n\t\t\tmessage,\n\t\t\ttrigger,\n\t\t};\n\t},\n};\n"],"names":["formUtil","validate","elFormRef","Promise","resolve","reject","value","isValid","invalidFields","validateScrollToField","scrollToField","Object","keys","mobile","rule","callback","RegExps","Mobile","test","Error","phone","Phone","email","Email","idCard","IdCard","carNumber","success","length","CarNumber","NewEnergyCarNumber","editorRequired","external","External","url","Url","postCode","PostCode","account","Account","password","Password","strongPassword","StrongPassword","chinese","Chinese","english","English","inputRequired","message","trigger","required","selectRequired"],"mappings":"0MAKaA,EAAW,CAKvBC,SAASC,GACD,IAAIC,SAAiB,CAACC,EAASC,KACrCH,EAAUI,MAAML,UAAS,CAACM,EAAkBC,KACvCD,EACHH,EAAQG,IAEJC,iBACS,WAAYA,GAEzBH,EAAOE,GACR,GACA,IAOHE,sBAAsBP,GACd,IAAIC,SAAiB,CAACC,EAASC,KACrCH,EAAUI,MAAML,UAAS,CAACM,EAAkBC,KACvCD,EACHH,EAAQG,IAERL,EAAUI,MAAMI,cAAcC,OAAOC,KAAKJ,IACtCA,iBACS,WAAYA,GAEzBH,EAAOE,GACR,GACA,IAMH,MAAAM,CAAOC,EAAWR,EAAeS,GAC3BT,EAEMU,EAAAA,QAAQC,OAAOC,KAAKZ,OAGrBS,EAAA,IAAII,MAAM,eAJVJ,EAAA,IAAII,MAAM,WAMrB,EAIA,KAAAC,CAAMN,EAAWR,EAAeS,GAC1BT,EAEMU,EAAAA,QAAQK,MAAMH,KAAKZ,OAGpBS,EAAA,IAAII,MAAM,kBAErB,EAIA,KAAAG,CAAMR,EAAWR,EAAeS,GAC1BT,EAEMU,EAAAA,QAAQO,MAAML,KAAKZ,OAGpBS,EAAA,IAAII,MAAM,kBAErB,EAIA,MAAAK,CAAOV,EAAWR,EAAeS,GAC5BC,EAAAA,QAAQS,OAAOP,KAAKZ,KAAWA,MAGzBS,EAAA,IAAII,MAAM,eAErB,EAIA,SAAAO,CAAUZ,EAAWR,EAAeS,GACnC,IAAIY,GAAU,EACQ,KAAlB,MAAArB,OAAA,EAAAA,EAAOsB,QACAD,EAAAX,EAAAA,QAAQa,UAAUX,KAAKZ,GACL,KAAX,MAAPA,OAAO,EAAAA,EAAAsB,UACPD,EAAAX,EAAAA,QAAQc,mBAAmBZ,KAAKZ,IAEvCqB,MAGMZ,EAAA,IAAII,MAAM,cAErB,EAIAY,eAAA,CAAejB,EAAWR,EAAeS,IAC3B,eAATT,EACIS,EAAS,IAAII,MAAM,WAEpBJ,IAKR,QAAAiB,CAASlB,EAAWR,EAAeS,GAC9BC,UAAQiB,SAASf,KAAKZ,OAGhBS,EAAA,IAAII,MAAM,cAErB,EAIA,GAAAe,CAAIpB,EAAWR,EAAeS,GACzBC,UAAQmB,IAAIjB,KAAKZ,OAGXS,EAAA,IAAII,MAAM,aAErB,EAIA,QAAAiB,CAAStB,EAAWR,EAAeS,GAC9BC,UAAQqB,SAASnB,KAAKZ,OAGhBS,EAAA,IAAII,MAAM,cAErB,EAIA,OAAAmB,CAAQxB,EAAWR,EAAeS,GAC7BC,UAAQuB,QAAQrB,KAAKZ,OAGfS,EAAA,IAAII,MAAM,uCAErB,EAIA,QAAAqB,CAAS1B,EAAWR,EAAeS,GAC9BC,UAAQyB,SAASvB,KAAKZ,OAGhBS,EAAA,IAAII,MAAM,+BAErB,EAIA,cAAAuB,CAAe5B,EAAWR,EAAeS,GACpCC,UAAQ2B,eAAezB,KAAKZ,OAGtBS,EAAA,IAAII,MAAM,mCAErB,EAIA,OAAAyB,CAAQ9B,EAAWR,EAAeS,GAC7BC,UAAQ6B,QAAQ3B,KAAKZ,OAGfS,EAAA,IAAII,MAAM,cAErB,EAIA,OAAA2B,CAAQhC,EAAWR,EAAeS,GAC7BC,UAAQ+B,QAAQ7B,KAAKZ,OAGfS,EAAA,IAAII,MAAM,cAErB,EAIA6B,cAAA,CAAcC,EAAiBC,EAAU,UACjC,CACNC,UAAU,EACVF,UACAC,YAMFE,eAAA,CAAeH,EAAiBC,EAAU,YAClC,CACNC,UAAU,EACVF,UACAC"}
|
package/lib/utils/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './vue';
|
|
2
|
-
export * from './base64';
|
|
3
|
-
export * from './click';
|
|
4
|
-
export * from './color';
|
|
5
|
-
export * from './console';
|
|
6
|
-
export * from './deviceId';
|
|
7
|
-
export * from './errorHandler';
|
|
8
|
-
export * from './form';
|
|
9
|
-
export * from './storage';
|
|
10
|
-
export * from './string';
|
package/lib/utils/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./vue/index.js");const e=require("./base64.js"),r=require("./click.js"),o=require("./color.js"),s=require("./console.js"),t=require("./deviceId.js"),i=require("./errorHandler.js"),l=require("./form.js"),n=require("./storage.js"),c=require("./string.js");exports.base64Util=e.base64Util,exports.clickUtil=r.clickUtil,exports.colorUtil=o.colorUtil,exports.consoleDebug=s.consoleDebug,exports.consoleError=s.consoleError,exports.consoleLog=s.consoleLog,exports.consoleWarn=s.consoleWarn,exports.DEVICE_ID_KEY=t.DEVICE_ID_KEY,exports.makeIdentity=t.makeIdentity,exports.errorHandler=i.errorHandler,exports.formUtil=l.formUtil,exports.CACHE_EXPIRE_SUFFIX=n.CACHE_EXPIRE_SUFFIX,exports.CACHE_PREFIX=n.CACHE_PREFIX,exports.Local=n.Local,exports.Session=n.Session,exports.stringUtil=c.stringUtil;
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/lib/utils/storage.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 本地缓存
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* 本地缓存前缀 Key
|
|
6
|
-
*/
|
|
7
|
-
export declare const CACHE_PREFIX = "fast__";
|
|
8
|
-
/**
|
|
9
|
-
* 本地缓存过期值后缀 Key
|
|
10
|
-
*/
|
|
11
|
-
export declare const CACHE_EXPIRE_SUFFIX = "__Expire";
|
|
12
|
-
/**
|
|
13
|
-
* window.localStorage
|
|
14
|
-
*/
|
|
15
|
-
export declare const Local: {
|
|
16
|
-
/**
|
|
17
|
-
* 设置
|
|
18
|
-
* @param key 缓存的Key
|
|
19
|
-
* @param val 缓存值
|
|
20
|
-
* @param expire 过期时间,单位分钟
|
|
21
|
-
* @param encrypt 是否对缓存的数据加密
|
|
22
|
-
*/
|
|
23
|
-
set(key: string, val: any, expire?: number, encrypt?: boolean): void;
|
|
24
|
-
/**
|
|
25
|
-
* 获取
|
|
26
|
-
* @param key 缓存的Key
|
|
27
|
-
* @param decrypt 是否对缓存的数据解密
|
|
28
|
-
* @returns {T} 传入的对象类型,默认为 string
|
|
29
|
-
*/
|
|
30
|
-
get<T = string>(key: string, decrypt?: boolean): T;
|
|
31
|
-
/**
|
|
32
|
-
* 移除
|
|
33
|
-
* @param key 缓存的Key
|
|
34
|
-
*/
|
|
35
|
-
remove(key: string): void;
|
|
36
|
-
/**
|
|
37
|
-
* 根据前缀移除
|
|
38
|
-
* @param key 缓存的Key
|
|
39
|
-
*/
|
|
40
|
-
removeByPrefix(key: string): void;
|
|
41
|
-
/**
|
|
42
|
-
* 移除全部
|
|
43
|
-
*/
|
|
44
|
-
clear(): void;
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* window.sessionStorage
|
|
48
|
-
*/
|
|
49
|
-
export declare const Session: {
|
|
50
|
-
/**
|
|
51
|
-
* 设置会话缓存
|
|
52
|
-
* @param key 缓存的Key
|
|
53
|
-
* @param val 缓存值
|
|
54
|
-
* @param expire 过期时间,单位分钟
|
|
55
|
-
* @param encrypt 是否对缓存的数据加密
|
|
56
|
-
*/
|
|
57
|
-
set(key: string, val: any, expire?: number, encrypt?: boolean): void;
|
|
58
|
-
/**
|
|
59
|
-
* 获取会话缓存
|
|
60
|
-
* @param key 缓存的Key
|
|
61
|
-
* @param decrypt 是否对缓存的数据解密
|
|
62
|
-
* @returns {T} 传入的对象类型,默认为 string
|
|
63
|
-
*/
|
|
64
|
-
get<T = string>(key: string, decrypt?: boolean): T;
|
|
65
|
-
/**
|
|
66
|
-
* 移除会话缓存
|
|
67
|
-
* @param key 缓存的Key
|
|
68
|
-
*/
|
|
69
|
-
remove(key: string): void;
|
|
70
|
-
/**
|
|
71
|
-
* 根据前缀移除会话缓存
|
|
72
|
-
* @param key 缓存的Key
|
|
73
|
-
*/
|
|
74
|
-
removeByPrefix(key: string): void;
|
|
75
|
-
/**
|
|
76
|
-
* 移除全部会话缓存
|
|
77
|
-
*/
|
|
78
|
-
clear(): void;
|
|
79
|
-
};
|
package/lib/utils/storage.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../settings/index.js");require("./index.js");const o=require("./base64.js"),r=require("./console.js"),t="fast__",s="__Expire",n={set(n,i,a,c){try{if(c??(c=e.fastOptions.storageCrypto),a){if(isNaN(a)||a<1)throw new Error("有效期应为一个有效数值");const e={time:Date.now(),expire:a},o=JSON.stringify(e);window.localStorage.setItem(`${t}${n}${s}`,o)}let r=JSON.stringify(i);c&&(r=o.base64Util.toBase64(r)),window.localStorage.setItem(`${t}${n}`,r)}catch(l){r.consoleError("Local",l)}},get(n,i){try{i??(i=e.fastOptions.storageCrypto);let r=window.localStorage.getItem(`${t}${n}`);if(r){i&&(r=o.base64Util.base64ToStr(r));const e=window.localStorage.getItem(`${t}${n}${s}`);if(e){const o=JSON.parse(e);if(Date.now()>o.time+60*o.expire*1e3)return window.localStorage.removeItem(`${t}${n}`),window.localStorage.removeItem(`${t}${n}${s}`),null}try{return JSON.parse(r)}catch{return r}}return null}catch(a){r.consoleError("Local",a)}},remove(e){try{window.localStorage.removeItem(`${t}${e}`),window.localStorage.removeItem(`${t}${e}${s}`)}catch(o){r.consoleError("Local",o)}},removeByPrefix(e){try{for(const o in window.localStorage)-1!==o.indexOf(`${t}${e}`)&&window.localStorage.removeItem(o)}catch(o){r.consoleError("Local",o)}},clear(){try{window.localStorage.clear()}catch(e){r.consoleError("Local",e)}}},i={set(n,i,a,c){try{if(c??(c=e.fastOptions.storageCrypto),a){if(isNaN(a)||a<1)throw new Error("有效期应为一个有效数值");const e={time:Date.now(),expire:a},o=JSON.stringify(e);window.sessionStorage.setItem(`${t}${n}${s}`,o)}let r=JSON.stringify(i);c&&(r=o.base64Util.toBase64(r)),window.sessionStorage.setItem(`${t}${n}`,r)}catch(l){r.consoleError("Session",l)}},get(n,i){try{i??(i=e.fastOptions.storageCrypto);let r=window.sessionStorage.getItem(`${t}${n}`);if(r){i&&(r=o.base64Util.base64ToStr(r));const e=window.sessionStorage.getItem(`${t}${n}${s}`);if(e){const o=JSON.parse(e);if(Date.now()>o.time+60*o.expire*1e3)return window.sessionStorage.removeItem(`${t}${n}`),window.sessionStorage.removeItem(`${t}${n}${s}`),null}try{return JSON.parse(r)}catch{return r}}return null}catch(a){r.consoleError("Session",a)}},remove(e){try{window.sessionStorage.removeItem(`${t}${e}`),window.sessionStorage.removeItem(`${t}${e}${s}`)}catch(o){r.consoleError("Session",o)}},removeByPrefix(e){try{for(const o in window.sessionStorage)-1!==o.indexOf(`${t}${e}`)&&window.sessionStorage.removeItem(o)}catch(o){r.consoleError("Session",o)}},clear(){try{window.sessionStorage.clear()}catch(e){r.consoleError("Session",e)}}};exports.CACHE_EXPIRE_SUFFIX=s,exports.CACHE_PREFIX=t,exports.Local=n,exports.Session=i;
|
|
2
|
-
//# sourceMappingURL=storage.js.map
|
package/lib/utils/storage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sources":["../../../packages/utils/storage.ts"],"sourcesContent":["/**\n * 本地缓存\n */\n\nimport { fastOptions } from \"@fast-element-plus/settings\";\nimport { base64Util, consoleError } from \"@fast-element-plus/utils\";\n\n/**\n * 本地缓存前缀 Key\n */\nexport const CACHE_PREFIX = \"fast__\";\n\n/**\n * 本地缓存过期值后缀 Key\n */\nexport const CACHE_EXPIRE_SUFFIX = \"__Expire\";\n\n/**\n * window.localStorage\n */\nexport const Local = {\n\t/**\n\t * 设置\n\t * @param key 缓存的Key\n\t * @param val 缓存值\n\t * @param expire 过期时间,单位分钟\n\t * @param encrypt 是否对缓存的数据加密\n\t */\n\tset(key: string, val: any, expire?: number, encrypt?: boolean): void {\n\t\ttry {\n\t\t\tencrypt ??= fastOptions.storageCrypto;\n\t\t\t// 判断是否存在缓存过期时间\n\t\t\tif (expire) {\n\t\t\t\tif (isNaN(expire) || expire < 1) {\n\t\t\t\t\tthrow new Error(\"有效期应为一个有效数值\");\n\t\t\t\t}\n\t\t\t\t// 设置过期时间的缓存\n\t\t\t\tconst expireData = {\n\t\t\t\t\ttime: Date.now(),\n\t\t\t\t\texpire,\n\t\t\t\t};\n\t\t\t\tconst expireJson = JSON.stringify(expireData);\n\t\t\t\twindow.localStorage.setItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`, expireJson);\n\t\t\t}\n\t\t\tlet valJson = JSON.stringify(val);\n\t\t\tif (encrypt) {\n\t\t\t\tvalJson = base64Util.toBase64(valJson);\n\t\t\t}\n\t\t\twindow.localStorage.setItem(`${CACHE_PREFIX}${key}`, valJson);\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Local\", error);\n\t\t}\n\t},\n\t/**\n\t * 获取\n\t * @param key 缓存的Key\n\t * @param decrypt 是否对缓存的数据解密\n\t * @returns {T} 传入的对象类型,默认为 string\n\t */\n\tget<T = string>(key: string, decrypt?: boolean): T {\n\t\ttry {\n\t\t\tdecrypt ??= fastOptions.storageCrypto;\n\t\t\t// 获取缓存 JSON 字符串\n\t\t\tlet valJson = window.localStorage.getItem(`${CACHE_PREFIX}${key}`);\n\t\t\tif (valJson) {\n\t\t\t\t// 判断是否解密\n\t\t\t\tif (decrypt) {\n\t\t\t\t\tvalJson = base64Util.base64ToStr(valJson);\n\t\t\t\t}\n\t\t\t\t// 尝试获取缓存过期时间的 JSON 字符串\n\t\t\t\tconst expireJson = window.localStorage.getItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`);\n\t\t\t\t// 判断是否存在过期时间\n\t\t\t\tif (expireJson) {\n\t\t\t\t\tconst expireData = JSON.parse(expireJson) as anyObj;\n\t\t\t\t\tif (Date.now() > expireData.time + expireData.expire * 60 * 1000) {\n\t\t\t\t\t\t// 过期了,删除对应的缓存数据\n\t\t\t\t\t\twindow.localStorage.removeItem(`${CACHE_PREFIX}${key}`);\n\t\t\t\t\t\twindow.localStorage.removeItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`);\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\treturn JSON.parse(valJson) as T;\n\t\t\t\t} catch {\n\t\t\t\t\treturn valJson as T;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Local\", error);\n\t\t}\n\t},\n\t/**\n\t * 移除\n\t * @param key 缓存的Key\n\t */\n\tremove(key: string): void {\n\t\ttry {\n\t\t\twindow.localStorage.removeItem(`${CACHE_PREFIX}${key}`);\n\t\t\twindow.localStorage.removeItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`);\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Local\", error);\n\t\t}\n\t},\n\t/**\n\t * 根据前缀移除\n\t * @param key 缓存的Key\n\t */\n\tremoveByPrefix(key: string): void {\n\t\ttry {\n\t\t\tfor (const itemKey in window.localStorage) {\n\t\t\t\tif (itemKey.indexOf(`${CACHE_PREFIX}${key}`) !== -1) {\n\t\t\t\t\twindow.localStorage.removeItem(itemKey);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Local\", error);\n\t\t}\n\t},\n\t/**\n\t * 移除全部\n\t */\n\tclear(): void {\n\t\ttry {\n\t\t\twindow.localStorage.clear();\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Local\", error);\n\t\t}\n\t},\n};\n\n/**\n * window.sessionStorage\n */\nexport const Session = {\n\t/**\n\t * 设置会话缓存\n\t * @param key 缓存的Key\n\t * @param val 缓存值\n\t * @param expire 过期时间,单位分钟\n\t * @param encrypt 是否对缓存的数据加密\n\t */\n\tset(key: string, val: any, expire?: number, encrypt?: boolean): void {\n\t\ttry {\n\t\t\tencrypt ??= fastOptions.storageCrypto;\n\t\t\t// 判断是否存在缓存过期时间\n\t\t\tif (expire) {\n\t\t\t\tif (isNaN(expire) || expire < 1) {\n\t\t\t\t\tthrow new Error(\"有效期应为一个有效数值\");\n\t\t\t\t}\n\t\t\t\t// 设置过期时间的缓存\n\t\t\t\tconst expireData = {\n\t\t\t\t\ttime: Date.now(),\n\t\t\t\t\texpire,\n\t\t\t\t};\n\t\t\t\tconst expireJson = JSON.stringify(expireData);\n\t\t\t\twindow.sessionStorage.setItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`, expireJson);\n\t\t\t}\n\t\t\tlet valJson = JSON.stringify(val);\n\t\t\tif (encrypt) {\n\t\t\t\tvalJson = base64Util.toBase64(valJson);\n\t\t\t}\n\t\t\twindow.sessionStorage.setItem(`${CACHE_PREFIX}${key}`, valJson);\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Session\", error);\n\t\t}\n\t},\n\t/**\n\t * 获取会话缓存\n\t * @param key 缓存的Key\n\t * @param decrypt 是否对缓存的数据解密\n\t * @returns {T} 传入的对象类型,默认为 string\n\t */\n\tget<T = string>(key: string, decrypt?: boolean): T {\n\t\ttry {\n\t\t\tdecrypt ??= fastOptions.storageCrypto;\n\t\t\t// 获取缓存 JSON 字符串\n\t\t\tlet valJson = window.sessionStorage.getItem(`${CACHE_PREFIX}${key}`);\n\t\t\tif (valJson) {\n\t\t\t\t// 判断是否解密\n\t\t\t\tif (decrypt) {\n\t\t\t\t\tvalJson = base64Util.base64ToStr(valJson);\n\t\t\t\t}\n\t\t\t\t// 尝试获取缓存过期时间的 JSON 字符串\n\t\t\t\tconst expireJson = window.sessionStorage.getItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`);\n\t\t\t\t// 判断是否存在过期时间\n\t\t\t\tif (expireJson) {\n\t\t\t\t\tconst expireData = JSON.parse(expireJson) as anyObj;\n\t\t\t\t\tif (Date.now() > expireData.time + expireData.expire * 60 * 1000) {\n\t\t\t\t\t\t// 过期了,删除对应的缓存数据\n\t\t\t\t\t\twindow.sessionStorage.removeItem(`${CACHE_PREFIX}${key}`);\n\t\t\t\t\t\twindow.sessionStorage.removeItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`);\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\treturn JSON.parse(valJson) as T;\n\t\t\t\t} catch {\n\t\t\t\t\treturn valJson as T;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Session\", error);\n\t\t}\n\t},\n\t/**\n\t * 移除会话缓存\n\t * @param key 缓存的Key\n\t */\n\tremove(key: string): void {\n\t\ttry {\n\t\t\twindow.sessionStorage.removeItem(`${CACHE_PREFIX}${key}`);\n\t\t\twindow.sessionStorage.removeItem(`${CACHE_PREFIX}${key}${CACHE_EXPIRE_SUFFIX}`);\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Session\", error);\n\t\t}\n\t},\n\t/**\n\t * 根据前缀移除会话缓存\n\t * @param key 缓存的Key\n\t */\n\tremoveByPrefix(key: string): void {\n\t\ttry {\n\t\t\tfor (const itemKey in window.sessionStorage) {\n\t\t\t\tif (itemKey.indexOf(`${CACHE_PREFIX}${key}`) !== -1) {\n\t\t\t\t\twindow.sessionStorage.removeItem(itemKey);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Session\", error);\n\t\t}\n\t},\n\t/**\n\t * 移除全部会话缓存\n\t */\n\tclear(): void {\n\t\ttry {\n\t\t\twindow.sessionStorage.clear();\n\t\t} catch (error) {\n\t\t\tconsoleError(\"Session\", error);\n\t\t}\n\t},\n};\n"],"names":["CACHE_PREFIX","CACHE_EXPIRE_SUFFIX","Local","set","key","val","expire","encrypt","fastOptions","storageCrypto","isNaN","Error","expireData","time","Date","now","expireJson","JSON","stringify","window","localStorage","setItem","valJson","base64Util","toBase64","error","get","decrypt","getItem","base64ToStr","parse","removeItem","remove","removeByPrefix","itemKey","indexOf","clear","Session","sessionStorage"],"mappings":"uMAUaA,EAAe,SAKfC,EAAsB,WAKtBC,EAAQ,CAQpB,GAAAC,CAAIC,EAAaC,EAAUC,EAAiBC,GACvC,IAGH,GAFAA,IAAAA,EAAYC,EAAYA,YAAAC,eAEpBH,EAAQ,CACX,GAAII,MAAMJ,IAAWA,EAAS,EACvB,MAAA,IAAIK,MAAM,eAGjB,MAAMC,EAAa,CAClBC,KAAMC,KAAKC,MACXT,UAEKU,EAAaC,KAAKC,UAAUN,GAC3BO,OAAAC,aAAaC,QAAQ,GAAGrB,IAAeI,IAAMH,IAAuBe,EAC5E,CACI,IAAAM,EAAUL,KAAKC,UAAUb,GACzBE,IACOgB,EAAAA,EAAAA,WAAWC,SAASF,IAE/BH,OAAOC,aAAaC,QAAQ,GAAGrB,IAAeI,IAAOkB,SAC7CG,kBACK,QAASA,EACvB,CACD,EAOA,GAAAC,CAAgBtB,EAAauB,GACxB,IACHA,IAAAA,EAAYnB,EAAYA,YAAAC,eAEpB,IAAAa,EAAUH,OAAOC,aAAaQ,QAAQ,GAAG5B,IAAeI,KAC5D,GAAIkB,EAAS,CAERK,IACOJ,EAAAA,EAAAA,WAAWM,YAAYP,IAG5B,MAAAN,EAAaG,OAAOC,aAAaQ,QAAQ,GAAG5B,IAAeI,IAAMH,KAEvE,GAAIe,EAAY,CACT,MAAAJ,EAAaK,KAAKa,MAAMd,GAC1B,GAAAF,KAAKC,MAAQH,EAAWC,KAA2B,GAApBD,EAAWN,OAAc,IAIpD,OAFPa,OAAOC,aAAaW,WAAW,GAAG/B,IAAeI,KAC1Ce,OAAAC,aAAaW,WAAW,GAAG/B,IAAeI,IAAMH,KAChD,IAET,CACI,IACI,OAAAgB,KAAKa,MAAMR,EAAO,CAClB,MACA,OAAAA,CACR,CACD,CACO,OAAA,WACCG,kBACK,QAASA,EACvB,CACD,EAKA,MAAAO,CAAO5B,GACF,IACHe,OAAOC,aAAaW,WAAW,GAAG/B,IAAeI,KAC1Ce,OAAAC,aAAaW,WAAW,GAAG/B,IAAeI,IAAMH,WAC/CwB,kBACK,QAASA,EACvB,CACD,EAKA,cAAAQ,CAAe7B,GACV,IACQ,IAAA,MAAA8B,KAAWf,OAAOC,cACyB,IAAjDc,EAAQC,QAAQ,GAAGnC,IAAeI,MAC9Be,OAAAC,aAAaW,WAAWG,SAGzBT,kBACK,QAASA,EACvB,CACD,EAIA,KAAAW,GACK,IACHjB,OAAOC,aAAagB,cACZX,kBACK,QAASA,EACvB,CACD,GAMYY,EAAU,CAQtB,GAAAlC,CAAIC,EAAaC,EAAUC,EAAiBC,GACvC,IAGH,GAFAA,IAAAA,EAAYC,EAAYA,YAAAC,eAEpBH,EAAQ,CACX,GAAII,MAAMJ,IAAWA,EAAS,EACvB,MAAA,IAAIK,MAAM,eAGjB,MAAMC,EAAa,CAClBC,KAAMC,KAAKC,MACXT,UAEKU,EAAaC,KAAKC,UAAUN,GAC3BO,OAAAmB,eAAejB,QAAQ,GAAGrB,IAAeI,IAAMH,IAAuBe,EAC9E,CACI,IAAAM,EAAUL,KAAKC,UAAUb,GACzBE,IACOgB,EAAAA,EAAAA,WAAWC,SAASF,IAE/BH,OAAOmB,eAAejB,QAAQ,GAAGrB,IAAeI,IAAOkB,SAC/CG,kBACK,UAAWA,EACzB,CACD,EAOA,GAAAC,CAAgBtB,EAAauB,GACxB,IACHA,IAAAA,EAAYnB,EAAYA,YAAAC,eAEpB,IAAAa,EAAUH,OAAOmB,eAAeV,QAAQ,GAAG5B,IAAeI,KAC9D,GAAIkB,EAAS,CAERK,IACOJ,EAAAA,EAAAA,WAAWM,YAAYP,IAG5B,MAAAN,EAAaG,OAAOmB,eAAeV,QAAQ,GAAG5B,IAAeI,IAAMH,KAEzE,GAAIe,EAAY,CACT,MAAAJ,EAAaK,KAAKa,MAAMd,GAC1B,GAAAF,KAAKC,MAAQH,EAAWC,KAA2B,GAApBD,EAAWN,OAAc,IAIpD,OAFPa,OAAOmB,eAAeP,WAAW,GAAG/B,IAAeI,KAC5Ce,OAAAmB,eAAeP,WAAW,GAAG/B,IAAeI,IAAMH,KAClD,IAET,CACI,IACI,OAAAgB,KAAKa,MAAMR,EAAO,CAClB,MACA,OAAAA,CACR,CACD,CACO,OAAA,WACCG,kBACK,UAAWA,EACzB,CACD,EAKA,MAAAO,CAAO5B,GACF,IACHe,OAAOmB,eAAeP,WAAW,GAAG/B,IAAeI,KAC5Ce,OAAAmB,eAAeP,WAAW,GAAG/B,IAAeI,IAAMH,WACjDwB,kBACK,UAAWA,EACzB,CACD,EAKA,cAAAQ,CAAe7B,GACV,IACQ,IAAA,MAAA8B,KAAWf,OAAOmB,gBACyB,IAAjDJ,EAAQC,QAAQ,GAAGnC,IAAeI,MAC9Be,OAAAmB,eAAeP,WAAWG,SAG3BT,kBACK,UAAWA,EACzB,CACD,EAIA,KAAAW,GACK,IACHjB,OAAOmB,eAAeF,cACdX,kBACK,UAAWA,EACzB,CACD"}
|
package/lib/utils/string.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 字符串工具类
|
|
3
|
-
*/
|
|
4
|
-
export declare const stringUtil: {
|
|
5
|
-
/**
|
|
6
|
-
* 根据当前时间生成问候语
|
|
7
|
-
*/
|
|
8
|
-
getGreet(): string;
|
|
9
|
-
/**
|
|
10
|
-
* 对象URL参数化
|
|
11
|
-
*/
|
|
12
|
-
objectToQueryString(obj: any): string;
|
|
13
|
-
/**
|
|
14
|
-
* 获取Url参数
|
|
15
|
-
*/
|
|
16
|
-
getUrlParams(url: string): Record<string, any>;
|
|
17
|
-
/**
|
|
18
|
-
* 是否为JSON字符串
|
|
19
|
-
*/
|
|
20
|
-
isJson(value: string): boolean;
|
|
21
|
-
/**
|
|
22
|
-
* 生成随机字符串
|
|
23
|
-
*/
|
|
24
|
-
generateRandomString(length: number): string;
|
|
25
|
-
/**
|
|
26
|
-
* @description 生成唯一 uuid
|
|
27
|
-
*/
|
|
28
|
-
generateUUID(): string;
|
|
29
|
-
/**
|
|
30
|
-
* 复制
|
|
31
|
-
*/
|
|
32
|
-
copy(value: string): Promise<void>;
|
|
33
|
-
};
|
package/lib/utils/string.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("lodash-es"),t={getGreet(){const e=(new Date).getHours();let t="";return t=e<5?"夜深了,注意身体哦!":e<9?"早上好!欢迎回来!":e<12?"上午好!欢迎回来!":e<14?"中午好!欢迎回来!":e<18?"下午好!欢迎回来!":e<24?"晚上好!欢迎回来!":"您好!欢迎回来!",t},objectToQueryString(e){let t="";for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(""!==t&&(t+="&"),t+=`${encodeURIComponent(o)}=${encodeURIComponent(e[o])}`);return t},getUrlParams(e){const t=/[?&][^=?&]+=[^?&]+/g,o={};let r;for(;null!==(r=t.exec(e));){const[e,t]=r[0].substring(1).split("=");o[e]=decodeURIComponent(t)}return o},isJson:o=>!!e.isString(o)&&(o=o.replace(/\s/g,"").replace(/\n|\r/,""),/^\{(.*?)\}$/.test(o)?/"(.*?)":(.*?)/g.test(o):!!/^\[(.*?)\]$/.test(o)&&o.replace(/^\[/,"").replace(/\]$/,"").replace(/},{/g,"}\n{").split(/\n/).map((e=>t.isJson(e))).reduce(((e,t)=>!!t))),generateRandomString(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let o="";for(let r=0;r<e;r++){const e=Math.floor(62*Math.random());o+=t.charAt(e)}return o},generateUUID(){let e="";for(let t=0;t<32;t++){const o=16*Math.random()|0;8!==t&&12!==t&&16!==t&&20!==t||(e+="-"),e+=(12===t?4:16===t?3&o|8:o).toString(16)}return e},async copy(e){if((null==navigator?void 0:navigator.clipboard)&&window.isSecureContext)await navigator.clipboard.writeText(e);else{const t=document.createElement("textarea");t.value=e,t.style.position="absolute",t.style.opacity="0",t.style.left="-999999px",t.style.top="-999999px",document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),t.remove()}}};exports.stringUtil=t;
|
|
2
|
-
//# sourceMappingURL=string.js.map
|
package/lib/utils/string.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sources":["../../../packages/utils/string.ts"],"sourcesContent":["import { isString } from \"lodash-es\";\n\n/**\n * 字符串工具类\n */\nexport const stringUtil = {\n\t/**\n\t * 根据当前时间生成问候语\n\t */\n\tgetGreet(): string {\n\t\tconst now = new Date();\n\t\tconst hour = now.getHours();\n\t\tlet greet = \"\";\n\n\t\tif (hour < 5) {\n\t\t\tgreet = \"夜深了,注意身体哦!\";\n\t\t} else if (hour < 9) {\n\t\t\tgreet = \"早上好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 12) {\n\t\t\tgreet = \"上午好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 14) {\n\t\t\tgreet = \"中午好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 18) {\n\t\t\tgreet = \"下午好!\" + \"欢迎回来!\";\n\t\t} else if (hour < 24) {\n\t\t\tgreet = \"晚上好!\" + \"欢迎回来!\";\n\t\t} else {\n\t\t\tgreet = \"您好!\" + \"欢迎回来!\";\n\t\t}\n\t\treturn greet;\n\t},\n\t/**\n\t * 对象URL参数化\n\t */\n\tobjectToQueryString(obj: any): string {\n\t\tlet params = \"\";\n\t\tfor (const key in obj) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(obj, key)) {\n\t\t\t\tif (params !== \"\") {\n\t\t\t\t\tparams += \"&\";\n\t\t\t\t}\n\t\t\t\tparams += `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;\n\t\t\t}\n\t\t}\n\t\treturn params;\n\t},\n\t/**\n\t * 获取Url参数\n\t */\n\tgetUrlParams(url: string): Record<string, any> {\n\t\tconst regex = /[?&][^=?&]+=[^?&]+/g;\n\t\tconst params: Record<string, any> = {};\n\n\t\tlet match;\n\t\twhile ((match = regex.exec(url)) !== null) {\n\t\t\tconst [key, value] = match[0].substring(1).split(\"=\");\n\t\t\tparams[key] = decodeURIComponent(value);\n\t\t}\n\n\t\treturn params;\n\t},\n\t/**\n\t * 是否为JSON字符串\n\t */\n\tisJson(value: string): boolean {\n\t\tif (!isString(value)) return false;\n\n\t\tvalue = value.replace(/\\s/g, \"\").replace(/\\n|\\r/, \"\");\n\n\t\tif (/^\\{(.*?)\\}$/.test(value)) return /\"(.*?)\":(.*?)/g.test(value);\n\n\t\tif (/^\\[(.*?)\\]$/.test(value)) {\n\t\t\treturn value\n\t\t\t\t.replace(/^\\[/, \"\")\n\t\t\t\t.replace(/\\]$/, \"\")\n\t\t\t\t.replace(/},{/g, \"}\\n{\")\n\t\t\t\t.split(/\\n/)\n\t\t\t\t.map((s) => {\n\t\t\t\t\treturn stringUtil.isJson(s);\n\t\t\t\t})\n\t\t\t\t.reduce((prev, curr) => {\n\t\t\t\t\treturn !!curr;\n\t\t\t\t});\n\t\t}\n\n\t\treturn false;\n\t},\n\t/**\n\t * 生成随机字符串\n\t */\n\tgenerateRandomString(length: number): string {\n\t\tconst characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\t\tlet randomString = \"\";\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst randomIndex = Math.floor(Math.random() * characters.length);\n\t\t\trandomString += characters.charAt(randomIndex);\n\t\t}\n\t\treturn randomString;\n\t},\n\t/**\n\t * @description 生成唯一 uuid\n\t */\n\tgenerateUUID(): string {\n\t\tlet uuid = \"\";\n\t\tfor (let i = 0; i < 32; i++) {\n\t\t\tconst random = (Math.random() * 16) | 0;\n\t\t\tif (i === 8 || i === 12 || i === 16 || i === 20) uuid += \"-\";\n\t\t\tuuid += (i === 12 ? 4 : i === 16 ? (random & 3) | 8 : random).toString(16);\n\t\t}\n\t\treturn uuid;\n\t},\n\t/**\n\t * 复制\n\t */\n\tasync copy(value: string): Promise<void> {\n\t\t// navigator.clipboard 需要https等安全上下文\n\t\tif (navigator?.clipboard && window.isSecureContext) {\n\t\t\tawait navigator.clipboard.writeText(value);\n\t\t} else {\n\t\t\tconst textareaEl = document.createElement(\"textarea\");\n\t\t\ttextareaEl.value = value;\n\t\t\t// 使文本域不显示\n\t\t\ttextareaEl.style.position = \"absolute\";\n\t\t\ttextareaEl.style.opacity = \"0\";\n\t\t\ttextareaEl.style.left = \"-999999px\";\n\t\t\ttextareaEl.style.top = \"-999999px\";\n\t\t\tdocument.body.appendChild(textareaEl);\n\t\t\ttextareaEl.focus();\n\t\t\ttextareaEl.select();\n\t\t\tdocument.execCommand(\"copy\");\n\t\t\ttextareaEl.remove();\n\t\t}\n\t},\n};\n"],"names":["stringUtil","getGreet","hour","Date","getHours","greet","objectToQueryString","obj","params","key","Object","prototype","hasOwnProperty","call","encodeURIComponent","getUrlParams","url","regex","match","exec","value","substring","split","decodeURIComponent","isJson","isString","replace","test","map","s","reduce","prev","curr","generateRandomString","length","characters","randomString","i","randomIndex","Math","floor","random","charAt","generateUUID","uuid","toString","copy","navigator","clipboard","window","isSecureContext","writeText","textareaEl","document","createElement","style","position","opacity","left","top","body","appendChild","focus","select","execCommand","remove"],"mappings":"6GAKaA,EAAa,CAIzB,QAAAC,GACO,MACAC,OADUC,MACCC,WACjB,IAAIC,EAAQ,GAiBL,OAdEA,EADLH,EAAO,EACF,aACEA,EAAO,EACT,YACEA,EAAO,GACT,YACEA,EAAO,GACT,YACEA,EAAO,GACT,YACEA,EAAO,GACT,YAEA,WAEFG,CACR,EAIA,mBAAAC,CAAoBC,GACnB,IAAIC,EAAS,GACb,IAAA,MAAWC,KAAOF,EACbG,OAAOC,UAAUC,eAAeC,KAAKN,EAAKE,KAC9B,KAAXD,IACOA,GAAA,KAEDA,GAAA,GAAGM,mBAAmBL,MAAQK,mBAAmBP,EAAIE,OAG1D,OAAAD,CACR,EAIA,YAAAO,CAAaC,GACZ,MAAMC,EAAQ,sBACRT,EAA8B,CAAA,EAEhC,IAAAU,EACJ,KAAqC,QAA7BA,EAAQD,EAAME,KAAKH,KAAgB,CACpC,MAACP,EAAKW,GAASF,EAAM,GAAGG,UAAU,GAAGC,MAAM,KAC1Cd,EAAAC,GAAOc,mBAAmBH,EAClC,CAEO,OAAAZ,CACR,EAIAgB,OAAOJ,KACDK,EAAAA,SAASL,KAEdA,EAAQA,EAAMM,QAAQ,MAAO,IAAIA,QAAQ,QAAS,IAE9C,cAAcC,KAAKP,GAAe,iBAAiBO,KAAKP,KAExD,cAAcO,KAAKP,IACfA,EACLM,QAAQ,MAAO,IACfA,QAAQ,MAAO,IACfA,QAAQ,OAAQ,QAChBJ,MAAM,MACNM,KAAKC,GACE7B,EAAWwB,OAAOK,KAEzBC,QAAO,CAACC,EAAMC,MACLA,KASb,oBAAAC,CAAqBC,GACpB,MAAMC,EAAa,iEACnB,IAAIC,EAAe,GACnB,IAAA,IAASC,EAAI,EAAGA,EAAIH,EAAQG,IAAK,CAChC,MAAMC,EAAcC,KAAKC,MAAsBL,GAAhBI,KAAKE,UACpBL,GAAAD,EAAWO,OAAOJ,EACnC,CACO,OAAAF,CACR,EAIA,YAAAO,GACC,IAAIC,EAAO,GACX,IAAA,IAASP,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC5B,MAAMI,EAA0B,GAAhBF,KAAKE,SAAiB,EAC5B,IAANJ,GAAiB,KAANA,GAAkB,KAANA,GAAkB,KAANA,IAAkBO,GAAA,KAChDA,IAAM,KAANP,EAAW,EAAU,KAANA,EAAqB,EAATI,EAAc,EAAIA,GAAQI,SAAS,GACxE,CACO,OAAAD,CACR,EAIA,UAAME,CAAK1B,GAEN,IAAA,MAAA2B,eAAA,EAAAA,UAAWC,YAAaC,OAAOC,sBAC5BH,UAAUC,UAAUG,UAAU/B,OAC9B,CACA,MAAAgC,EAAaC,SAASC,cAAc,YAC1CF,EAAWhC,MAAQA,EAEnBgC,EAAWG,MAAMC,SAAW,WAC5BJ,EAAWG,MAAME,QAAU,IAC3BL,EAAWG,MAAMG,KAAO,YACxBN,EAAWG,MAAMI,IAAM,YACdN,SAAAO,KAAKC,YAAYT,GAC1BA,EAAWU,QACXV,EAAWW,SACXV,SAASW,YAAY,QACrBZ,EAAWa,QACZ,CACD"}
|