diff --git a/.gitignore b/.gitignore index 4fcf27a69..4548755dd 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ bin-release/ # should NOT be excluded as they contain compiler settings and other important # information for Eclipse / Flash Builder. +/.idea +niucloud/public/.htaccess +admin/.env.development \ No newline at end of file diff --git a/admin/.gitignore b/admin/.gitignore index a547bf36d..5998958b1 100644 --- a/admin/.gitignore +++ b/admin/.gitignore @@ -22,3 +22,5 @@ dist-ssr *.njsproj *.sln *.sw? +.env.development +.env.production \ No newline at end of file diff --git a/admin/.vscode/extensions.json b/admin/.vscode/extensions.json deleted file mode 100644 index c0a6e5a48..000000000 --- a/admin/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] -} diff --git a/admin/composer.json b/admin/composer.json deleted file mode 100644 index 96328eb14..000000000 --- a/admin/composer.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "require": { - "mjaschen/phpgeo": "^4.2" - } -} diff --git a/admin/composer.lock b/admin/composer.lock deleted file mode 100644 index 8966b5f63..000000000 --- a/admin/composer.lock +++ /dev/null @@ -1,98 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "59ab9c105da56884a02f809bf612a82c", - "packages": [ - { - "name": "mjaschen/phpgeo", - "version": "4.2.0", - "source": { - "type": "git", - "url": "https://github.com/mjaschen/phpgeo.git", - "reference": "b2e593cf1e9aceea36510158ddb80c7395a80d5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mjaschen/phpgeo/zipball/b2e593cf1e9aceea36510158ddb80c7395a80d5a", - "reference": "b2e593cf1e9aceea36510158ddb80c7395a80d5a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "^3.6", - "vimeo/psalm": "^4.13" - }, - "type": "library", - "autoload": { - "psr-4": { - "Location\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marcus Jaschen", - "email": "mjaschen@gmail.com", - "homepage": "https://www.marcusjaschen.de/" - } - ], - "description": "Simple Yet Powerful Geo Library", - "homepage": "https://phpgeo.marcusjaschen.de/", - "keywords": [ - "Polygon", - "area", - "bearing", - "bounds", - "calculation", - "coordinate", - "distance", - "earth", - "ellipsoid", - "geo", - "geofence", - "gis", - "gps", - "haversine", - "length", - "perpendicular", - "point", - "polyline", - "projection", - "simplify", - "track", - "vincenty" - ], - "support": { - "docs": "https://phpgeo.marcusjaschen.de/Installation.html", - "email": "mjaschen@gmail.com", - "issues": "https://github.com/mjaschen/phpgeo/issues", - "source": "https://github.com/mjaschen/phpgeo/tree/4.2.0" - }, - "time": "2022-07-25T08:36:36+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "2.3.0" -} diff --git a/admin/package-lock.json b/admin/package-lock.json index 282cd5399..0ab5c7127 100644 --- a/admin/package-lock.json +++ b/admin/package-lock.json @@ -26,6 +26,7 @@ "sortablejs": "^1.15.0", "vue": "^3.2.45", "vue-i18n": "^9.2.2", + "vue-jsonp": "^2.0.0", "vue-router": "^4.1.6", "vue-web-terminal": "^3.1.7", "vue3-video-play": "^1.3.1-beta.6" @@ -6244,6 +6245,11 @@ "vue": "^3.2.2" } }, + "node_modules/vue-jsonp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/vue-jsonp/-/vue-jsonp-2.0.0.tgz", + "integrity": "sha512-Mzd9GNeuKP5hHFDWZNMWOsCuMILSkA6jo2l4A02wheFz3qqBzH7aSEFTey1BRCZCLizlaf1EqJ5YUtF392KspA==" + }, "node_modules/vue-router": { "version": "4.1.6", "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz", @@ -11364,6 +11370,11 @@ "clipboard": "^2.0.4" } }, + "vue-jsonp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/vue-jsonp/-/vue-jsonp-2.0.0.tgz", + "integrity": "sha512-Mzd9GNeuKP5hHFDWZNMWOsCuMILSkA6jo2l4A02wheFz3qqBzH7aSEFTey1BRCZCLizlaf1EqJ5YUtF392KspA==" + }, "vue-router": { "version": "4.1.6", "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz", diff --git a/admin/src/app/lang/zh-cn/diy.index.json b/admin/src/app/lang/zh-cn/diy.index.json index e5c543666..3ff1eecfd 100644 --- a/admin/src/app/lang/zh-cn/diy.index.json +++ b/admin/src/app/lang/zh-cn/diy.index.json @@ -16,6 +16,7 @@ "refreshPage": "刷新", "placeholderTemplate": "请选择一个模板", "placeholderMyPage": "请选择一个微页面", + "placeholderOtherPage": "请选择一个页面", "developTitle": "开发环境配置", "wapDomain": "wap域名(WAP_DOMAIN)", "wapDomainPlaceholder": "请输入wap域名" diff --git a/admin/src/app/lang/zh-cn/index.store.json b/admin/src/app/lang/zh-cn/index.store.json index 686d5f21c..4e6938427 100644 --- a/admin/src/app/lang/zh-cn/index.store.json +++ b/admin/src/app/lang/zh-cn/index.store.json @@ -65,5 +65,6 @@ "authInfoTips": "授权码和授权秘钥可在Niucloud官网我的授权 授权详情中查看", "addonUninstall": "插件卸载", "appIdentification":"应用标识", - "tipText":"标识指开发应用或插件的文件夹名称" + "tipText":"标识指开发应用或插件的文件夹名称", + "uninstallTips": "卸载插件将会移除admin web uni-app目录下该插件的内容,是否要继续进行卸载?" } \ No newline at end of file diff --git a/admin/src/app/views/app/authorize.vue b/admin/src/app/views/app/authorize.vue index dd5cd5f5e..26c564c02 100644 --- a/admin/src/app/views/app/authorize.vue +++ b/admin/src/app/views/app/authorize.vue @@ -166,7 +166,6 @@ const save = async (formEl: FormInstance | undefined) => { }) .catch(() => { saveLoading.value = false - authCodeApproveDialog.value = false }) } }) diff --git a/admin/src/app/views/diy/index.vue b/admin/src/app/views/diy/index.vue index b742bc8e6..075fd740e 100644 --- a/admin/src/app/views/diy/index.vue +++ b/admin/src/app/views/diy/index.vue @@ -112,6 +112,7 @@ // 添加自定义页面 const formData = reactive({ type: '', + name: '', mode: '', template: '', id: '', @@ -123,6 +124,7 @@ // 初始化数据 const refreshData = () => { formData.type = ''; + formData.name = ''; formData.mode = ''; formData.template = ''; formData.id = ''; @@ -246,6 +248,7 @@ hope.value = data.use_template.hope; formData.type = key; + formData.name = data.use_template.name; formData.mode = data.use_template.mode; formData.action = data.use_template.action; @@ -326,15 +329,20 @@ (newValue, oldValue) => { // 选择某个,清空其余 if (newValue == 'template') { + // 选择模板 formData.id = ''; formData.page = ''; formData.action = 'decorate'; + formData.name = formData.type; } else if (newValue == 'diy') { + // 选择微页面 formData.mode = 'diy'; formData.template = ''; formData.page = ''; formData.action = 'decorate'; + formData.name = formData.type; } else if (newValue == 'other') { + // 选择其他页面 formData.mode = 'other'; formData.template = ''; formData.id = ''; @@ -342,6 +350,7 @@ } ) + // 监听模板变化 watch( () => formData.template, (newValue, oldValue) => { @@ -351,12 +360,14 @@ } ) + // 监听其他页面 watch( () => formData.page, (newValue, oldValue) => { if (newValue) { for (let i = 0; i < page[formData.type].other_page.length; i++) { if (page[formData.type].other_page[i].page == newValue) { + formData.name = page[formData.type].other_page[i].name; formData.title = page[formData.type].other_page[i].title; formData.action = page[formData.type].other_page[i].action; break; @@ -384,6 +395,14 @@ }); return; } + } else if (hope.value == 'other') { + if (formData.page == '') { + ElMessage({ + type: 'warning', + message: `${t('placeholderOtherPage')}`, + }); + return; + } } if (isRepeat.value) return diff --git a/admin/src/app/views/index/store.vue b/admin/src/app/views/index/store.vue index 3f66ccd71..e1ba426c8 100644 --- a/admin/src/app/views/index/store.vue +++ b/admin/src/app/views/index/store.vue @@ -12,18 +12,18 @@
@@ -109,8 +108,7 @@
{{ t('installed-empty') }}
-
@@ -676,6 +674,24 @@ const uninstallCheckResult = ref({})
* @param key
*/
const uninstallAddonFn = (key: string) => {
+ if (import.meta.env.MODE == 'development') {
+ ElMessageBox.confirm(
+ t('uninstallTips'),
+ t('warning'),
+ {
+ confirmButtonText: t('confirm'),
+ cancelButtonText: t('cancel'),
+ type: 'warning'
+ }
+ ).then(() => {
+ handleUninstallAddon(key)
+ }).catch(() => { })
+ } else {
+ handleUninstallAddon(key)
+ }
+}
+
+const handleUninstallAddon = (key: string) => {
preUninstallCheck(key).then(({ data }) => {
if (data.is_pass) {
uninstallAddon({ addon: key }).then(res => {
@@ -869,3 +885,8 @@ html.dark .table-head-bg {
box-sizing: border-box;
}
+
diff --git a/admin/src/components/upload-file/index.vue b/admin/src/components/upload-file/index.vue
index e6fd11897..1856e49ee 100644
--- a/admin/src/components/upload-file/index.vue
+++ b/admin/src/components/upload-file/index.vue
@@ -1,7 +1,7 @@
u?G(e,r,a,!0,!1,p):k(t,n,o,r,a,i,s,l,p)},V=(e,t,n,o,r,a,i,s,l)=>{let c=0;const u=t.length;let p=e.length-1,d=u-1;for(;c<=p&&c<=d;){const o=e[c],u=t[c]=l?Xa(t[c]):Qa(t[c]);if(!Da(o,u))break;g(o,u,n,null,r,a,i,s,l),c++}for(;c<=p&&c<=d;){const o=e[p],c=t[d]=l?Xa(t[d]):Qa(t[d]);if(!Da(o,c))break;g(o,c,n,null,r,a,i,s,l),p--,d--}if(c>p){if(c<=d){const e=d+1,p=ed)for(;c<=p;)$(e[c],r,a,!0),c++;else{const f=c,h=c,m=new Map;for(c=h;c<=d;c++){const e=t[c]=l?Xa(t[c]):Qa(t[c]);null!=e.key&&m.set(e.key,c)}let y,v=0;const b=d-h+1;let w=!1,x=0;const T=new Array(b);for(c=0;c=b){$(o,r,a,!0);continue}let u;if(null!=o.key)u=m.get(o.key);else for(y=h;y<=d;y++)if(0===T[y-h]&&Da(o,t[y])){u=y;break}void 0===u?$(o,r,a,!0):(T[u-h]=c+1,u>=x?x=u:w=!0,g(o,t[u],n,null,r,a,i,s,l),v++)}const A=w?function(e){const t=e.slice(),n=[0];let o,r,a,i,s;const l=e.length;for(o=0;o {u.value=d}),300);u.value=d},y=()=>{u.value=!0};function v(){e.value&&(e.value.removeEventListener("mousemove",m),e.value.removeEventListener("mouseleave",y),s&&(e.value.addEventListener("mousemove",m),e.value.addEventListener("mouseleave",y)))}return wr(v),function(){const e={"uni-swiper-navigation-hide":u.value,"uni-swiper-navigation-vertical":t.vertical};return t.navigation?$a(Ea,null,[$a("div",Ga({class:["uni-swiper-navigation uni-swiper-navigation-prev",S({"uni-swiper-navigation-disabled":l},e)],onClick:e=>f(e,"prev",l)},d),[h()],16,["onClick"]),$a("div",Ga({class:["uni-swiper-navigation uni-swiper-navigation-next",S({"uni-swiper-navigation-disabled":c},e)],onClick:e=>f(e,"next",c)},d),[h()],16,["onClick"])]):null}},qg=pp({name:"SwiperItem",props:{itemId:{type:String,default:""}},setup(e,{slots:t}){const n=Un(null),o={rootRef:n,getItemId:()=>e.itemId,getBoundingClientRect:()=>n.value.getBoundingClientRect(),updatePosition(e,t){const o=t?"0":100*e+"%",r=t?100*e+"%":"0",a=n.value,i=`translate(${o},${r}) translateZ(0)`;a&&(a.style.webkitTransform=i,a.style.transform=i)}};return wr((()=>{const e=Ro("addSwiperContext");e&&e(o)})),Er((()=>{const e=Ro("removeSwiperContext");e&&e(o)})),()=>$a("uni-swiper-item",{ref:n,style:{position:"absolute",width:"100%",height:"100%"}},[t.default&&t.default()],512)}}),$g={ensp:" ",emsp:" ",nbsp:" "};function Hg(e,t){return e.replace(/\\n/g,ie).split(ie).map((e=>function(e,{space:t,decode:n}){if(!e)return e;t&&$g[t]&&(e=e.replace(/ /g,$g[t]));if(!n)return e;return e.replace(/ /g,$g.nbsp).replace(/ /g,$g.ensp).replace(/ /g,$g.emsp).replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'")}(e,t)))}const Ug=pp({name:"Text",props:{selectable:{type:[Boolean,String],default:!1},space:{type:String,default:""},decode:{type:[Boolean,String],default:!1}},setup:(e,{slots:t})=>()=>{const n=[];return t.default&&t.default().forEach((t=>{if(8&t.shapeFlag&&t.type!==ka){const o=Hg(t.children,{space:e.space,decode:e.decode}),r=o.length-1;o.forEach(((e,t)=>{(0!==t||e)&&n.push(Ua(e)),t!==r&&n.push($a("br"))}))}else n.push(t)})),$a("uni-text",{selectable:!!e.selectable||null},[$a("span",null,n)],8,["selectable"])}}),Wg=S({},$h,{placeholderClass:{type:String,default:"input-placeholder"},autoHeight:{type:[Boolean,String],default:!1},confirmType:{type:String,default:"return",validator:e=>Xg.concat("return").includes(e)}});let Qg=!1;const Xg=["done","go","next","search","send"];const Yg=pp({name:"Textarea",props:Wg,emits:["confirm","linechange",...Hh],setup(e,{emit:t}){const n=Un(null),o=Un(null),{fieldRef:r,state:a,scopedAttrsState:i,fixDisabledColor:s,trigger:l}=Qh(e,n,t),c=pi((()=>a.value.split(ie))),u=pi((()=>Xg.includes(e.confirmType))),p=Un(0),d=Un(null);function f({height:e}){p.value=e}function h(e){"Enter"===e.key&&u.value&&e.preventDefault()}function g(t){if("Enter"===t.key&&u.value){!function(e){l("confirm",e,{value:a.value})}(t);const n=t.target;!e.confirmHold&&n.blur()}}return zo((()=>p.value),(t=>{const r=n.value,a=d.value,i=o.value;let s=parseFloat(getComputedStyle(r).lineHeight);isNaN(s)&&(s=a.offsetHeight);var c=Math.round(t/s);l("linechange",{},{height:t,heightRpx:750/window.innerWidth*t,lineCount:c}),e.autoHeight&&(r.style.height="auto",i.style.height=t+"px")})),function(){const e="(prefers-color-scheme: dark)";Qg=0===String(navigator.platform).indexOf("iP")&&0===String(navigator.vendor).indexOf("Apple")&&window.matchMedia(e).media!==e}(),()=>{let t=e.disabled&&s?$a("textarea",{key:"disabled-textarea",ref:r,value:a.value,tabindex:"-1",readonly:!!e.disabled,maxlength:a.maxlength,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":Qg},style:{overflowY:e.autoHeight?"hidden":"auto"},onFocus:e=>e.target.blur()},null,46,["value","readonly","maxlength","onFocus"]):$a("textarea",{key:"textarea",ref:r,value:a.value,disabled:!!e.disabled,maxlength:a.maxlength,enterkeyhint:e.confirmType,inputmode:e.inputmode,class:{"uni-textarea-textarea":!0,"uni-textarea-textarea-fix-margin":Qg},style:{overflowY:e.autoHeight?"hidden":"auto"},onKeydown:h,onKeyup:g},null,46,["value","disabled","maxlength","enterkeyhint","inputmode","onKeydown","onKeyup"]);return $a("uni-textarea",{ref:n},[$a("div",{ref:o,class:"uni-textarea-wrapper"},[Lr($a("div",Ga(i.attrs,{style:e.placeholderStyle,class:["uni-textarea-placeholder",e.placeholderClass]}),[e.placeholder],16),[[ms,!a.value.length]]),$a("div",{ref:d,class:"uni-textarea-line"},[" "],512),$a("div",{class:"uni-textarea-compute"},[c.value.map((e=>$a("div",null,[e.trim()?e:"."]))),$a(ph,{initial:!0,onResize:f},null,8,["initial","onResize"])]),"search"===e.confirmType?$a("form",{action:"",onSubmit:()=>!1,class:"uni-input-form"},[t],40,["onSubmit"]):t],512)],512)}}}),Gg=pp({name:"View",props:S({},fp),setup(e,{slots:t}){const{hovering:n,binding:o}=hp(e);return()=>{const r=e.hoverClass;return r&&"none"!==r?$a("uni-view",Ga({class:n.value?r:""},o),[t.default&&t.default()],16):$a("uni-view",null,[t.default&&t.default()])}}});function Jg(e,t){if(t||(t=e.id),t)return e.$options.name.toLowerCase()+"."+t}function Kg(e,t,n){e&&Nc(n||Cu(),e,(({type:e,data:n},o)=>{t(e,n,o)}))}function Zg(e,t){e&&function(e,t){t=jc(e,t),delete Bc[t]}(t||Cu(),e)}function em(e,t,n,o){const r=ti().proxy;wr((()=>{Kg(t||Jg(r),e,o),!n&&t||zo((()=>r.id),((t,n)=>{Kg(Jg(r,t),e,o),Zg(n&&Jg(r,n))}))})),Ar((()=>{Zg(t||Jg(r),o)}))}let tm=0;function nm(e){const t=Au(),n=ti().proxy,o=n.$options.name.toLowerCase(),r=e||n.id||"context"+tm++;return wr((()=>{n.$el.__uniContextInfo={id:r,type:o,page:t}})),`${o}.${r}`}function om(e,t,n,o){B(t)&&vr(e,t.bind(n),o)}function rm(e,t,n){var o;const r=e.mpType||n.$mpType;if(r&&"component"!==r&&(Object.keys(e).forEach((o=>{if(function(e,t,n=!0){return!(n&&!B(t))&&(ft.indexOf(e)>-1||0===e.indexOf("on"))}(o,e[o],!1)){const r=e[o];L(r)?r.forEach((e=>om(o,e,n,t))):om(o,r,n,t)}})),"page"===r)){t.__isVisible=!0;try{Iu(n,we,t.attrs.__pageQuery),delete t.attrs.__pageQuery,"preloadPage"!==(null==(o=n.$page)?void 0:o.openType)&&Iu(n,he)}catch(a){console.error(a.message+ie+a.stack)}}}function am(e,t,n){rm(e,t,n)}function im(e,t,n){return e[t]=n}function sm(e){return function(t,n,o){if(!n)throw t;const r=e._instance;if(!r||!r.proxy)throw t;Iu(r.proxy,ye,t)}}function lm(e,t){return e?[...new Set([].concat(e,t))]:t}function cm(e){const t=e._context.config;var n;t.errorHandler=gt(e,sm),n=t.optionMergeStrategies,ft.forEach((e=>{n[e]=lm}));const o=t.globalProperties;o.$set=im,o.$applyOptions=am,function(e){ht.forEach((t=>t(e)))}(e)}const um=gu("upm");function pm(){return Ro(um)}function dm(e){const t=function(e){return Ln(function(e){{const{enablePullDownRefresh:t,navigationBar:n}=e;if(t){const t=function(e){return e.offset&&(e.offset=yu(e.offset)),e.height&&(e.height=yu(e.height)),e.range&&(e.range=yu(e.range)),e}(S({support:!0,color:"#2BD009",style:"circle",height:70,range:150,offset:0},e.pullToRefresh)),{type:o,style:r}=n;"custom"!==r&&"transparent"!==o&&(t.offset+=se+su.top),e.pullToRefresh=t}}{const{navigationBar:t}=e,{titleSize:n,titleColor:o,backgroundColor:r}=t;t.titleText=t.titleText||"",t.type=t.type||"default",t.titleSize=n||"16px",t.titleColor=o||"#000000",t.backgroundColor=r||"#F8F8F8",Pc(t)}if(history.state){const t=history.state.__type__;"redirectTo"!==t&&"reLaunch"!==t||0!==km().length||(e.isEntry=!0,e.isQuit=!0)}return e}(JSON.parse(JSON.stringify(Ou(hc().meta,e)))))}(e);return No(um,t),t}function fm(){return hc()}function hm(){return history.state&&history.state.__id__||1}let gm;function mm(){var e;return gm||(gm=__uniConfig.tabBar&&Ln((e=__uniConfig.tabBar,gc()&&e.list&&e.list.forEach((e=>{bc(e,["text"])})),e))),gm}const ym=window.CSS&&window.CSS.supports;function vm(e){return ym&&(ym(e)||ym.apply(window.CSS,e.split(":")))}const bm=vm("top:env(a)"),_m=vm("top:constant(a)"),wm=vm("backdrop-filter:blur(10px)"),xm=(()=>bm?"env":_m?"constant":"")();function Tm(e){return xm?`calc(${e}px + ${xm}(safe-area-inset-bottom))`:`${e}px`}const Am="$$",Em=new Map;function Sm(){return Em}function km(){const e=[],t=Em.values();for(const n of t)n.$.__isTabBar?n.$.__isActive&&e.push(n):e.push(n);return e}function Cm(e,t=!0){const n=Em.get(e);n.$.__isUnload=!0,Iu(n,xe),Em.delete(e),t&&function(e){const t=Mm.get(e);t&&(Mm.delete(e),Bm.pruneCacheEntry(t))}(e)}let Pm=hm();function Lm(e){const t=pm();let n=e.fullPath;return e.meta.isEntry&&-1===n.indexOf(e.meta.route)&&(n="/"+e.meta.route+n.replace("/","")),function(e,t,n,o,r,a){const{id:i,route:s}=o,l=bt(o.navigationBar,__uniConfig.themeConfig,a).titleColor;return{id:i,path:Qe(s),route:s,fullPath:t,options:n,meta:o,openType:e,eventChannel:r,statusBarStyle:"#ffffff"===l?"light":"dark"}}("navigateTo",n,{},t)}function Om(e){const t=Lm(e.$route);!function(e,t){e.route=t.route,e.$vm=e,e.$page=t,e.$mpType="page",t.meta.isTabBar&&(e.$.__isTabBar=!0,e.$.__isActive=!0)}(e,t),Em.set(Im(t.path,t.id),e)}function Im(e,t){return e+Am+t}const Mm=new Map,Bm={get:e=>Mm.get(e),set(e,t){!function(e){const t=parseInt(e.split(Am)[1]);if(!t)return;Bm.forEach(((e,n)=>{const o=parseInt(n.split(Am)[1]);if(o&&o>t){if(function(e){return"tabBar"===e.props.type}(e))return;Bm.delete(n),Bm.pruneCacheEntry(e),go((()=>{Em.forEach(((e,t)=>{e.$.isUnmounted&&Em.delete(t)}))}))}}))}(e),Mm.set(e,t)},delete(e){Mm.get(e)&&Mm.delete(e)},forEach(e){Mm.forEach(e)}};function jm(e,t){!function(e){const t=Rm(e),{body:n}=document;Dm&&n.removeAttribute(Dm),t&&n.setAttribute(t,""),Dm=t}(e),function(e){let t=0,n=0;if("custom"!==e.navigationBar.style&&["default","float"].indexOf(e.navigationBar.type)>-1&&(t=se),e.isTabBar){const e=mm();e.shown&&(n=parseInt(e.height))}var o;hu({"--window-top":(o=t,xm?`calc(${o}px + ${xm}(safe-area-inset-top))`:`${o}px`),"--window-bottom":Tm(n)})}(t),function(e){const t="nvue-dir-"+__uniConfig.nvue["flex-direction"];e.isNVue?(document.body.setAttribute("nvue",""),document.body.setAttribute(t,"")):(document.body.removeAttribute("nvue"),document.body.removeAttribute(t))}(t),function(e,t){document.removeEventListener("touchmove",Mu),Fm&&document.removeEventListener("scroll",Fm);if(t.disableScroll)return document.addEventListener("touchmove",Mu);const{onPageScroll:n,onReachBottom:o}=e,r="transparent"===t.navigationBar.type;if(!n&&!o&&!r)return;const a={},i=e.proxy.$page.id;(n||r)&&(a.onPageScroll=function(e,t,n){return o=>{t&&o_.publishHandler(ke,{scrollTop:o},e),n&&o_.emit(e+"."+ke,{scrollTop:o})}}(i,n,r));o&&(a.onReachBottomDistance=t.onReachBottomDistance||le,a.onReachBottom=()=>o_.publishHandler(Pe,{},i));Fm=Nu(a),requestAnimationFrame((()=>document.addEventListener("scroll",Fm)))}(e,t)}function Nm(e){const t=Rm(e);t&&function(e){const t=document.querySelector("uni-page-body");t&&t.setAttribute(e,"")}(t)}function Rm(e){return e.type.__scopeId}let Dm,Fm;function zm(e){const t=fc({history:qm(),strict:!!__uniConfig.router.strict,routes:__uniRoutes,scrollBehavior:Vm});e.router=t,e.use(t)}const Vm=(e,t,n)=>{if(n)return n};function qm(){let{routerBase:e}=__uniConfig.router;"/"===e&&(e="");const t=ll(e);return t.listen(((e,t,n)=>{"back"===n.direction&&function(e=1){const t=km(),n=t.length-1,o=n-e;for(let r=n;r>o;r--){const e=t[r].$page;Cm(Im(e.path,e.id),!1)}}(Math.abs(n.delta))})),t}const $m={install(e){cm(e),Yu(e),ip(e),e.config.warnHandler||(e.config.warnHandler=Hm),zm(e)}};function Hm(e,t,n){if(t){if("PageMetaHead"===t.$.type.name)return;const e=t.$.parent;if(e&&"PageMeta"===e.type.name)return}const o=[`[Vue warn]: ${e}`];n.length&&o.push("\n",n),console.warn(...o)}const Um={class:"uni-async-loading"},Wm=$a("i",{class:"uni-loading"},null,-1),Qm=dp({name:"AsyncLoading",render:()=>(Oa(),Na("div",Um,[Wm]))});function Xm(){window.location.reload()}const Ym=dp({name:"AsyncError",setup(){xc();const{t:e}=_c();return()=>$a("div",{class:"uni-async-error",onClick:Xm},[e("uni.async.error")],8,["onClick"])}});let Gm;function Jm(){return Gm}function Km(e){Gm=e,Object.defineProperty(Gm.$.ctx,"$children",{get:()=>km().map((e=>e.$vm))});const t=Gm.$.appContext.app;t.component(Qm.name)||t.component(Qm.name,Qm),t.component(Ym.name)||t.component(Ym.name,Ym),function(e){e.$vm=e,e.$mpType="app";const t=Un(_c().getLocale());Object.defineProperty(e,"$locale",{get:()=>t.value,set(e){t.value=e}})}(Gm),function(e,t){const n=e.$options||{};n.globalData=S(n.globalData||{},t),Object.defineProperty(e,"globalData",{get:()=>n.globalData,set(e){n.globalData=e}})}(Gm),rp(),Gc()}function Zm(e,{clone:t,init:n,setup:o,before:r}){t&&(e=S({},e)),r&&r(e);const a=e.setup;return e.setup=(e,t)=>{const r=ti();n(r.proxy);const i=o(r);if(a)return a(i||e,t)},e}function ey(e,t){return e&&(e.__esModule||"Module"===e[Symbol.toStringTag])?Zm(e.default,t):Zm(e,t)}function ty(e){return ey(e,{clone:!0,init:Om,setup(e){e.$pageInstance=e;const t=fm(),n=it(t.query);e.attrs.__pageQuery=n,e.proxy.$page.options=n;const o=pm();var r,a,i;return _r((()=>{jm(e,o)})),wr((()=>{Nm(e);const{onReady:n}=e;n&&Z(n),ay(t)})),pr((()=>{if(!e.__isVisible){jm(e,o),e.__isVisible=!0;const{onShow:n}=e;n&&Z(n),go((()=>{ay(t)}))}}),"ba",r),function(e,t){pr(e,"bda",t)}((()=>{if(e.__isVisible&&!e.__isUnload){e.__isVisible=!1;const{onHide:t}=e;t&&Z(t)}})),a=o.id,o_.subscribe(jc(a,Oc),i?i(Rc):Rc),Ar((()=>{!function(e){o_.unsubscribe(jc(e,Oc)),Object.keys(Bc).forEach((t=>{0===t.indexOf(e+".")&&delete Bc[t]}))}(o.id)})),n}})}function ny(){const{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}=Xy(),r=90===Math.abs(Number(window.orientation))?"landscape":"portrait";r_.emit(Ee,{deviceOrientation:r,size:{windowWidth:e,windowHeight:t,screenWidth:n,screenHeight:o}})}function oy(e){q(e.data)&&e.data.type===fe&&r_.emit(qe,e.data.data,e.data.pageId)}function ry(){const{emit:e}=r_;"visible"===document.visibilityState?e(ze,S({},uh)):e(Ve)}function ay(e){const{tabBarText:t,tabBarIndex:n,route:o}=e.meta;t&&Iu("onTabItemTap",{index:n,text:t,pagePath:o})}function iy(e){e=e>0&&e<1/0?e:0;const t=Math.floor(e/3600),n=Math.floor(e%3600/60),o=Math.floor(e%3600%60),r=(t<10?"0":"")+t;let a=(n<10?"0":"")+n+":"+((o<10?"0":"")+o);return"00"!==r&&(a=r+":"+a),a}function sy(e,t,n){const o=Ln({gestureType:"none",volumeOld:0,volumeNew:0,currentTimeOld:0,currentTimeNew:0}),r={x:0,y:0};return{state:o,onTouchstart:function(e){const t=e.targetTouches[0];r.x=t.pageX,r.y=t.pageY,o.gestureType="none",o.volumeOld=0,o.currentTimeOld=o.currentTimeNew=0},onTouchmove:function(a){function i(){a.stopPropagation(),a.preventDefault()}n.fullscreen&&i();const s=o.gestureType;if("stop"===s)return;const l=a.targetTouches[0],c=l.pageX,u=l.pageY,p=r,d=t.value;if("progress"===s?function(e){const n=t.value,r=n.duration;let a=e/600*r+o.currentTimeOld;a<0?a=0:a>r&&(a=r);o.currentTimeNew=a}(c-p.x):"volume"===s&&function(e){const n=t.value,r=o.volumeOld;let a;"number"==typeof r&&(a=r-e/200,a<0?a=0:a>1&&(a=1),n.volume=a,o.volumeNew=a)}(u-p.y),"none"===s)if(Math.abs(c-p.x)>Math.abs(u-p.y)){if(!e.enableProgressGesture)return void(o.gestureType="stop");o.gestureType="progress",o.currentTimeOld=o.currentTimeNew=d.currentTime,n.fullscreen||i()}else{if(!e.pageGesture)return void(o.gestureType="stop");o.gestureType="volume",o.volumeOld=d.volume,n.fullscreen||i()}},onTouchend:function(e){const n=t.value;"none"!==o.gestureType&&"stop"!==o.gestureType&&(e.stopPropagation(),e.preventDefault()),"progress"===o.gestureType&&o.currentTimeOld!==o.currentTimeNew&&(n.currentTime=o.currentTimeNew),o.gestureType="none"}}}const ly=pp({name:"Video",props:{id:{type:String,default:""},src:{type:String,default:""},duration:{type:[Number,String],default:""},controls:{type:[Boolean,String],default:!0},danmuList:{type:Array,default:()=>[]},danmuBtn:{type:[Boolean,String],default:!1},enableDanmu:{type:[Boolean,String],default:!1},autoplay:{type:[Boolean,String],default:!1},loop:{type:[Boolean,String],default:!1},muted:{type:[Boolean,String],default:!1},objectFit:{type:String,default:"contain"},poster:{type:String,default:""},direction:{type:[String,Number],default:""},showProgress:{type:Boolean,default:!0},initialTime:{type:[String,Number],default:0},showFullscreenBtn:{type:[Boolean,String],default:!0},pageGesture:{type:[Boolean,String],default:!1},enableProgressGesture:{type:[Boolean,String],default:!0},showPlayBtn:{type:[Boolean,String],default:!0},showCenterPlayBtn:{type:[Boolean,String],default:!0}},emits:["fullscreenchange","progress","loadedmetadata","waiting","error","play","pause","ended","timeupdate"],setup(e,{emit:t,attrs:n,slots:o}){const r=Un(null),a=Un(null),i=yp(r,t),{state:s}=Dh(),{$attrs:l}=Jh({excludeListeners:!0}),{t:c}=_c();kc();const{videoRef:u,state:p,play:d,pause:f,seek:h,playbackRate:g,toggle:m,onDurationChange:y,onLoadedMetadata:v,onProgress:b,onWaiting:_,onVideoError:w,onPlay:x,onPause:T,onEnded:A,onTimeUpdate:E}=function(e,t,n){const o=Un(null),r=pi((()=>Ep(e.src))),a=Ln({start:!1,src:r,playing:!1,currentTime:0,duration:0,progress:0,buffered:0});function i(e){const t=e.target,n=t.buffered;n.length&&(a.buffered=n.end(n.length-1)/t.duration*100)}return zo((()=>r.value),(()=>{a.playing=!1,a.currentTime=0})),zo((()=>a.buffered),(e=>{n("progress",{},{buffered:e})})),{videoRef:o,state:a,play:function(){const e=o.value;a.start=!0,e.play()},pause:function(){o.value.pause()},seek:function(e){const t=o.value;"number"!=typeof(e=Number(e))||isNaN(e)||(t.currentTime=e)},playbackRate:function(e){o.value.playbackRate=e},toggle:function(){const e=o.value;a.playing?e.pause():e.play()},onDurationChange:function({target:e}){a.duration=e.duration},onLoadedMetadata:function(t){const o=Number(e.initialTime)||0,r=t.target;o>0&&(r.currentTime=o),n("loadedmetadata",t,{width:r.videoWidth,height:r.videoHeight,duration:r.duration}),i(t)},onProgress:i,onWaiting:function(e){n("waiting",e,{})},onVideoError:function(e){a.playing=!1,n("error",e,{})},onPlay:function(e){a.start=!0,a.playing=!0,n("play",e,{})},onPause:function(e){a.playing=!1,n("pause",e,{})},onEnded:function(e){a.playing=!1,n("ended",e,{})},onTimeUpdate:function(e){const t=e.target,o=a.currentTime=t.currentTime;n("timeupdate",e,{currentTime:o,duration:t.duration})}}}(e,0,i),{state:S,danmuRef:k,updateDanmu:C,toggleDanmu:P,sendDanmu:O}=function(e,t){const n=Un(null),o=Ln({enable:Boolean(e.enableDanmu)});let r={time:0,index:-1};const a=L(e.danmuList)?JSON.parse(JSON.stringify(e.danmuList)):[];function i(e){const t=document.createElement("p");t.className="uni-video-danmu-item",t.innerText=e.text;let o=`bottom: ${100*Math.random()}%;color: ${e.color};`;t.setAttribute("style",o),n.value.appendChild(t),setTimeout((function(){o+="left: 0;-webkit-transform: translateX(-100%);transform: translateX(-100%);",t.setAttribute("style",o),setTimeout((function(){t.remove()}),4e3)}),17)}return a.sort((function(e,t){return(e.time||0)-(t.time||0)})),{state:o,danmuRef:n,updateDanmu:function(e){const n=e.target.currentTime,s=r,l={time:n,index:s.index};if(n>s.time)for(let r=s.index+1;r
"));const o="0px 0px 3px 1px rgba(0,0,0,0.5)";let a=-p/2;if((e.width||e.height)&&(a+=14-p/2),x=w.content?{position:c,map:n,top:m,offsetY:a,content:w.content,color:w.color,fontSize:w.fontSize,borderRadius:w.borderRadius,bgColor:w.bgColor,padding:w.padding,boxShadow:w.boxShadow||o,display:w.display}:{position:c,map:n,top:m,offsetY:a,content:l,boxShadow:o},T)T.setOption(x);else if(wy()){const e=e=>{""!==e&&s("callouttap",{},{markerId:Number(e)})};T=r.callout=new i.Callout(x,e)}else T=r.callout=new i.Callout(x),T.div.onclick=function(e){""!==t&&s("callouttap",e,{markerId:Number(t)}),e.stopPropagation(),e.preventDefault()},vy().type===yy.GOOGLE&&(T.div.ontouchstart=function(e){e.stopPropagation()},T.div.onpointerdown=function(e){e.stopPropagation()})}else T&&(a(T),delete r.callout)},e.iconPath?u.src=Ep(e.iconPath):console.error("Marker.iconPath is required.")}var c;c=e,r=new i.Marker({map:n,flat:!0,autoRotation:!1}),l(c),(i.event||i.Event).addListener(r,"click",(()=>{const e=r.callout;if(e&&!e.alwaysVisible)if(wy())e.visible=!e.visible,e.visible?r.callout.createAMapText():r.callout.removeAMapText();else if(e.set("visible",!e.visible),e.visible){const t=e.div,n=t.parentNode;n.removeChild(t),n.appendChild(t)}t&&s("markertap",{},{markerId:Number(t),latitude:c.latitude,longitude:c.longitude})})),zo(e,l)})),t){const e=Ro("addMapChidlContext"),o=Ro("removeMapChidlContext"),a={id:t,translate(e){n(((t,n,o)=>{const a=e.destination,i=e.duration,s=!!e.autoRotate;let l=Number(e.rotate)||0,c=0;"getRotation"in r&&(c=r.getRotation());const u=r.getPosition(),p=new n.LatLng(a.latitude,a.longitude),d=n.geometry.spherical.computeDistanceBetween(u,p)/1e3/(("number"==typeof i?i:1e3)/36e5),f=n.event||n.Event,h=f.addListener(r,"moving",(e=>{const t=e.latLng,n=r.label;n&&n.setPosition(t);const o=r.callout;o&&o.setPosition(t)})),g=f.addListener(r,"moveend",(()=>{g.remove(),h.remove(),r.lastPosition=u,r.setPosition(p);const t=r.label;t&&t.setPosition(p);const n=r.callout;n&&n.setPosition(p);const o=e.animationEnd;B(o)&&o()}));let m=0;s&&(r.lastPosition&&(m=n.geometry.spherical.computeHeading(r.lastPosition,u)),l=n.geometry.spherical.computeHeading(u,p)-m),"setRotation"in r&&r.setRotation(c+l),"moveTo"in r?r.moveTo(p,d):(r.setPosition(p),f.trigger(r,"moveend",{}))}))}};e(a),Er((()=>o(a)))}return Er((function(){r&&(r.label&&"setMap"in r.label&&r.label.setMap(null),r.callout&&a(r.callout),r.setMap(null))})),()=>null}});function Py(e){if(!e)return{r:0,g:0,b:0,a:0};let t=e.slice(1);const n=t.length;if(![3,4,6,8].includes(n))return{r:0,g:0,b:0,a:0};3!==n&&4!==n||(t=t.replace(/(\w{1})/g,"$1$1"));let[o,r,a,i]=t.match(/(\w{2})/g);const s=parseInt(o,16),l=parseInt(r,16),c=parseInt(a,16);return i?{r:s,g:l,b:c,a:(`0x100${i}`-65536)/255}:{r:s,g:l,b:c,a:1}}const Ly={points:{type:Array,require:!0},color:{type:String,default:"#000000"},width:{type:[Number,String],default:""},dottedLine:{type:[Boolean,String],default:!1},arrowLine:{type:[Boolean,String],default:!1},arrowIconPath:{type:String,default:""},borderColor:{type:String,default:"#000000"},borderWidth:{type:[Number,String],default:""},colorList:{type:Array,default:()=>[]},level:{type:String,default:""}},Oy=dp({name:"MapPolyline",props:Ly,setup(e){let t,n;function o(){t&&t.setMap(null),n&&n.setMap(null)}return Ro("onMapReady")(((r,a)=>{function i(e){const o=[];e.points.forEach((e=>{const t=wy()?[e.longitude,e.latitude]:new a.LatLng(e.latitude,e.longitude);o.push(t)}));const i=Number(e.width)||1,{r:s,g:l,b:c,a:u}=Py(e.color),{r:p,g:d,b:f,a:h}=Py(e.borderColor),g={map:r,clickable:!1,path:o,strokeWeight:i,strokeColor:e.color||void 0,strokeDashStyle:e.dottedLine?"dash":"solid"},m=Number(e.borderWidth)||0,y={map:r,clickable:!1,path:o,strokeWeight:i+2*m,strokeColor:e.borderColor||void 0,strokeDashStyle:e.dottedLine?"dash":"solid"};"Color"in a?(g.strokeColor=new a.Color(s,l,c,u),y.strokeColor=new a.Color(p,d,f,h)):(g.strokeColor=`rgb(${s}, ${l}, ${c})`,g.strokeOpacity=u,y.strokeColor=`rgb(${p}, ${d}, ${f})`,y.strokeOpacity=h),m&&(n=new a.Polyline(y)),t=new a.Polyline(g)}i(e),zo(e,(function(e){o(),i(e)}))})),Er(o),()=>null}}),Iy=dp({name:"MapCircle",props:{latitude:{type:[Number,String],require:!0},longitude:{type:[Number,String],require:!0},color:{type:String,default:"#000000"},fillColor:{type:String,default:"#00000000"},radius:{type:[Number,String],require:!0},strokeWidth:{type:[Number,String],default:""},level:{type:String,default:""}},setup(e){let t;function n(){t&&t.setMap(null)}return Ro("onMapReady")(((o,r)=>{function a(e){const n=wy()?[e.longitude,e.latitude]:new r.LatLng(e.latitude,e.longitude),a={map:o,center:n,clickable:!1,radius:e.radius,strokeWeight:Number(e.strokeWidth)||1,strokeDashStyle:"solid"};if(wy())a.strokeColor=e.color,a.fillColor=e.fillColor||"#000",a.fillOpacity=1;else{const{r:t,g:n,b:o,a:i}=Py(e.fillColor),{r:s,g:l,b:c,a:u}=Py(e.color);"Color"in r?(a.fillColor=new r.Color(t,n,o,i),a.strokeColor=new r.Color(s,l,c,u)):(a.fillColor=`rgb(${t}, ${n}, ${o})`,a.fillOpacity=i,a.strokeColor=`rgb(${s}, ${l}, ${c})`,a.strokeOpacity=u)}t=new r.Circle(a),wy()&&o.add(t)}a(e),zo(e,(function(e){n(),a(e)}))})),Er(n),()=>null}}),My={id:{type:[Number,String],default:""},position:{type:Object,required:!0},iconPath:{type:String,required:!0},clickable:{type:[Boolean,String],default:""},trigger:{type:Function,required:!0}},By=dp({name:"MapControl",props:My,setup(e){const t=pi((()=>Ep(e.iconPath))),n=pi((()=>{let t=`top:${e.position.top||0}px;left:${e.position.left||0}px;`;return e.position.width&&(t+=`width:${e.position.width}px;`),e.position.height&&(t+=`height:${e.position.height}px;`),t})),o=t=>{e.clickable&&e.trigger("controltap",t,{controlId:e.id})};return()=>$a("div",{class:"uni-map-control"},[$a("img",{src:t.value,style:n.value,class:"uni-map-control-icon",onClick:o},null,12,["src","onClick"])])}}),jy=Ad("makePhoneCall",(({phoneNumber:e},{resolve:t})=>(window.location.href=`tel:${e}`,t()))),Ny="__DC_STAT_UUID",Ry=navigator.cookieEnabled&&(window.localStorage||window.sessionStorage)||{};let Dy;function Fy(){if(Dy=Dy||Ry[Ny],!Dy){Dy=Date.now()+""+Math.floor(1e7*Math.random());try{Ry[Ny]=Dy}catch(e){}}return Dy}function zy(){if(!0!==__uniConfig.darkmode)return j(__uniConfig.darkmode)?__uniConfig.darkmode:"light";try{return window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}catch(e){return"light"}}function Vy(){let e,t="0",n="",o="phone";const r=navigator.language;if(Cp){e="iOS";const o=Sp.match(/OS\s([\w_]+)\slike/);o&&(t=o[1].replace(/_/g,"."));const r=Sp.match(/\(([a-zA-Z]+);/);r&&(n=r[1])}else if(kp){e="Android";const o=Sp.match(/Android[\s/]([\w\.]+)[;\s]/);o&&(t=o[1]);const r=Sp.match(/\((.+?)\)/),a=r?r[1].split(";"):Sp.split(" "),i=[/\bAndroid\b/i,/\bLinux\b/i,/\bU\b/i,/^\s?[a-z][a-z]$/i,/^\s?[a-z][a-z]-[a-z][a-z]$/i,/\bwv\b/i,/\/[\d\.,]+$/,/^\s?[\d\.,]+$/,/\bBrowser\b/i,/\bMobile\b/i];for(let e=0;e=u&&n>=u&&t{const s=function(e){const t=[];return Object.keys(e).forEach((r=>{t.push.apply(t,e[r])})),t}(e);m(s,r,(function(e){return n(e),e.length?i({errors:e,fields:p(e)}):t()}))}));return t.catch((e=>e)),t}let i=t.firstFields||[];!0===i&&(i=Object.keys(e));const s=Object.keys(e),o=s.length;let a=0;const u=[],l=new Promise(((t,l)=>{const f=function(e){if(u.push.apply(u,e),a++,a===o)return n(u),u.length?l({errors:u,fields:p(u)}):t()};s.length||(n(u),t()),s.forEach((t=>{const n=e[t];-1!==i.indexOf(t)?m(n,r,f):function(e,t,r){const n=[];let i=0;const s=e.length;function o(e){n.push.apply(n,e),i++,i===s&&r(n)}e.forEach((e=>{t(e,o)}))}(n,r,f)}))}));return l.catch((e=>e)),l}function b(e){return function(t){return t&&t.message?(t.field=t.field||e.fullField,t):{message:"function"==typeof t?t():t,field:t.field||e.fullField}}}function q(e,t){if(t)for(const r in t)if(t.hasOwnProperty(r)){const n=t[r];"object"==typeof n&&"object"==typeof e[r]?e[r]={...e[r],...n}:e[r]=n}return e}function v(e,t,r,n,i,s){!e.required||r.hasOwnProperty(e.field)&&!y(t,s||e.type)||n.push(h(i.messages.required,e.fullField))}"undefined"!=typeof process&&process.env;const w={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i};var x={integer:function(e){return/^(-)?\d+$/.test(e)},float:function(e){return/^(-)?\d+(\.\d+)?$/.test(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(t){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear},number:function(e){return!isNaN(e)&&"number"==typeof+e},object:function(e){return"object"==typeof e&&!x.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&!!e.match(w.email)&&e.length<255},url:function(e){return"string"==typeof e&&!!e.match(w.url)},hex:function(e){return"string"==typeof e&&!!e.match(w.hex)}};const O="enum";const F={required:v,whitespace:function(e,t,r,n,i){(/^\s+$/.test(t)||""===t)&&n.push(h(i.messages.whitespace,e.fullField))},type:function(e,t,r,n,i){if(e.required&&void 0===t)return void v(e,t,r,n,i);const s=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(s)>-1?x[s](t)||n.push(h(i.messages.types[s],e.fullField,e.type)):s&&typeof t!==e.type&&n.push(h(i.messages.types[s],e.fullField,e.type))},range:function(e,t,r,n,i){const s="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;let l=t,f=null;const d="number"==typeof t,c="string"==typeof t,p=Array.isArray(t);if(d?f="number":c?f="string":p&&(f="array"),!f)return!1;p&&(l=t.length),c&&(l=t.replace(u,"_").length),s?l!==e.len&&n.push(h(i.messages[f].len,e.fullField,e.len)):o&&!a&&l