diff --git a/api/driverapi.js b/api/driverapi.js
index b374a95..b8f115d 100644
--- a/api/driverapi.js
+++ b/api/driverapi.js
@@ -52,6 +52,7 @@ let api = {
readControl_readskylight:'/readControl/readskylight',//通风窗
camera_gethls:'/camera/gethls',//获取摄像头得地址
+ camera_getphonehls:'/camera/getphonehls',//获取摄像头得地址 Copy Copy Copy Copy
readFs_byid:'/readFs/byid',//查看用户施肥机名称信息
diff --git a/pages/timeVideo/timeVideo.vue b/pages/timeVideo/timeVideo.vue
index 6e0d0ef..9826ddb 100644
--- a/pages/timeVideo/timeVideo.vue
+++ b/pages/timeVideo/timeVideo.vue
@@ -17,7 +17,7 @@
{{ time }}
-
+
现场实况
@@ -106,28 +106,44 @@
// })
// },
- toMiniProgram(cameraid,channelid){
- if(cameraid && channelid){
- this.$http({
- url: this.api.camera_gethls,
- method: 'GET',
- data: {
- cameraid,
- channelid
- }
- }).then(res => {
- if (res.code == 200) {
- this.accesstoken = res.data.accesstoken;
- this.src = res.data.ezopen;
+ // toMiniProgram(cameraid,channelid){
+ // if(cameraid && channelid){
+ // this.$http({
+ // url: this.api.camera_gethls,
+ // method: 'GET',
+ // data: {
+ // cameraid,
+ // channelid
+ // }
+ // }).then(res => {
+ // if (res.code == 200) {
+ // this.accesstoken = res.data.accesstoken;
+ // this.src = res.data.ezopen;
- uni.navigateToMiniProgram({
- appId: 'wxf2b3a0262975d8c2',
- path: 'pages/live/live?accessToken=' + this.accesstoken + '&deviceSerial=' + cameraid + '&channelNo=' + channelid,
- success(res) {
- console.log(res);
- }
- })
- }
+ // uni.navigateToMiniProgram({
+ // appId: 'wxf2b3a0262975d8c2',
+ // path: 'pages/live/live?accessToken=' + this.accesstoken + '&deviceSerial=' + cameraid + '&channelNo=' + channelid,
+ // success(res) {
+ // console.log(res);
+ // }
+ // })
+ // }
+ // })
+ // }else{
+ // uni.showToast({
+ // icon:'error',
+ // title: '暂无监控数据',
+ // duration: 2000
+ // });
+ // }
+
+
+ // },
+
+ toVideoLive(cameraSerialNumber,cameraChannelNumber) {
+ if(cameraSerialNumber && cameraChannelNumber){
+ uni.navigateTo({
+ url: '/pages/videoLive/videoLive?cameraSerialNumber=' + cameraSerialNumber + '&cameraChannelNumber=' + cameraChannelNumber
})
}else{
uni.showToast({
@@ -136,23 +152,7 @@
duration: 2000
});
}
-
-
},
-
- // toVideoLive(cameraSerialNumber,cameraChannelNumber) {
- // if(cameraSerialNumber && cameraChannelNumber){
- // uni.navigateTo({
- // url: '/pages/videoLive/videoLive?cameraSerialNumber=' + cameraSerialNumber + '&cameraChannelNumber=' + cameraChannelNumber
- // })
- // }else{
- // uni.showToast({
- // icon:'none',
- // title: '暂无监控数据',
- // duration: 2000
- // });
- // }
- // },
getCurrentTime() {
const now = new Date();
diff --git a/pages/videoLive/videoLive.vue b/pages/videoLive/videoLive.vue
index b2160bc..d2533f9 100644
--- a/pages/videoLive/videoLive.vue
+++ b/pages/videoLive/videoLive.vue
@@ -5,8 +5,8 @@
-
-
+
+
@@ -82,27 +82,16 @@
};
},
onLoad(options) {
- console.log(options,'00');
+ // console.log(options,'00');
this.cameraSerialNumber = options.cameraSerialNumber;
this.cameraChannelNumber = options.cameraChannelNumber
- // this.getVideoData(this.cameraSerialNumber, this.cameraChannelNumber)
-
- // let that = this;
- // let livePlayerContext = uni.createLivePlayerContext('myVideo');
- // 播放直播
- // livePlayerContext.play();
- // 监听直播播放结束事件
- // livePlayerContext.onEnded(function () {
- // console.log('直播播放结束');
- // // 暂停直播
- // livePlayerContext.pause();
- // });
+ this.getVideoData(this.cameraSerialNumber, this.cameraChannelNumber)
},
methods:{
// 获取摄像头得地址
getVideoData(cameraid, channelid) {
this.$http({
- url: this.api.camera_gethls,
+ url: this.api.camera_getphonehls,
method: 'GET',
data: {
cameraid,
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
index 98e1e35..cfb67ed 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/wx.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/global.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/interopRequireDefault.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/slicedToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithHoles.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableRest.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/defineProperty.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPropertyKey.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/typeof.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPrimitive.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/construct.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/setPrototypeOf.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toConsumableArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableSpread.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/classCallCheck.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/createClass.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","uni-app:///node_modules/uview-ui/index.js","uni-app:///node_modules/uview-ui/libs/mixin/mixin.js","uni-app:///node_modules/uview-ui/libs/request/index.js","uni-app:///node_modules/uview-ui/libs/function/deepMerge.js","uni-app:///node_modules/uview-ui/libs/function/deepClone.js","uni-app:///node_modules/uview-ui/libs/function/test.js","uni-app:///node_modules/uview-ui/libs/function/queryParams.js","uni-app:///node_modules/uview-ui/libs/function/route.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/asyncToGenerator.js","uni-app:///node_modules/uview-ui/libs/function/timeFormat.js","uni-app:///node_modules/uview-ui/libs/function/timeFrom.js","uni-app:///node_modules/uview-ui/libs/function/colorGradient.js","uni-app:///node_modules/uview-ui/libs/function/guid.js","uni-app:///node_modules/uview-ui/libs/function/color.js","uni-app:///node_modules/uview-ui/libs/function/type2icon.js","uni-app:///node_modules/uview-ui/libs/function/randomArray.js","uni-app:///node_modules/uview-ui/libs/function/addUnit.js","uni-app:///node_modules/uview-ui/libs/function/random.js","uni-app:///node_modules/uview-ui/libs/function/trim.js","uni-app:///node_modules/uview-ui/libs/function/toast.js","uni-app:///node_modules/uview-ui/libs/function/getParent.js","uni-app:///node_modules/uview-ui/libs/function/$parent.js","uni-app:///node_modules/uview-ui/libs/function/sys.js","uni-app:///node_modules/uview-ui/libs/function/debounce.js","uni-app:///node_modules/uview-ui/libs/function/throttle.js","uni-app:///node_modules/uview-ui/libs/config/config.js","uni-app:///node_modules/uview-ui/libs/config/zIndex.js","uni-app:///uni.promisify.adaptor.js","uni-app:///mixins/share.js","uni-app:///api/driverapi.js","uni-app:///api/commonVariable.js","uni-app:///api/nvuerequest.js","uni-app:///node_modules/uview-ui/libs/util/emitter.js","uni-app:///node_modules/uview-ui/libs/util/async-validator.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/node-libs-browser/mock/process.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/path-browserify/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/assertThisInitialized.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/inherits.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/getPrototypeOf.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeFunction.js","uni-app:///pages.json","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","atob","str","String","replace","test","Error","slice","length","bitmap","result","r1","r2","i","charAt","fromCharCode","b64DecodeUnicode","decodeURIComponent","split","map","c","charCodeAt","toString","getCurrentUserInfo","token","wx","getStorageSync","tokenArr","uid","role","permission","tokenExpired","userInfo","JSON","parse","error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","assign","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","locale","normalizeLocale","language","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","t","i18nMixin","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","deviceId","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","getUniEmitter","ctx","$on","arguments","$off","$emit","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","cid","cidErrMsg","enabled","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","$children","childVm","$scope","_$vueId","parentVm","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","canIUseApi","apiName","uni","Proxy","uni$1","_interopRequireDefault","__esModule","module","exports","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","arrayLikeToArray","_unsupportedIterableToArray","o","minLen","n","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","_toPropertyKey","_toPrimitive","input","hint","prim","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","bind","a","Constructor","Function","instance","_setPrototypeOf","p","_isNativeReflectConstruct","sham","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","f","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","_defineProperties","descriptor","_createClass","protoProps","staticProps","wranning","$u","queryParams","timeFormat","date","timeFrom","colorGradient","colorToRgba","guid","color","sys","os","type2icon","randomArray","http","post","put","hexToRgb","rgbToHex","deepClone","deepMerge","getParent","addUnit","toast","config","zIndex","debounce","throttle","install","openShare","mpShare","timestamp","getRect","$uGetRect","all","createSelectorQuery","in","boundingClientRect","rect","exec","getParentData","parentName","parentData","preventEvent","onReachBottom","beforeDestroy","array","children","childrenList","child","Request","baseUrl","header","dataType","responseType","showLoading","loadingText","loadingTime","timer","originalData","loadingMask","request","response","customConfig","tmpConfig","interceptorRequest","hideLoading","clearTimeout","resInterceptors","statusCode","validate","setTimeout","mask","source","prop","NaN","email","mobile","dateISO","digits","idCard","carNo","xreg","creg","amount","chinese","reg","letter","enOrNum","contains","range","rangeLength","landline","empty","jsonString","object","code","RegExp","isEmpty","isPrefix","arrayFormat","prefix","_result","_value","commaStr","Router","animationType","animationDuration","intercept","addRootPath","mergeConfig","mixinParam","routeIntercept","isNext","openPage","navigateTo","switchTab","reLaunch","navigateBack","runtime","_regeneratorRuntime","Op","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","padStart","maxLength","fillString","fillLength","times","ceil","dateTime","fmt","opt","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","k","tips","startColor","endColor","step","startRGB","startR","startG","startB","endRGB","endR","endG","endB","sR","sG","sB","colorArr","hex","round","sColor","sColorNew","sColorChange","rgb","_this","aColor","strHex","aNum","numHex","alpha","firstU","radix","chars","uuid","r","shift","primary","primaryDark","primaryDisabled","primaryLight","bgColor","infoDark","infoDisabled","infoLight","warning","warningDark","warningDisabled","warningLight","errorDark","errorDisabled","errorLight","successDark","successDisabled","successLight","mainColor","contentColor","tipsColor","lightColor","borderColor","fill","iconName","unit","validation","min","max","gab","pos","duration","showToast","icon","timeout","func","wait","immediate","callNow","flag","noNetwork","popup","navbar","topTips","sticky","indexListSticky","onShareTimeline","routes","curRoute","onShareAppMessage","variable","user_login","selFs_time","user_logout","user_upload","update_user","sel_user","getFs_rtdata","label","countType","whatType","mapKey","webKey","wxMapKey","socket","myRequest","removeStorage","stopPullDownRefresh","broadcast","componentName","eventName","dispatch","$root","_extends","formatRegExp","window","document","errors","convertFieldsError","fields","field","_len","_key","isNativeStringType","isEmptyValue","asyncParallelArray","results","total","arrLength","count","asyncSerialArray","original","flattenObjArr","objArr","asyncMap","first","_pending","flattenArr","firstFields","objArrKeys","objArrLength","pending","complementError","rule","oe","fullField","s","required","whitespace","pattern","types","integer","float","regexp","getTime","getYear","custom","ruleType","spRegexp","num","ENUM","pattern$1","lastIndex","mismatch","_pattern","rules","string","_boolean","floatFn","ENUM$1","enumerable$1","pattern$2","dateObject","required$1","type$1","any","validators","newMessages","invalid","clone","cloned","Schema","_messages","z","source_","oc","_errors","messages$1","series","transform","validator","getValidationMethod","getType","errorFields","doIt","deep","defaultField","addFullfield","schema","cb","suppressWarning","fieldsSchema","fieldSchema","errs","finalErrors","asyncValidator","messageIndex","register","lib","Base","mixIn","init","$super","WordArray","words","sigBytes","clamp","enc","Hex","u","Latin1","h","Utf8","escape","unescape","l","BufferedBlockAlgorithm","_data","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","d","HMAC","algo","abs","sin","MD5","_hash","g","m","y","w","I","S","b","A","P","T","C","O","HmacMD5","_hasher","_oKey","_iKey","Base64","_map","_reverseMap","createPromise","retryRule","status","needRetry","appid","E","L","_globalUniCloudObj","R","U","N","D","M","reduce","q","F","K","j","$","B","W","H","J","G","V","Y","Q","X","Z","ee","te","errCode","errSubject","subject","cause","requestId","toJson","ne","uploadFile","setStorageSync","removeStorageSync","clearStorageSync","se","re","ie","ae","ce","channel","ue","LOCALE","PLATFORM","OS","APPID","DEVICEID","he","sign","wrappedRequest","toBase64","le","endpoint","spaceId","requestUrl","envType","accessTokenKey","adapter","_getAccessTokenPromiseHub","requestAuth","setupRequest","accessToken","setAccessToken","requestWrapped","hasAccessToken","getAccessToken","rebuildRequest","clientSecret","functionTarget","functionArgs","formData","filePath","fileType","onUploadProgress","onProgressUpdate","loaded","totalBytesSent","totalBytesExpectedToSend","cloudPath","cloudPathAsRealPath","getOSSUploadOptionsFromPath","filename","fileId","cdnDomain","ossPath","securityToken","accessKeyId","signature","policy","ossCallbackUrl","OSSAccessKeyId","Signature","success_action_status","callbackUrl","callbackBody","callbackBodyType","fileName","uploadFileToOSS","fileID","reportOSSUpload","fileList","tempFileURL","de","signInAnonymously","authorize","getLoginState","auth","customAuth","pe","location","fe","local","none","session","ge","me","sqrt","pow","SHA256","HmacSHA256","ye","we","ve","Ie","Se","be","isMatch","genAdapter","WEB","WX_MP","ke","Ae","Pe","root","tcbObject","Te","localStorage","sessionStorage","Ce","_storage","_persistence","primaryStorage","persistence","accessTokenExpireKey","refreshTokenKey","anonymousUuidKey","loginTypeKey","userInfoKey","getItem","setItem","removeItem","content","xe","Oe","Ee","Le","Re","Ue","_listeners","_listens","Ne","on","De","fire","Me","off","qe","Fe","Ke","je","$e","Be","ANONYMOUS","WECHAT","WECHAT_PUBLIC","WECHAT_OPEN","EMAIL","USERNAME","NULL","We","He","ze","headers","append","Je","seqId","Ge","_reqClass","reqClass","timeoutMsg","restrictedMethods","_cache","_localCache","upload","download","_refreshAccessTokenPromise","_refreshAccessToken","_shouldRefreshAccessTokenHook","removeStore","getStore","refresh_token","send","anonymous_uuid","setRefreshToken","access_token","setStore","access_token_expire","accessTokenExpire","refreshAccessToken","action","dataVersion","FormData","inQuery","search","Ve","Ye","Qe","_request","setLocalUserInfo","Xe","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","username","users","wxOpenId","wxPublicId","hasPrimaryUid","nickName","gender","avatarUrl","province","country","city","Ze","credential","refreshToken","user","loginType","et","updatePersistence","_setAnonymousUUID","refresh","_clearAnonymousUUID","tt","refreshUserInfo","nt","password","st","rt","_onAnonymousConverted","_onLoginTypeChanged","hasLoginState","signIn","_anonymousAuthProvider","linkAndRetrieveDataWithTicket","isRegistered","it","authorization","cosFileId","ot","at","fileid_list","delete_list","ct","fileid","max_age","maxAge","file_list","download_list","ut","download_url","encodeURI","ht","function_name","request_data","response_data","lt","dt","pt","authObj","requestClient","ft","gt","mt","yt","clear","_t","useAdapters","wt","vt","It","St","fileUrl","bt","kt","At","functionName","signHeaderKeys","spaceAppId","signedHeaders","body","secretKey","secretId","accessKey","Authorization","Pt","requestID","Tt","trace_id","Ct","substring","xt","file_id","upload_url","form_data","expire","Ot","Et","clientInfo","uniIdToken","Lt","__dev__","initLocalNetwork","localAddress","localPort","aliyun","tencent","alipay","_callCloudFunction","Rt","Ut","Nt","Dt","Mt","qt","Ft","Kt","jt","secretType","uniCloudIns","clientType","scopedGlobalCache","_systemInfo","platformEncryptData","platformDecryptResult","prepare","platformGetSignOption","_uniCloudOptions","isClientKeyNotFound","forceUpdate","encryptData","decryptResult","$t","Bt","Wt","buffer","Uint8Array","Ht","zt","Jt","Gt","toBytes","fromBytes","Vt","Yt","Qt","Xt","Zt","en","tn","nn","sn","rn","an","cn","un","hn","ln","dn","pn","_prepare","_Ke","_Kd","gn","description","_aes","encrypt","decrypt","mn","_lastCipherblock","yn","segmentSize","_shiftRegister","_lastPrecipher","_lastPrecipherIndex","wn","_counter","setValue","setBytes","MAX_SAFE_INTEGER","vn","_remainingCounter","_remainingCounterIndex","increment","In","AES","Counter","ModeOfOperation","ecb","cbc","cfb","ofb","ctr","utils","utf8","padding","pkcs7","pad","strip","_arrayTest","coerceArray","createArray","copyArray","Sn","base64ToArrayBuffer","arrayBufferToBase64","bn","kn","An","Pn","Tn","Cn","xn","On","En","userEncryptKey","mpWeixinCode","mpWeixinOpenid","isLogin","initPromise","expireTime","getUserCryptoManager","getLatestUserKey","getAccountInfoSync","miniProgram","getUserEncryptKey","encryptKey","iv","verifyClientSign","wxAppId","getWxAppId","simulator","encryptKeyId","Ln","Rn","appUtils","requireNativePlugin","systemInfo","hasClientKey","_hasClientKey","encryptGetClientKeyPayload","callFunction","clientKey","setClientKey","initStatus","getAppClientKey","ensureClientKey","Un","Nn","Dn","accessControl","enable","function","Mn","logPvd","debugLog","log","qn","tcb","extraInfo","formatter","debugInfo","forceRemote","_callLocalFunction","wrapEncryptDataCallFunction","wrapVerifyClientCallFunction","Fn","Kn","_internalType","inspect","__ob__","jn","$n","Bn","Wn","$regexp","flags","$date","toISOString","Hn","$method","zn","prevStage","udb","_database","$db","$param","toJSON","Jn","isAggregate","getNextStageFn","_send","isCommand","getAction","getCommand","command","Gn","$newDb","Vn","Yn","_isJQL","multiCommand","queryList","setResult","dataList","_callback","_uniClient","level","_callbackAuth","_parseResult","uniClient","isJQL","_authCallBacks","_dbCallBacks","_isDefault","$env","Geo","serverDate","Qn","Xn","Zn","TOKEN_INVALID_TOKEN_EXPIRED","TOKEN_INVALID_INVALID_CLIENTID","TOKEN_INVALID","TOKEN_INVALID_WRONG_TOKEN","TOKEN_INVALID_ANONYMOUS_USER","es","ts","ns","needLogin","needLoginPage","notNeedLoginPage","ss","rs","list","some","pagePath","as","uniIdRouter","subPackages","tabBar","loginPage","resToLogin","routerNeedLogin","loginPageInTabBar","cs","us","hs","ls","ds","ps","fs","gs","ms","redirect","ys","abortLoginPageJump","autoToLoginPage","uniIdRedirectUrl","ws","vs","onResponse","Is","offResponse","onNeedLogin","offNeedLogin","needLoginInit","onRefreshToken","offRefreshToken","Ss","bs","ks","As","Ps","tempFiles","lastIndexOf","tempFilePaths","onChooseFile","tempFile","tempFilePath","initChooseAndUploadFile","sizeType","sourceType","extension","chooseImage","camera","compressed","maxDuration","chooseVideo","height","width","chooseFile","chooseMessageFile","Ts","Cs","xs","localdata","spaceInfo","collection","orderby","where","pageData","pageCurrent","pageSize","getcount","gettree","gettreepath","startwith","limitlevel","groupby","groupField","distinct","foreignKey","loadtime","manual","mixinDatacomLoading","mixinDatacomHasMore","mixinDatacomResData","mixinDatacomErrorMessage","mixinDatacomPage","created","onMixinDatacomPropsChange","mixinDatacomEasyGet","getone","mixinDatacomGet","database","groupBy","orderBy","getCount","limitLevel","startWith","getTree","getTreePath","skip","limit","Os","customUI","parseSystemError","loadingOptions","errorOptions","secretMethods","retry","interceptorName","getCallbackArgs","newToken","objectName","showCancel","cancelText","confirmText","showModal","confirm","cancel","Es","Ls","openid","callLoginByWeixin","login","importObject","secureNetworkHandshakeByWeixin","Rs","Us","Ns","Ds","_uniPushMessageCallback","_receivePushMessage","_currentMessageId","_payloadQueue","_appId","_pushClientId","_seqId","emit","_initMessageListener","close","payload","_isUniCloudSSE","messageId","_consumMessage","_parseMessagePayload","_end","_appendMessage","pushClientId","_destroy","addListener","removeListener","Ms","qs","address","servePort","port","initialLaunchType","Fs","_initPromiseHub","Ks","private","js","navigator","userAgent","databaseForJQL","_databaseForJQL","chooseAndUploadFile","mixinDatacom","SSEChannel","initSecureNetworkByWeixin","interceptObject","uniCloud","$s","_assertThisInitialized","ReferenceError","_inherits","subClass","superClass","assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","isNativeFunction","_wrapNativeSuper","Map","has","Wrapper","_isNativeFunction","yAxisWidth","xAxisHeight","rotate","fontSize","fontColor","dataPointShape","linearColor","pieChartLinePadding","pieChartTextPadding","titleFontSize","subtitleFontSize","radarLabelTextMargin","varArgs","deepAssign","obj1","obj2","util","toFixed","isFloat","approximatelyEqual","num1","num2","isSameSign","isSameXCoordinateArea","p1","p2","isCollision","end","start","getH5Offset","changedTouches","offsetX","offsetY","hexValue","opc","rgx","findRange","multiple","calCandleMA","dayArr","nameArr","kdata","seriesTemp","seriesItem","sum","calValidDistance","distance","chartData","dataChartAreaWidth","area","dataChartWidth","eachSpacing","xAxisData","xAxisPoints","mount","widthRatio","validDistance","uevent","trigger","scrollOption","xAxis","scrollPosition","isInAngleRange","angle","startAngle","endAngle","adjust","PI","createCurveControlPoints","points","isNotMiddlePoint","isNotMiddlePointX","pAx","pAy","pBx","pBy","last","ctrA","ctrB","convertCoordinateOrigin","avoidCollision","fixPieSeries","pieSeriesArr","_pieSeries_","oldseries","fillSeries","linearIndex","pointShape","legendShape","fillCustomColor","linearType","customColor","newcolor","chazhi","getDataRange","minData","maxData","minRange","maxRange","measureText","setFontSize","dataCombine","dataCombineStack","getTouches","touches","clientX","pix","pageY","offsetTop","getSeriesDataItem","group","newSeries","indexIsArr","tempSeries","filterSeries","tmpindex","style","disableLegend","getMaxTextListLength","lengthList","getRadarCoordinateSeries","eachAngle","CoordinateSeries","getToolTipData","seriesData","categories","calPoints","filterPoints","textList","titleText","tooltip","offset","getMixToolTipData","getCandleToolTipData","upColor","upFill","downColor","downFill","text1","text2","text3","text4","validCalPoints","findCurrentIndex","currentPoints","spacing","boundaryGap","isInExactChartArea","timePoints","pointValue","pointIndex","minValue","findBarChartCurrentIndex","yAxisPoints","findLegendIndex","legendData","gap","isInExactLegendArea","findRadarChartCurrentIndex","radarData","eachAngleArea","isInExactPieChartArea","radius","fixAngle","atan2","angleList","rangeStart","rangeEnd","findFunnelChartCurrentIndex","funnelData","funnelArea","findWordChartCurrentIndex","wordData","findMapChartCurrentIndex","cData","mapData","tmp","pointToCoordinate","bounds","scale","xoffset","yoffset","poi","geometry","coordinates","isPoiWithinPoly","mercator","findRoseChartCurrentIndex","pieData","getRoseDataPoints","_series_","rose","offsetAngle","_start_","_rose_proportion_","findPieChartCurrentIndex","getPieDataPoints","pie","ring","_proportion_","splitPoints","eachSeries","newPoints","items","connectNulls","calLegendData","wholeWidth","wholeHeight","widthArr","heightArr","legend","margin","shapeWidth","shapeRight","lineHeight","legendList","widthCount","widthCountArr","currentRow","legendText","itemWidth","itemGap","legendWidth","maxHeight","lineNum","temp","maxWidth","calCategoriesData","marginTop","categoriesTextLenth","xitem","maxTextLength","rotateLabel","rotateAngle","tempHeight","enableScroll","scrollShow","disabled","getXAxisTextList","stack","sorted","subitem","rangeSpan","eachRange","splitNumber","calXAxisData","columnstyle","bar","ranges","rangesFormat","xAxisScaleValues","getXAxisPoints","textLength","getRadarDataPoints","radarOption","radar","each","listItem","proportion","cos","_radius_","getFunnelDataPoints","minRadius","dataArr","radiusLength","getArcbarDataPoints","arcbarOption","totalAngle","direction","getGaugeArcbarDataPoints","getGaugeAxisPoints","tempStartAngle","_startAngle_","_endAngle_","getGaugeDataPoints","gaugeOption","pointer","_oldAngle_","oldAngle","oldData","getPieTextMaxLength","textSize","fixColumeData","columnLen","seriesGap","categoryGap","mix","column","fixBarData","fixColumeMeterData","border","fixColumeStackData","indexn","fixBarStackData","spacingValid","dataCount","itemCount","startX","endX","getCandleDataPoints","validHeight","cPoints","indexs","point","getDataPoints","validWidth","xranges","xminRange","xmaxRange","getLineDataPoints","lineOption","animation","getColumnDataPoints","zeroPoints","getMountDataPoints","mountOption","mountWidth","getBarDataPoints","getStackDataPoints","seriesIndex","stackSeries","value0","height0","heightc","y0","getBarStackDataPoints","x0","getYAxisTextList","yData","dataRange","yAxis","calYAxisData","YLength","rangesArr","rangesFormatArr","yAxisWidthArr","tofix","yAxisFontSizes","calibration","yAxisFontSize","calTooltipYAxisData","yAxisData","minAxis","maxVal","minVal","calMarkLineData","yAxisIndex","contextRotate","rotateLock","translate","_rotate_","drawPointShape","shape","beginPath","dataPointShapeType","setStrokeStyle","setFillStyle","background","setLineWidth","moveTo","lineTo","arc","closePath","stroke","drawActivePoint","activeType","drawRingTitle","titlefontSize","subtitlefontSize","subtitle","titleFontColor","subtitleFontColor","titleHeight","subtitleHeight","textWidth","startY","fillText","_textWidth","_startX","_startY","drawPointText","textOffset","textColor","formatVal","setTextAlign","drawColumePointText","Position","labelPosition","drawMountPointText","drawBarPointText","drawGaugeLabel","centerPosition","labelOffset","splitAngle","splitLine","totalNumber","endNumber","startNumber","nowAngle","nowNumber","labelText","labelColor","drawRadarLabel","labelPointShow","posPoint","posPointAxis","labelPointColor","labelPointRadius","labelShow","posRelativeCanvas","drawPieText","lineRadius","textObjectCollection","lastTextObject","seriesConvert","orginX1","orginY1","orginX2","orginY2","orginX3","orginY3","textObject","lineStart","lineEnd","lineStartPoistion","lineEndPoistion","textPosition","curveStartX","textStartX","quadraticCurveTo","drawToolTipSplitLine","toolTipOption","gridType","dashLength","endY","setLineDash","gridColor","xAxisLabel","textX","textY","labelBgColor","toolTipBackground","labelBgOpacity","toolTipOpacity","boxPadding","labelFontColor","drawMarkLine","markLineOption","markLine","lineColor","showLabel","labelFontSize","labelPadding","labelAlign","labelOffsetX","labelOffsetY","bgWidth","bgStartX","bgStartY","drawToolTipHorizentalLine","yAxisLabel","tStartLeft","tStartRight","bgEndX","drawToolTipSplitArea","activeBgColor","activeBgOpacity","activeWidth","drawBarToolTipSplitArea","drawToolTip","showBox","showArrow","showCategory","bgOpacity","borderWidth","borderRadius","borderOpacity","legendShow","legendMarginRight","arrowWidth","isOverRightBorder","toolTipWidth","toolTipHeight","_scrollDistance_","fillRect","setTextBaseline","drawColumnDataPoints","columnOption","meterBorder","meterFillColor","barBorderCircle","barBorderRadius","linearOpacity","colorStop","save","leftNum","rightNum","zeroHeight","tooltipPoints","fillColor","strokeColor","grd","createLinearGradient","addColorStop","r0","r3","dataLabel","restore","drawMountDataPoints","bezierCurveTo","drawBarDataPoints","drawCandleDataPoints","seriesMA","candleOption","average","candle","upLine","downLine","day","leftSpace","rightSpace","splitPointList","startPoint","ctrlPoint","drawAreaDataPoints","areaOption","opacity","addLine","gradient","firstPoint","lastPoint","lineType","drawScatterDataPoints","scatterOption","scatter","drawBubbleDataPoints","bubbleOption","bubble","drawLineDataPoints","onShadow","line","setShadow","drawMixDataPoints","columnIndex","columnLength","addPoint","drawToolTipBridge","horizentalLine","drawXAxis","scrollY","scrollScreenWidth","scrollTotalWidth","scrollWidth","scrollLeft","setLineCap","scrollBackgroundColor","scrollColor","disableGrid","gridEval","maxXAxisListLength","labelCount","ratio","newCategories","cgLength","xAxisFontSize","_xAxisTextAngle_","scrollHeight","truePoints","titleOffsetX","titleOffsetY","axisLine","axisLineColor","drawYAxisGrid","xAxiseachSpacing","TotalWidth","drawYAxis","tStartCenter","textAlign","tmpstrat","gapwidth","showTitle","drawLegend","legendArea","backgroundColor","itemList","listIndex","hiddenColor","fontTrans","drawPieDataPoints","pieOption","activeOpacity","activeRadius","labelWidth","ringWidth","customRadius","centerColor","_pieTextMaxLength_","lineJoin","fillcolor","createCircularGradient","createRadialGradient","innerPieWidth","drawRoseDataPoints","roseOption","drawArcbarDataPoints","lineCap","arcbar","centerX","centerY","drawGaugeDataPoints","fixRadius","childNumber","childWidth","gauge","innerRadius","pieRadius","childAngle","proc","pointerRadius","gradient3","eachCategories","childendX","drawRadarDataPoints","axisLabel","axisLabelTofix","gridCount","coordinateAngle","xr","yr","_loop","startPos","radarDataPoints","stepLength","lonlat2mercator","longitude","latitude","tan","mercator2lonlat","lonlat","atan","getBoundingBox","coords","xMin","xMax","yMin","yMax","coorda","coordinateToPoint","pointY","pointX","isRayIntersectsSegment","s_poi","e_poi","xseg","poly","sinsc","epoly","drawMapDataPoints","mapOption","active","fillOpacity","activeBorderColor","activeFillColor","activeFillOpacity","xScale","yScale","gaosi","centerPoint","centroid","activeTextColor","draw","normalInt","collisionNew","isIn","getWordCloudPoint","tHeight","tWidth","breaknum","Spin","isSpin","areav","drawWordCloudDataPoints","wordOption","autoColors","word","wordCloudData","strokeText","drawFunnelDataPoints","funnelOption","minSize","funnel","seriesNew","drawFunnelText","drawFunnelCenterText","centerText","centerTextSize","centerTextColor","drawCanvas","Timing","easeIn","easeOut","easeInOut","linear","Animation","isStop","timing","delay","createAnimationFrame","timeStamp","requestAnimationFrame","animationFrame","startTimeStamp","_step","onProcess","onAnimationFinish","timingFunction","drawCharts","animationInstance","_calLegendData","legendHeight","_calYAxisData","maxTitleHeight","rightIndex","leftIndex","_calCategoriesData","categoriesData","scrollAlign","offsetLeft","totalWidth","screenWidth","currentOffset","startTouchX","lastMoveTime","clearRect","_drawLineDataPoints","enableMarkLine","_drawScatterDataPoints","_drawBubbleDataPoints","_drawMixDataPoints","_drawColumnDataPoints","_drawMountDataPoints","_drawBarDataPoints","_drawAreaDataPoints","arcbarData","gaugeData","_drawCandleDataPoints","uChartsEvent","events","addEventListener","listener","delEventListener","uCharts","gridSet","canvas2d","config$$1","tempWidth","strokeStyle","lineWidth","font","fillStyle","textBaseline","blur","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","updateData","_getXAxisPoints0","zoom","centerLeft","MaxLeft","dobuleZoom","tcs","clientY","ntcs","xlength","moveCount","cts0","cts1","moveCurrent1","getCurrentDataIndex","moveCurrent2","currentEachSpacing","currentLeft","stopAnimation","_touches$","getLegendDataIndex","touchLegend","showToolTip","_getToolTipData","_getMixToolTipData","scrollStart","scroll","Limit","touchMoveLimit","currMoveTime","_distance","scrollEnd","_scrollOption","formatDateTime","returnType","setTime","minute","second","cfu","category"],"mappings":"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C,OAAO,CAAC,SAAS,CAAC,GAAGD,MAAM,CAACC,OAAO,C;;;;;;;;;;;AClB3G;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,sCAAsC;AACtC,8C;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,sJAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,sJAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,sJAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,sJAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE,SAAS;AACtH;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEe,kEAAG,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC97LnB;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpHA;AAIA;AAqBA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AAEA;AAEA;AAEA;AAEA;AAEA;AAIA;AAEA;AAEA;AAIA;AAEA;AA3EA;;AAEA;AACA;AACA;;AAGA,SAAS6H,QAAQ,CAAC1yB,GAAG,EAAE;EACtB;EACA;EACA;EACA,IAAI+R,IAAsC,EAAE;IAC3CgE,OAAO,CAACC,IAAI,CAAChW,GAAG,CAAC;EAClB;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAoDA,IAAM2yB,EAAE,GAAG;EACVC,WAAW,EAAEA,oBAAW;EACxB3Y,KAAK,EAAEA,cAAK;EACZ4Y,UAAU,EAAEA,mBAAU;EACtBC,IAAI,EAAED,mBAAU;EAAE;EAClBE,QAAQ,EAARA,iBAAQ;EACRC,aAAa,EAAEA,sBAAa,CAACA,aAAa;EAC1CC,WAAW,EAAED,sBAAa,CAACC,WAAW;EACtCC,IAAI,EAAJA,aAAI;EACJC,KAAK,EAALA,cAAK;EACLC,GAAG,EAAHA,QAAG;EACHC,EAAE,EAAFA,OAAE;EACFC,SAAS,E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AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;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,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC;EAACC,EAAE,GAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,CAAC;EAACC,EAAE,GAAC,CAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACxN,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACyN,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAA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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n } else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res, options).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(\r\n wrapperOptions(getApiInterceptorHooks(method), options),\r\n ...params\r\n )\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name) || !isFn(api)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n if (isFn(getApp)) {\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = isFn(getApp) ? getApp() : false;\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n const extraParam = {};\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n args (fromArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n fromArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n fromArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n }\r\n};\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting,\r\n compressImage\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n shareVideoMessage: shareVideoMessage,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector) || [];\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || toSkip(component);\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n const oldKeys = new Set(...Object.keys(refs));\r\n const newKeys = Object.keys(newRefs);\r\n newKeys.forEach(key => {\r\n const oldValue = refs[key];\r\n const newValue = newRefs[key];\r\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n return\r\n }\r\n refs[key] = newValue;\r\n oldKeys.delete(key);\r\n });\r\n oldKeys.forEach(key => {\r\n delete refs[key];\r\n });\r\n return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n const refs = {};\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || toSkip(component));\r\n });\r\n return syncRefs(refs, $refs)\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n // 在 Vue 中标记为小程序组件\r\n const IS_MP = '__v_isMPComponent';\r\n Object.defineProperty(component, IS_MP, {\r\n configurable: true,\r\n enumerable: false,\r\n value: true\r\n });\r\n return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n const OB = '__ob__';\r\n const SKIP = '__v_skip';\r\n if (isObject(obj) && Object.isExtensible(obj)) {\r\n // 避免被 @vue/composition-api 观测\r\n Object.defineProperty(obj, OB, {\r\n configurable: true,\r\n enumerable: false,\r\n value: {\r\n [SKIP]: true\r\n }\r\n });\r\n }\r\n return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n event = customize(event);\r\n } else {\r\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n const newEvent = customize(event);\r\n if (newEvent !== event) {\r\n oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n }\r\n }\r\n return oldTriggerEvent.apply(this, [event, ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n options[name] = function (...args) {\r\n markMPComponent(this);\r\n initTriggerEvent(this);\r\n if (oldHook) {\r\n return oldHook.apply(this, args)\r\n }\r\n };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n hooks.push(name);\r\n }\r\n });\r\n }\r\n return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) { }\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) { }\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n // fixed 用户直接触发 mpInstance.triggerEvent\r\n const __args__ = isPlainObject(event.detail)\r\n ? event.detail.__args__ || [event.detail]\r\n : [event.detail];\r\n\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return __args__\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n function currentId (fn) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n fn(vueId);\r\n }\r\n }\r\n\r\n Vue.prototype.$hasSSP = function (vueId) {\r\n const slot = center[vueId];\r\n if (!slot) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return slot\r\n };\r\n\r\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n const slot = center[vueId];\r\n if (slot) {\r\n const params = slot[name] || [];\r\n if (needAll) {\r\n return params\r\n }\r\n return params[0]\r\n }\r\n };\r\n\r\n Vue.prototype.$setSSP = function (name, value) {\r\n let index = 0;\r\n currentId.call(this, vueId => {\r\n const slot = center[vueId];\r\n const params = slot[name] = slot[name] || [];\r\n params.push(value);\r\n index = params.length - 1;\r\n });\r\n return index\r\n };\r\n\r\n Vue.prototype.$initSSP = function () {\r\n currentId.call(this, vueId => {\r\n center[vueId] = {};\r\n });\r\n };\r\n\r\n Vue.prototype.$callSSP = function () {\r\n currentId.call(this, vueId => {\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n });\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (this.mpType === 'page' && typeof getApp === 'function') { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n initUnknownHooks(appOptions, vm.$options);\r\n\r\n return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}, needVueOptions) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (needVueOptions) {\r\n return [componentOptions, vueOptions, VueComponent]\r\n }\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n {\r\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n }\r\n {\r\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n }\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, extraApi[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. , , v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page\n if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){\n (slots['page'] || (slots['page'] = [])).push(child);\n }else{\n (slots.default || (slots.default = [])).push(child);\n }\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i, i, i); // fixed by xxxxxx\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i, i); // fixed by xxxxxx\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering \n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n // fixed by xxxxxx app-plus scopedSlot\n nodes = scopedSlotFn(props, this, props._i) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n callHook(componentInstance, 'onServiceCreated');\n callHook(componentInstance, 'onServiceAttached');\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n \n // fixed by xxxxxx update properties(mp runtime)\n vm._$updateProperties && vm._$updateProperties(vm);\n \n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n {\n if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn\n return\n }\n //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n if(\n key === 'value' && \n Array.isArray(vm.$options.behaviors) &&\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\n ){\n return\n }\n if(vm._getFormData){\n return\n }\n var $parent = vm.$parent;\n while($parent){\n if($parent.__next_tick_pending){\n return \n }\n $parent = $parent.$parent;\n }\n }\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.SharedObject.target) {// fixed by xxxxxx\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n !vm._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\nvar NULLTYPE = '[object Null]';\nvar UNDEFINEDTYPE = '[object Undefined]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n var result = {};\n syncKeys(current, pre);\n _diff(current, pre, '', result);\n return result\n}\n\nfunction syncKeys(current, pre) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n if(Object.keys(current).length >= Object.keys(pre).length){\n for (var key in pre) {\n var currentValue = current[key];\n if (currentValue === undefined) {\n current[key] = null;\n } else {\n syncKeys(currentValue, pre[key]);\n }\n }\n }\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n if (current.length >= pre.length) {\n pre.forEach(function (item, index) {\n syncKeys(current[index], item);\n });\n }\n }\n}\n\nfunction nullOrUndefined(currentType, preType) {\n if(\n (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) && \n (preType === NULLTYPE || preType === UNDEFINEDTYPE)\n ) {\n return false\n }\n return true\n}\n\nfunction _diff(current, pre, path, result) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE) {\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n setResult(result, path, current);\n } else {\n var loop = function ( key ) {\n var currentValue = current[key];\n var preValue = pre[key];\n var currentType = type(currentValue);\n var preType = type(preValue);\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n }\n } else if (currentType == ARRAYTYPE) {\n if (preType != ARRAYTYPE) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n if (currentValue.length < preValue.length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n currentValue.forEach(function (item, index) {\n _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n });\n }\n }\n } else if (currentType == OBJECTTYPE) {\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n for (var subKey in currentValue) {\n _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n }\n }\n }\n };\n\n for (var key in current) loop( key );\n }\n } else if (rootCurrentType == ARRAYTYPE) {\n if (rootPreType != ARRAYTYPE) {\n setResult(result, path, current);\n } else {\n if (current.length < pre.length) {\n setResult(result, path, current);\n } else {\n current.forEach(function (item, index) {\n _diff(item, pre[index], path + '[' + index + ']', result);\n });\n }\n }\n } else {\n setResult(result, path, current);\n }\n}\n\nfunction setResult(result, k, v) {\n // if (type(v) != FUNCTIONTYPE) {\n result[k] = v;\n // }\n}\n\nfunction type(obj) {\n return Object.prototype.toString.call(obj)\n}\n\n/* */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n var mpInstance = vm.$scope;\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n }\r\n var copies = vm.__next_tick_callbacks.slice(0);\r\n vm.__next_tick_callbacks.length = 0;\r\n for (var i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n //2.nextTick 之前存在 render watcher\r\n if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n if(process.env.VUE_APP_DEBUG){\n var mpInstance = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n ']:nextVueTick');\n }\r\n return nextTick(cb, vm)\r\n }else{\n if(process.env.VUE_APP_DEBUG){\n var mpInstance$1 = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n ']:nextMPTick');\n }\n }\r\n var _resolve;\r\n if (!vm.__next_tick_callbacks) {\r\n vm.__next_tick_callbacks = [];\r\n }\r\n vm.__next_tick_callbacks.push(function () {\r\n if (cb) {\r\n try {\r\n cb.call(vm);\r\n } catch (e) {\r\n handleError(e, vm, 'nextTick');\r\n }\r\n } else if (_resolve) {\r\n _resolve(vm);\r\n }\r\n });\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(function (resolve) {\r\n _resolve = resolve;\r\n })\r\n }\r\n}\n\n/* */\r\n\r\nfunction clearInstance(key, value) {\r\n // 简易去除 Vue 和小程序组件实例\r\n if (value) {\r\n if (value._isVue || value.__v_isMPComponent) {\r\n return {}\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction cloneWithData(vm) {\r\n // 确保当前 vm 所有数据被同步\r\n var ret = Object.create(null);\r\n var dataKeys = [].concat(\r\n Object.keys(vm._data || {}),\r\n Object.keys(vm._computedWatchers || {}));\r\n\r\n dataKeys.reduce(function(ret, key) {\r\n ret[key] = vm[key];\r\n return ret\r\n }, ret);\r\n\r\n // vue-composition-api\r\n var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;\r\n var rawBindings = compositionApiState && compositionApiState.rawBindings;\r\n if (rawBindings) {\r\n Object.keys(rawBindings).forEach(function (key) {\r\n ret[key] = vm[key];\r\n });\r\n }\r\n\r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret, clearInstance))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err, vm, info) {\r\n Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\r\n console.error(err);\r\n /* eslint-disable no-undef */\r\n var app = typeof getApp === 'function' && getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];\r\n if (triggerEvent) {\r\n try {\r\n triggerEvent.call(this.$scope, event, {\r\n __args__: toArray(arguments, 1)\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n return oldEmit.apply(this, arguments)\r\n };\r\n\r\n Vue.prototype.$nextTick = function(fn) {\r\n return nextTick$1(this, fn)\r\n };\r\n\r\n MP_METHODS.forEach(function (method) {\r\n Vue.prototype[method] = function(args) {\r\n if (this.$scope && this.$scope[method]) {\r\n return this.$scope[method](args)\r\n }\r\n // mp-alipay\r\n if (typeof my === 'undefined') {\r\n return\r\n }\r\n if (method === 'createSelectorQuery') {\r\n /* eslint-disable no-undef */\r\n return my.createSelectorQuery(args)\r\n } else if (method === 'createIntersectionObserver') {\r\n /* eslint-disable no-undef */\r\n return my.createIntersectionObserver(args)\r\n }\r\n // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n };\r\n });\r\n\r\n Vue.prototype.__init_provide = initProvide;\r\n\r\n Vue.prototype.__init_injections = initInjections;\r\n\r\n Vue.prototype.__call_hook = function(hook, args) {\r\n var vm = this;\r\n // #7573 disable dep collection when invoking lifecycle hooks\r\n pushTarget();\r\n var handlers = vm.$options[hook];\r\n var info = hook + \" hook\";\r\n var ret;\r\n if (handlers) {\r\n for (var i = 0, j = handlers.length; i < j; i++) {\r\n ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n }\r\n }\r\n if (vm._hasHookEvent) {\r\n vm.$emit('hook:' + hook, args);\r\n }\r\n popTarget();\r\n return ret\r\n };\r\n\r\n Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n if (Array.isArray(modifiers)) {\r\n if (modifiers.indexOf('trim') !== -1) {\r\n value = value.trim();\r\n }\r\n if (modifiers.indexOf('number') !== -1) {\r\n value = this._n(value);\r\n }\r\n }\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__set_sync = function(target, key, value) {\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__get_orig = function(item) {\r\n if (isPlainObject(item)) {\r\n return item['$orig'] || item\r\n }\r\n return item\r\n };\r\n\r\n Vue.prototype.__get_value = function(dataPath, target) {\r\n return getTarget(target || this, dataPath)\r\n };\r\n\r\n\r\n Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n return renderClass(staticClass, dynamicClass)\r\n };\r\n\r\n Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n if (!dynamicStyle && !staticStyle) {\r\n return ''\r\n }\r\n var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n };\r\n\r\n Vue.prototype.__map = function(val, iteratee) {\r\n //TODO 暂不考虑 string\r\n var ret, i, l, keys, key;\r\n if (Array.isArray(val)) {\r\n ret = new Array(val.length);\r\n for (i = 0, l = val.length; i < l; i++) {\r\n ret[i] = iteratee(val[i], i);\r\n }\r\n return ret\r\n } else if (isObject(val)) {\r\n keys = Object.keys(val);\r\n ret = Object.create(null);\r\n for (i = 0, l = keys.length; i < l; i++) {\r\n key = keys[i];\r\n ret[key] = iteratee(val[key], key, i);\r\n }\r\n return ret\r\n } else if (typeof val === 'number') {\r\n ret = new Array(val);\r\n for (i = 0, l = val; i < l; i++) {\r\n // 第一个参数暂时仍和小程序一致\r\n ret[i] = iteratee(i, i);\r\n }\r\n return ret\r\n }\r\n return []\r\n };\r\n\r\n}\n\n/* */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n //App\r\n 'onLaunch',\r\n 'onShow',\r\n 'onHide',\r\n 'onUniNViewMessage',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onError',\r\n 'onUnhandledRejection',\r\n //Page\r\n 'onInit',\r\n 'onLoad',\r\n // 'onShow',\r\n 'onReady',\r\n // 'onHide',\r\n 'onUnload',\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onTabItemTap',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\r\n 'onUploadDouyinVideo',\r\n 'onNFCReadMessage',\r\n //Component\r\n // 'onReady', // 兼容旧版本,应该移除该事件\r\n 'onPageShow',\r\n 'onPageHide',\r\n 'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n //fixed vue-class-component\r\n var oldExtend = Vue.extend;\r\n Vue.extend = function(extendOptions) {\r\n extendOptions = extendOptions || {};\r\n\r\n var methods = extendOptions.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(function (methodName) {\r\n if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n extendOptions[methodName] = methods[methodName];\r\n delete methods[methodName];\r\n }\r\n });\r\n }\r\n\r\n return oldExtend.call(this, extendOptions)\r\n };\r\n\r\n var strategies = Vue.config.optionMergeStrategies;\r\n var mergeHook = strategies.created;\r\n LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n strategies[hook] = mergeHook;\r\n });\r\n\r\n Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/* */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n el ,\r\n hydrating \r\n) {\r\n return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/* */\n\nexport default Vue;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode, /* vue-cli only */\n components, // fixed by xxxxxx auto components\n renderjs // fixed by xxxxxx renderjs\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // fixed by xxxxxx auto components\n if (components) {\n if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n if(typeof renderjs.beforeCreate === 'function'){\n\t\t\trenderjs.beforeCreate = [renderjs.beforeCreate]\n\t\t}\n (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n this[renderjs.__module] = this\n });\n (options.mixins || (options.mixins = [])).push(renderjs)\n }\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","// 引入全局mixin\nimport mixin from './libs/mixin/mixin.js'\n// 引入关于是否mixin集成小程序分享的配置\n// import wxshare from './libs/mixin/mpShare.js'\n// 全局挂载引入http相关请求拦截插件\nimport http from './libs/request'\n\nfunction wranning(str) {\n\t// 开发环境进行信息输出,主要是一些报错信息\n\t// 这个环境的来由是在程序编写时候,点击hx编辑器运行调试代码的时候,详见:\n\t// \thttps://uniapp.dcloud.io/frame?id=%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%92%8c%e7%94%9f%e4%ba%a7%e7%8e%af%e5%a2%83\n\tif (process.env.NODE_ENV === 'development') {\n\t\tconsole.warn(str)\n\t}\n}\n\n// 尝试判断在根目录的/store中是否有$u.mixin.js,此文件uView默认为需要挂在到全局的vuex的state变量\n// HX2.6.11版本,放到try中,控制台依然会警告,暂时不用此方式,\n// let vuexStore = {};\n// try {\n// \tvuexStore = require(\"@/store/$u.mixin.js\");\n// } catch (e) {\n// \t//TODO handle the exception\n// }\n\n// post类型对象参数转为get类型url参数\nimport queryParams from './libs/function/queryParams.js'\n// 路由封装\nimport route from './libs/function/route.js'\n// 时间格式化\nimport timeFormat from './libs/function/timeFormat.js'\n// 时间戳格式化,返回多久之前\nimport timeFrom from './libs/function/timeFrom.js'\n// 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制\nimport colorGradient from './libs/function/colorGradient.js'\n// 生成全局唯一guid字符串\nimport guid from './libs/function/guid.js'\n// 主题相关颜色,info|success|warning|primary|default|error,此颜色已在uview.scss中定义,但是为js中也能使用,故也定义一份\nimport color from './libs/function/color.js'\n// 根据type获取图标名称\nimport type2icon from './libs/function/type2icon.js'\n// 打乱数组的顺序\nimport randomArray from './libs/function/randomArray.js'\n// 对象和数组的深度克隆\nimport deepClone from './libs/function/deepClone.js'\n// 对象深度拷贝\nimport deepMerge from './libs/function/deepMerge.js'\n// 添加单位\nimport addUnit from './libs/function/addUnit.js'\n\n// 规则检验\nimport test from './libs/function/test.js'\n// 随机数\nimport random from './libs/function/random.js'\n// 去除空格\nimport trim from './libs/function/trim.js'\n// toast提示,对uni.showToast的封装\nimport toast from './libs/function/toast.js'\n// 获取父组件参数\nimport getParent from './libs/function/getParent.js'\n// 获取整个父组件\nimport $parent from './libs/function/$parent.js'\n// 获取sys()和os()工具方法\n// 获取设备信息,挂载到$u的sys()(system的缩写)属性中,\n// 同时把安卓和ios平台的名称\"ios\"和\"android\"挂到$u.os()中,方便取用\nimport {sys, os} from './libs/function/sys.js'\n// 防抖方法\nimport debounce from './libs/function/debounce.js'\n// 节流方法\nimport throttle from './libs/function/throttle.js'\n\n\n// 配置信息\nimport config from './libs/config/config.js'\n// 各个需要fixed的地方的z-index配置文件\nimport zIndex from './libs/config/zIndex.js'\n\nconst $u = {\n\tqueryParams: queryParams,\n\troute: route,\n\ttimeFormat: timeFormat,\n\tdate: timeFormat, // 另名date\n\ttimeFrom,\n\tcolorGradient: colorGradient.colorGradient,\n\tcolorToRgba: colorGradient.colorToRgba,\n\tguid,\n\tcolor,\n\tsys,\n\tos,\n\ttype2icon,\n\trandomArray,\n\twranning,\n\tget: http.get,\n\tpost: http.post,\n\tput: http.put,\n\t'delete': http.delete,\n\thexToRgb: colorGradient.hexToRgb,\n\trgbToHex: colorGradient.rgbToHex,\n\ttest,\n\trandom,\n\tdeepClone,\n\tdeepMerge,\n\tgetParent,\n\t$parent,\n\taddUnit,\n\ttrim,\n\ttype: ['primary', 'success', 'error', 'warning', 'info'],\n\thttp,\n\ttoast,\n\tconfig, // uView配置信息相关,比如版本号\n\tzIndex,\n\tdebounce,\n\tthrottle,\n}\n\n// $u挂载到uni对象上\nuni.$u = $u\n\nconst install = Vue => {\n\tVue.mixin(mixin) \n\tif (Vue.prototype.openShare) {\n\t\tVue.mixin(mpShare);\n\t}\n\t// Vue.mixin(vuexStore);\n\t// 时间格式化,同时两个名称,date和timeFormat\n\tVue.filter('timeFormat', (timestamp, format) => {\n\t\treturn timeFormat(timestamp, format)\n\t})\n\tVue.filter('date', (timestamp, format) => {\n\t\treturn timeFormat(timestamp, format)\n\t})\n\t// 将多久以前的方法,注入到全局过滤器\n\tVue.filter('timeFrom', (timestamp, format) => {\n\t\treturn timeFrom(timestamp, format)\n\t})\n\tVue.prototype.$u = $u\n}\n\nexport default {\n\tinstall\n}","module.exports = {\n\tdata() {\n\t\treturn {}\n\t},\n\tonLoad() {\n\t\t// getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出\n\t\tthis.$u.getRect = this.$uGetRect\n\t},\n\tmethods: {\n\t\t// 查询节点信息\n\t\t// 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21)\n\t\t// 解决办法为在组件根部再套一个没有任何作用的view元素\n\t\t$uGetRect(selector, all) {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\tuni.createSelectorQuery().\n\t\t\t\tin(this)[all ? 'selectAll' : 'select'](selector)\n\t\t\t\t\t.boundingClientRect(rect => {\n\t\t\t\t\t\tif (all && Array.isArray(rect) && rect.length) {\n\t\t\t\t\t\t\tresolve(rect)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!all && rect) {\n\t\t\t\t\t\t\tresolve(rect)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.exec()\n\t\t\t})\n\t\t},\n\t\tgetParentData(parentName = '') {\n\t\t\t// 避免在created中去定义parent变量\n\t\t\tif(!this.parent) this.parent = false;\n\t\t\t// 这里的本质原理是,通过获取父组件实例(也即u-radio-group的this)\n\t\t\t// 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性\n\t\t\t// 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化\n\t\t\tthis.parent = this.$u.$parent.call(this, parentName);\n\t\t\tif(this.parent) {\n\t\t\t\t// 历遍parentData中的属性,将parent中的同名属性赋值给parentData\n\t\t\t\tObject.keys(this.parentData).map(key => {\n\t\t\t\t\tthis.parentData[key] = this.parent[key];\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// 阻止事件冒泡\n\t\tpreventEvent(e) {\n\t\t\te && e.stopPropagation && e.stopPropagation()\n\t\t}\n\t},\n\tonReachBottom() {\n\t\tuni.$emit('uOnReachBottom')\n\t},\n\tbeforeDestroy() {\n\t\t// 判断当前页面是否存在parent和children,一般在checkbox和checkbox-group父子联动的场景会有此情况\n\t\t// 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱\n\t\tif(this.parent && uni.$u.test.array(this.parent.children)) {\n\t\t\t// 组件销毁时,移除父组件中的children数组中对应的实例\n\t\t\tconst childrenList = this.parent.children\n\t\t\tchildrenList.map((child, index) => {\n\t\t\t\t// 如果相等,则移除\n\t\t\t\tif(child === this) {\n\t\t\t\t\tchildrenList.splice(index, 1)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n}\n","import deepMerge from \"../function/deepMerge\";\nimport validate from \"../function/test\";\nclass Request {\n\t// 设置全局默认配置\n\tsetConfig(customConfig) {\n\t\t// 深度合并对象,否则会造成对象深层属性丢失\n\t\tthis.config = deepMerge(this.config, customConfig);\n\t}\n\n\t// 主要请求部分\n\trequest(options = {}) {\n\t\t// 检查请求拦截\n\t\tif (this.interceptor.request && typeof this.interceptor.request === 'function') {\n\t\t\tlet tmpConfig = {};\n\t\t\tlet interceptorRequest = this.interceptor.request(options);\n\t\t\tif (interceptorRequest === false) {\n\t\t\t\t// 返回一个处于pending状态中的Promise,来取消原promise,避免进入then()回调\n\t\t\t\treturn new Promise(()=>{});\n\t\t\t}\n\t\t\tthis.options = interceptorRequest;\n\t\t}\n\t\toptions.dataType = options.dataType || this.config.dataType;\n\t\toptions.responseType = options.responseType || this.config.responseType;\n\t\toptions.url = options.url || '';\n\t\toptions.params = options.params || {};\n\t\toptions.header = Object.assign({}, this.config.header, options.header);\n\t\toptions.method = options.method || this.config.method;\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\toptions.complete = (response) => {\n\t\t\t\t// 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading)\n\t\t\t\tuni.hideLoading();\n\t\t\t\t// 清除定时器,如果请求回来了,就无需loading\n\t\t\t\tclearTimeout(this.config.timer);\n\t\t\t\tthis.config.timer = null;\n\t\t\t\t// 判断用户对拦截返回数据的要求,如果originalData为true,返回所有的数据(response)到拦截器,否则只返回response.data\n\t\t\t\tif(this.config.originalData) {\n\t\t\t\t\t// 判断是否存在拦截器\n\t\t\t\t\tif (this.interceptor.response && typeof this.interceptor.response === 'function') {\n\t\t\t\t\t\tlet resInterceptors = this.interceptor.response(response);\n\t\t\t\t\t\t// 如果拦截器不返回false,就将拦截器返回的内容给this.$u.post的then回调\n\t\t\t\t\t\tif (resInterceptors !== false) {\n\t\t\t\t\t\t\tresolve(resInterceptors);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// 如果拦截器返回false,意味着拦截器定义者认为返回有问题,直接接入catch回调\n\t\t\t\t\t\t\treject(response);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 如果要求返回原始数据,就算没有拦截器,也返回最原始的数据\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (response.statusCode == 200) {\n\t\t\t\t\t\tif (this.interceptor.response && typeof this.interceptor.response === 'function') {\n\t\t\t\t\t\t\tlet resInterceptors = this.interceptor.response(response.data);\n\t\t\t\t\t\t\tif (resInterceptors !== false) {\n\t\t\t\t\t\t\t\tresolve(resInterceptors);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treject(response.data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// 如果不是返回原始数据(originalData=false),且没有拦截器的情况下,返回纯数据给then回调\n\t\t\t\t\t\t\tresolve(response.data);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 不返回原始数据的情况下,服务器状态码不为200,modal弹框提示\n\t\t\t\t\t\t// if(response.errMsg) {\n\t\t\t\t\t\t// \tuni.showModal({\n\t\t\t\t\t\t// \t\ttitle: response.errMsg\n\t\t\t\t\t\t// \t});\n\t\t\t\t\t\t// }\n\t\t\t\t\t\treject(response)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// 判断用户传递的URL是否/开头,如果不是,加上/,这里使用了uView的test.js验证库的url()方法\n\t\t\toptions.url = validate.url(options.url) ? options.url : (this.config.baseUrl + (options.url.indexOf('/') == 0 ?\n\t\t\t\toptions.url : '/' + options.url));\n\t\t\t\n\t\t\t// 是否显示loading\n\t\t\t// 加一个是否已有timer定时器的判断,否则有两个同时请求的时候,后者会清除前者的定时器id\n\t\t\t// 而没有清除前者的定时器,导致前者超时,一直显示loading\n\t\t\tif(this.config.showLoading && !this.config.timer) {\n\t\t\t\tthis.config.timer = setTimeout(() => {\n\t\t\t\t\tuni.showLoading({\n\t\t\t\t\t\ttitle: this.config.loadingText,\n\t\t\t\t\t\tmask: this.config.loadingMask\n\t\t\t\t\t})\n\t\t\t\t\tthis.config.timer = null;\n\t\t\t\t}, this.config.loadingTime);\n\t\t\t}\n\t\t\tuni.request(options);\n\t\t})\n\t\t// .catch(res => {\n\t\t// \t// 如果返回reject(),不让其进入this.$u.post().then().catch()后面的catct()\n\t\t// \t// 因为很多人都会忘了写后面的catch(),导致报错捕获不到catch\n\t\t// \treturn new Promise(()=>{});\n\t\t// })\n\t}\n\n\tconstructor() {\n\t\tthis.config = {\n\t\t\tbaseUrl: '', // 请求的根域名\n\t\t\t// 默认的请求头\n\t\t\theader: {},\n\t\t\tmethod: 'POST',\n\t\t\t// 设置为json,返回后uni.request会对数据进行一次JSON.parse\n\t\t\tdataType: 'json',\n\t\t\t// 此参数无需处理,因为5+和支付宝小程序不支持,默认为text即可\n\t\t\tresponseType: 'text',\n\t\t\tshowLoading: true, // 是否显示请求中的loading\n\t\t\tloadingText: '请求中...',\n\t\t\tloadingTime: 800, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms\n\t\t\ttimer: null, // 定时器\n\t\t\toriginalData: false, // 是否在拦截器中返回服务端的原始数据,见文档说明\n\t\t\tloadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透\n\t\t}\n\t\n\t\t// 拦截器\n\t\tthis.interceptor = {\n\t\t\t// 请求前的拦截\n\t\t\trequest: null,\n\t\t\t// 请求后的拦截\n\t\t\tresponse: null\n\t\t}\n\n\t\t// get请求\n\t\tthis.get = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl,\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\n\t\t// post请求\n\t\tthis.post = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\turl,\n\t\t\t\tmethod: 'POST',\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\t\t\n\t\t// put请求,不支持支付宝小程序(HX2.6.15)\n\t\tthis.put = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\turl,\n\t\t\t\tmethod: 'PUT',\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\t\t\n\t\t// delete请求,不支持支付宝和头条小程序(HX2.6.15)\n\t\tthis.delete = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\turl,\n\t\t\t\tmethod: 'DELETE',\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\t}\n}\nexport default new Request\n","import deepClone from \"./deepClone\";\n\n// JS对象深度合并\nfunction deepMerge(target = {}, source = {}) {\n\ttarget = deepClone(target);\n\tif (typeof target !== 'object' || typeof source !== 'object') return false;\n\tfor (var prop in source) {\n\t\tif (!source.hasOwnProperty(prop)) continue;\n\t\tif (prop in target) {\n\t\t\tif (typeof target[prop] !== 'object') {\n\t\t\t\ttarget[prop] = source[prop];\n\t\t\t} else {\n\t\t\t\tif (typeof source[prop] !== 'object') {\n\t\t\t\t\ttarget[prop] = source[prop];\n\t\t\t\t} else {\n\t\t\t\t\tif (target[prop].concat && source[prop].concat) {\n\t\t\t\t\t\ttarget[prop] = target[prop].concat(source[prop]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget[prop] = deepMerge(target[prop], source[prop]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\ttarget[prop] = source[prop];\n\t\t}\n\t}\n\treturn target;\n}\n\nexport default deepMerge;","// 判断arr是否为一个数组,返回一个bool值\nfunction isArray (arr) {\n return Object.prototype.toString.call(arr) === '[object Array]';\n}\n\n// 深度克隆\nfunction deepClone (obj) {\n\t// 对常见的“非”值,直接返回原来值\n\tif([null, undefined, NaN, false].includes(obj)) return obj;\n if(typeof obj !== \"object\" && typeof obj !== 'function') {\n\t\t//原始类型直接返回\n return obj;\n }\n var o = isArray(obj) ? [] : {};\n for(let i in obj) {\n if(obj.hasOwnProperty(i)){\n o[i] = typeof obj[i] === \"object\" ? deepClone(obj[i]) : obj[i];\n }\n }\n return o;\n}\n\nexport default deepClone;\n","/**\n * 验证电子邮箱格式\n */\nfunction email(value) {\n\treturn /[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?/.test(value);\n}\n\n/**\n * 验证手机格式\n */\nfunction mobile(value) {\n\treturn /^1[3-9]\\d{9}$/.test(value)\n}\n\n/**\n * 验证URL格式\n */\nfunction url(value) {\n\treturn /http(s)?:\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w-.\\/?%&=]*)?/.test(value)\n}\n\n/**\n * 验证日期格式\n */\nfunction date(value) {\n\treturn !/Invalid|NaN/.test(new Date(value).toString())\n}\n\n/**\n * 验证ISO类型的日期格式\n */\nfunction dateISO(value) {\n\treturn /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)\n}\n\n/**\n * 验证十进制数字\n */\nfunction number(value) {\n\treturn /^[\\+-]?(\\d+\\.?\\d*|\\.\\d+|\\d\\.\\d+e\\+\\d+)$/.test(value)\n}\n\n/**\n * 验证整数\n */\nfunction digits(value) {\n\treturn /^\\d+$/.test(value)\n}\n\n/**\n * 验证身份证号码\n */\nfunction idCard(value) {\n\treturn /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/.test(\n\t\tvalue)\n}\n\n/**\n * 是否车牌号\n */\nfunction carNo(value) {\n\t// 新能源车牌\n\tconst xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;\n\t// 旧车牌\n\tconst creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;\n\tif (value.length === 7) {\n\t\treturn creg.test(value);\n\t} else if (value.length === 8) {\n\t\treturn xreg.test(value);\n\t} else {\n\t\treturn false;\n\t}\n}\n\n/**\n * 金额,只允许2位小数\n */\nfunction amount(value) {\n\t//金额,只允许保留两位小数\n\treturn /^[1-9]\\d*(,\\d{3})*(\\.\\d{1,2})?$|^0\\.\\d{1,2}$/.test(value);\n}\n\n/**\n * 中文\n */\nfunction chinese(value) {\n\tlet reg = /^[\\u4e00-\\u9fa5]+$/gi;\n\treturn reg.test(value);\n}\n\n/**\n * 只能输入字母\n */\nfunction letter(value) {\n\treturn /^[a-zA-Z]*$/.test(value);\n}\n\n/**\n * 只能是字母或者数字\n */\nfunction enOrNum(value) {\n\t//英文或者数字\n\tlet reg = /^[0-9a-zA-Z]*$/g;\n\treturn reg.test(value);\n}\n\n/**\n * 验证是否包含某个值\n */\nfunction contains(value, param) {\n\treturn value.indexOf(param) >= 0\n}\n\n/**\n * 验证一个值范围[min, max]\n */\nfunction range(value, param) {\n\treturn value >= param[0] && value <= param[1]\n}\n\n/**\n * 验证一个长度范围[min, max]\n */\nfunction rangeLength(value, param) {\n\treturn value.length >= param[0] && value.length <= param[1]\n}\n\n/**\n * 是否固定电话\n */\nfunction landline(value) {\n\tlet reg = /^\\d{3,4}-\\d{7,8}(-\\d{3,4})?$/;\n\treturn reg.test(value);\n}\n\n/**\n * 判断是否为空\n */\nfunction empty(value) {\n\tswitch (typeof value) {\n\t\tcase 'undefined':\n\t\t\treturn true;\n\t\tcase 'string':\n\t\t\tif (value.replace(/(^[ \\t\\n\\r]*)|([ \\t\\n\\r]*$)/g, '').length == 0) return true;\n\t\t\tbreak;\n\t\tcase 'boolean':\n\t\t\tif (!value) return true;\n\t\t\tbreak;\n\t\tcase 'number':\n\t\t\tif (0 === value || isNaN(value)) return true;\n\t\t\tbreak;\n\t\tcase 'object':\n\t\t\tif (null === value || value.length === 0) return true;\n\t\t\tfor (var i in value) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * 是否json字符串\n */\nfunction jsonString(value) {\n\tif (typeof value == 'string') {\n\t\ttry {\n\t\t\tvar obj = JSON.parse(value);\n\t\t\tif (typeof obj == 'object' && obj) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n}\n\n\n/**\n * 是否数组\n */\nfunction array(value) {\n\tif (typeof Array.isArray === \"function\") {\n\t\treturn Array.isArray(value);\n\t} else {\n\t\treturn Object.prototype.toString.call(value) === \"[object Array]\";\n\t}\n}\n\n/**\n * 是否对象\n */\nfunction object(value) {\n\treturn Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * 是否短信验证码\n */\nfunction code(value, len = 6) {\n\treturn new RegExp(`^\\\\d{${len}}$`).test(value);\n}\n\n\nexport default {\n\temail,\n\tmobile,\n\turl,\n\tdate,\n\tdateISO,\n\tnumber,\n\tdigits,\n\tidCard,\n\tcarNo,\n\tamount,\n\tchinese,\n\tletter,\n\tenOrNum,\n\tcontains,\n\trange,\n\trangeLength,\n\tempty,\n\tisEmpty: empty,\n\tjsonString,\n\tlandline,\n\tobject,\n\tarray,\n\tcode\n}\n","/**\n * 对象转url参数\n * @param {*} data,对象\n * @param {*} isPrefix,是否自动加上\"?\"\n */\nfunction queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') {\n\tlet prefix = isPrefix ? '?' : ''\n\tlet _result = []\n\tif (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets';\n\tfor (let key in data) {\n\t\tlet value = data[key]\n\t\t// 去掉为空的参数\n\t\tif (['', undefined, null].indexOf(value) >= 0) {\n\t\t\tcontinue;\n\t\t}\n\t\t// 如果值为数组,另行处理\n\t\tif (value.constructor === Array) {\n\t\t\t// e.g. {ids: [1, 2, 3]}\n\t\t\tswitch (arrayFormat) {\n\t\t\t\tcase 'indices':\n\t\t\t\t\t// 结果: ids[0]=1&ids[1]=2&ids[2]=3\n\t\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\t\t_result.push(key + '[' + i + ']=' + value[i])\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'brackets':\n\t\t\t\t\t// 结果: ids[]=1&ids[]=2&ids[]=3\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\t_result.push(key + '[]=' + _value)\n\t\t\t\t\t})\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'repeat':\n\t\t\t\t\t// 结果: ids=1&ids=2&ids=3\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\t_result.push(key + '=' + _value)\n\t\t\t\t\t})\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'comma':\n\t\t\t\t\t// 结果: ids=1,2,3\n\t\t\t\t\tlet commaStr = \"\";\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\tcommaStr += (commaStr ? \",\" : \"\") + _value;\n\t\t\t\t\t})\n\t\t\t\t\t_result.push(key + '=' + commaStr)\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\t_result.push(key + '[]=' + _value)\n\t\t\t\t\t})\n\t\t\t}\n\t\t} else {\n\t\t\t_result.push(key + '=' + value)\n\t\t}\n\t}\n\treturn _result.length ? prefix + _result.join('&') : ''\n}\n\nexport default queryParams;\n","/**\n * 路由跳转方法,该方法相对于直接使用uni.xxx的好处是使用更加简单快捷\n * 并且带有路由拦截功能\n */\n\nclass Router {\n\tconstructor() {\n\t\t// 原始属性定义\n\t\tthis.config = {\n\t\t\ttype: 'navigateTo',\n\t\t\turl: '',\n\t\t\tdelta: 1, // navigateBack页面后退时,回退的层数\n\t\t\tparams: {}, // 传递的参数\n\t\t\tanimationType: 'pop-in', // 窗口动画,只在APP有效\n\t\t\tanimationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效\n\t\t\tintercept: false, // 是否需要拦截\n\t\t}\n\t\t// 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文\n\t\t// 这里在构造函数中进行this绑定\n\t\tthis.route = this.route.bind(this)\n\t}\n\n\t// 判断url前面是否有\"/\",如果没有则加上,否则无法跳转\n\taddRootPath(url) {\n\t\treturn url[0] === '/' ? url : `/${url}`\n\t}\n\n\t// 整合路由参数\n\tmixinParam(url, params) {\n\t\turl = url && this.addRootPath(url)\n\t\t\n\t\t// 使用正则匹配,主要依据是判断是否有\"/\",\"?\",\"=\"等,如“/page/index/index?name=mary\"\n\t\t// 如果有url中有get参数,转换后无需带上\"?\"\n\t\tlet query = ''\n\t\tif (/.*\\/.*\\?.*=.*/.test(url)) {\n\t\t\t// object对象转为get类型的参数\n\t\t\tquery = uni.$u.queryParams(params, false);\n\t\t\t// 因为已有get参数,所以后面拼接的参数需要带上\"&\"隔开\n\t\t\treturn url += \"&\" + query\n\t\t} else {\n\t\t\t// 直接拼接参数,因为此处url中没有后面的query参数,也就没有\"?/&\"之类的符号\n\t\t\tquery = uni.$u.queryParams(params);\n\t\t\treturn url += query\n\t\t}\n\t}\n\n\t// 对外的方法名称\n\tasync route(options = {}, params = {}) {\n\t\t// 合并用户的配置和内部的默认配置\n\t\tlet mergeConfig = {}\n\n\t\tif (typeof options === 'string') {\n\t\t\t// 如果options为字符串,则为route(url, params)的形式\n\t\t\tmergeConfig.url = this.mixinParam(options, params)\n\t\t\tmergeConfig.type = 'navigateTo'\n\t\t} else {\n\t\t\tmergeConfig = uni.$u.deepClone(options, this.config)\n\t\t\t// 否则正常使用mergeConfig中的url和params进行拼接\n\t\t\tmergeConfig.url = this.mixinParam(options.url, options.params)\n\t\t}\n\t\t\n\t\tif(params.intercept) {\n\t\t\tthis.config.intercept = params.intercept\n\t\t}\n\t\t// params参数也带给拦截器\n\t\tmergeConfig.params = params\n\t\t// 合并内外部参数\n\t\tmergeConfig = uni.$u.deepMerge(this.config, mergeConfig)\n\t\t// 判断用户是否定义了拦截器\n\t\tif (typeof uni.$u.routeIntercept === 'function') {\n\t\t\t// 定一个promise,根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转\n\t\t\tconst isNext = await new Promise((resolve, reject) => {\n\t\t\t\tuni.$u.routeIntercept(mergeConfig, resolve)\n\t\t\t})\n\t\t\t// 如果isNext为true,则执行路由跳转\n\t\t\tisNext && this.openPage(mergeConfig)\n\t\t} else {\n\t\t\tthis.openPage(mergeConfig)\n\t\t}\n\t}\n\n\t// 执行路由跳转\n\topenPage(config) {\n\t\t// 解构参数\n\t\tconst {\n\t\t\turl,\n\t\t\ttype,\n\t\t\tdelta,\n\t\t\tanimationType,\n\t\t\tanimationDuration\n\t\t} = config\n\t\tif (config.type == 'navigateTo' || config.type == 'to') {\n\t\t\tuni.navigateTo({\n\t\t\t\turl,\n\t\t\t\tanimationType,\n\t\t\t\tanimationDuration\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'redirectTo' || config.type == 'redirect') {\n\t\t\tuni.redirectTo({\n\t\t\t\turl\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'switchTab' || config.type == 'tab') {\n\t\t\tuni.switchTab({\n\t\t\t\turl\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'reLaunch' || config.type == 'launch') {\n\t\t\tuni.reLaunch({\n\t\t\t\turl\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'navigateBack' || config.type == 'back') {\n\t\t\tuni.navigateBack({\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport default (new Router()).route","// TODO(Babel 8): Remove this file.\n\nvar runtime = require('@babel/runtime/helpers/regeneratorRuntime')()\nmodule.exports = runtime\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) {\n keys.push(key);\n }\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序\n// 所以这里做一个兼容polyfill的兼容处理\nif (!String.prototype.padStart) {\n\t// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解\n\tString.prototype.padStart = function(maxLength, fillString = ' ') {\n\t\tif (Object.prototype.toString.call(fillString) !== \"[object String]\") throw new TypeError(\n\t\t\t'fillString must be String')\n\t\tlet str = this\n\t\t// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉\n\t\tif (str.length >= maxLength) return String(str)\n\n\t\tlet fillLength = maxLength - str.length,\n\t\t\ttimes = Math.ceil(fillLength / fillString.length)\n\t\twhile (times >>= 1) {\n\t\t\tfillString += fillString\n\t\t\tif (times === 1) {\n\t\t\t\tfillString += fillString\n\t\t\t}\n\t\t}\n\t\treturn fillString.slice(0, fillLength) + str;\n\t}\n}\n\n// 其他更多是格式化有如下:\n// yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合\nfunction timeFormat(dateTime = null, fmt = 'yyyy-mm-dd') {\n\t// 如果为null,则格式化当前时间\n\tif (!dateTime) dateTime = Number(new Date());\n\t// 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式\n\tif (dateTime.toString().length == 10) dateTime *= 1000;\n\tlet date = new Date(dateTime);\n\tlet ret;\n\tlet opt = {\n\t\t\"y+\": date.getFullYear().toString(), // 年\n\t\t\"m+\": (date.getMonth() + 1).toString(), // 月\n\t\t\"d+\": date.getDate().toString(), // 日\n\t\t\"h+\": date.getHours().toString(), // 时\n\t\t\"M+\": date.getMinutes().toString(), // 分\n\t\t\"s+\": date.getSeconds().toString() // 秒\n\t\t// 有其他格式化字符需求可以继续添加,必须转化成字符串\n\t};\n\tfor (let k in opt) {\n\t\tret = new RegExp(\"(\" + k + \")\").exec(fmt);\n\t\tif (ret) {\n\t\t\tfmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, \"0\")))\n\t\t};\n\t};\n\treturn fmt;\n}\n\nexport default timeFormat\n","import timeFormat from '../../libs/function/timeFormat.js';\n\n/**\n * 时间戳转为多久之前\n * @param String timestamp 时间戳\n * @param String | Boolean format 如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;\n * 如果为布尔值false,无论什么时间,都返回多久以前的格式\n */\nfunction timeFrom(dateTime = null, format = 'yyyy-mm-dd') {\n\t// 如果为null,则格式化当前时间\n\tif (!dateTime) dateTime = Number(new Date());\n\t// 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式\n\tif (dateTime.toString().length == 10) dateTime *= 1000;\n\tlet timestamp = + new Date(Number(dateTime));\n\n\tlet timer = (Number(new Date()) - timestamp) / 1000;\n\t// 如果小于5分钟,则返回\"刚刚\",其他以此类推\n\tlet tips = '';\n\tswitch (true) {\n\t\tcase timer < 300:\n\t\t\ttips = '刚刚';\n\t\t\tbreak;\n\t\tcase timer >= 300 && timer < 3600:\n\t\t\ttips = parseInt(timer / 60) + '分钟前';\n\t\t\tbreak;\n\t\tcase timer >= 3600 && timer < 86400:\n\t\t\ttips = parseInt(timer / 3600) + '小时前';\n\t\t\tbreak;\n\t\tcase timer >= 86400 && timer < 2592000:\n\t\t\ttips = parseInt(timer / 86400) + '天前';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// 如果format为false,则无论什么时间戳,都显示xx之前\n\t\t\tif(format === false) {\n\t\t\t\tif(timer >= 2592000 && timer < 365 * 86400) {\n\t\t\t\t\ttips = parseInt(timer / (86400 * 30)) + '个月前';\n\t\t\t\t} else {\n\t\t\t\t\ttips = parseInt(timer / (86400 * 365)) + '年前';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttips = timeFormat(timestamp, format);\n\t\t\t}\n\t}\n\treturn tips;\n}\n\nexport default timeFrom;\n","/**\n * 求两个颜色之间的渐变值\n * @param {string} startColor 开始的颜色\n * @param {string} endColor 结束的颜色\n * @param {number} step 颜色等分的份额\n * */\nfunction colorGradient(startColor = 'rgb(0, 0, 0)', endColor = 'rgb(255, 255, 255)', step = 10) {\n\tlet startRGB = hexToRgb(startColor, false); //转换为rgb数组模式\n\tlet startR = startRGB[0];\n\tlet startG = startRGB[1];\n\tlet startB = startRGB[2];\n\n\tlet endRGB = hexToRgb(endColor, false);\n\tlet endR = endRGB[0];\n\tlet endG = endRGB[1];\n\tlet endB = endRGB[2];\n\n\tlet sR = (endR - startR) / step; //总差值\n\tlet sG = (endG - startG) / step;\n\tlet sB = (endB - startB) / step;\n\tlet colorArr = [];\n\tfor (let i = 0; i < step; i++) {\n\t\t//计算每一步的hex值 \n\t\tlet hex = rgbToHex('rgb(' + Math.round((sR * i + startR)) + ',' + Math.round((sG * i + startG)) + ',' + Math.round((sB *\n\t\t\ti + startB)) + ')');\n\t\tcolorArr.push(hex);\n\t}\n\treturn colorArr;\n}\n\n// 将hex表示方式转换为rgb表示方式(这里返回rgb数组模式)\nfunction hexToRgb(sColor, str = true) {\n\tlet reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n\tsColor = sColor.toLowerCase();\n\tif (sColor && reg.test(sColor)) {\n\t\tif (sColor.length === 4) {\n\t\t\tlet sColorNew = \"#\";\n\t\t\tfor (let i = 1; i < 4; i += 1) {\n\t\t\t\tsColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n\t\t\t}\n\t\t\tsColor = sColorNew;\n\t\t}\n\t\t//处理六位的颜色值\n\t\tlet sColorChange = [];\n\t\tfor (let i = 1; i < 7; i += 2) {\n\t\t\tsColorChange.push(parseInt(\"0x\" + sColor.slice(i, i + 2)));\n\t\t}\n\t\tif(!str) {\n\t\t\treturn sColorChange;\n\t\t} else {\n\t\t\treturn `rgb(${sColorChange[0]},${sColorChange[1]},${sColorChange[2]})`;\n\t\t}\n\t} else if (/^(rgb|RGB)/.test(sColor)) {\n\t\tlet arr = sColor.replace(/(?:\\(|\\)|rgb|RGB)*/g, \"\").split(\",\")\n\t\treturn arr.map(val => Number(val));\n\t} else {\n\t\treturn sColor;\n\t}\n};\n\n// 将rgb表示方式转换为hex表示方式\nfunction rgbToHex(rgb) {\n\tlet _this = rgb;\n\tlet reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n\tif (/^(rgb|RGB)/.test(_this)) {\n\t\tlet aColor = _this.replace(/(?:\\(|\\)|rgb|RGB)*/g, \"\").split(\",\");\n\t\tlet strHex = \"#\";\n\t\tfor (let i = 0; i < aColor.length; i++) {\n\t\t\tlet hex = Number(aColor[i]).toString(16);\n\t\t\thex = String(hex).length == 1 ? 0 + '' + hex : hex; // 保证每个rgb的值为2位\n\t\t\tif (hex === \"0\") {\n\t\t\t\thex += hex;\n\t\t\t}\n\t\t\tstrHex += hex;\n\t\t}\n\t\tif (strHex.length !== 7) {\n\t\t\tstrHex = _this;\n\t\t}\n\t\treturn strHex;\n\t} else if (reg.test(_this)) {\n\t\tlet aNum = _this.replace(/#/, \"\").split(\"\");\n\t\tif (aNum.length === 6) {\n\t\t\treturn _this;\n\t\t} else if (aNum.length === 3) {\n\t\t\tlet numHex = \"#\";\n\t\t\tfor (let i = 0; i < aNum.length; i += 1) {\n\t\t\t\tnumHex += (aNum[i] + aNum[i]);\n\t\t\t}\n\t\t\treturn numHex;\n\t\t}\n\t} else {\n\t\treturn _this;\n\t}\n}\n\n\n/**\n* JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\n* sHex为传入的十六进制的色值\n* alpha为rgba的透明度\n*/\nfunction colorToRgba(color, alpha = 0.3) {\n\tcolor = rgbToHex(color)\n\t// 十六进制颜色值的正则表达式\n\tvar reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\n\t/* 16进制颜色转为RGB格式 */\n\tlet sColor = color.toLowerCase()\n\tif (sColor && reg.test(sColor)) {\n\t\tif (sColor.length === 4) {\n\t\t\tvar sColorNew = '#'\n\t\t\tfor (let i = 1; i < 4; i += 1) {\n\t\t\t\tsColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1))\n\t\t\t}\n\t\t\tsColor = sColorNew\n\t\t}\n\t\t// 处理六位的颜色值\n\t\tvar sColorChange = []\n\t\tfor (let i = 1; i < 7; i += 2) {\n\t\t\tsColorChange.push(parseInt('0x' + sColor.slice(i, i + 2)))\n\t\t}\n\t\t// return sColorChange.join(',')\n\t\treturn 'rgba(' + sColorChange.join(',') + ',' + alpha + ')'\n\t} \n\telse {\n\t\treturn sColor\n\t}\n}\n\nexport default {\n\tcolorGradient,\n\thexToRgb,\n\trgbToHex,\n\tcolorToRgba\n}","/**\n * 本算法来源于简书开源代码,详见:https://www.jianshu.com/p/fdbf293d0a85\n * 全局唯一标识符(uuid,Globally Unique Identifier),也称作 uuid(Universally Unique IDentifier) \n * 一般用于多个组件之间,给它一个唯一的标识符,或者v-for循环的时候,如果使用数组的index可能会导致更新列表出现问题\n * 最可能的情况是左滑删除item或者对某条信息流\"不喜欢\"并去掉它的时候,会导致组件内的数据可能出现错乱\n * v-for的时候,推荐使用后端返回的id而不是循环的index\n * @param {Number} len uuid的长度\n * @param {Boolean} firstU 将返回的首字母置为\"u\"\n * @param {Number} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制\n */\nfunction guid(len = 32, firstU = true, radix = null) {\n\tlet chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');\n\tlet uuid = [];\n\tradix = radix || chars.length;\n\n\tif (len) {\n\t\t// 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位\n\t\tfor (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];\n\t} else {\n\t\tlet r;\n\t\t// rfc4122标准要求返回的uuid中,某些位为固定的字符\n\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\n\t\tuuid[14] = '4';\n\n\t\tfor (let i = 0; i < 36; i++) {\n\t\t\tif (!uuid[i]) {\n\t\t\t\tr = 0 | Math.random() * 16;\n\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\n\t\t\t}\n\t\t}\n\t}\n\t// 移除第一个字符,并用u替代,因为第一个字符为数值时,该guid不能用作id或者class\n\tif (firstU) {\n\t\tuuid.shift();\n\t\treturn 'u' + uuid.join('');\n\t} else {\n\t\treturn uuid.join('');\n\t}\n}\n\nexport default guid;\n","// 为了让用户能够自定义主题,会逐步弃用此文件,各颜色通过css提供\n// 为了给某些特殊场景使用和向后兼容,无需删除此文件(2020-06-20)\nlet color = {\n\tprimary: \"#2979ff\",\n\tprimaryDark: \"#2b85e4\",\n\tprimaryDisabled: \"#a0cfff\",\n\tprimaryLight: \"#ecf5ff\",\n\tbgColor: \"#f3f4f6\",\n\t\n\tinfo: \"#909399\",\n\tinfoDark: \"#82848a\",\n\tinfoDisabled: \"#c8c9cc\",\n\tinfoLight: \"#f4f4f5\",\n\t\n\twarning: \"#ff9900\",\n\twarningDark: \"#f29100\",\n\twarningDisabled: \"#fcbd71\",\n\twarningLight: \"#fdf6ec\",\n\t\n\terror: \"#fa3534\",\n\terrorDark: \"#dd6161\",\n\terrorDisabled: \"#fab6b6\",\n\terrorLight: \"#fef0f0\",\n\t\n\tsuccess: \"#19be6b\",\n\tsuccessDark: \"#18b566\",\n\tsuccessDisabled: \"#71d5a1\",\n\tsuccessLight: \"#dbf1e1\",\n\t\n\tmainColor: \"#303133\",\n\tcontentColor: \"#606266\",\n\ttipsColor: \"#909399\",\n\tlightColor: \"#c0c4cc\",\n\tborderColor: \"#e4e7ed\"\n}\n\nexport default color;","/**\n * 根据主题type值,获取对应的图标\n * @param String type 主题名称,primary|info|error|warning|success\n * @param String fill 是否使用fill填充实体的图标 \n */\nfunction type2icon(type = 'success', fill = false) {\n\t// 如果非预置值,默认为success\n\tif (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success';\n\tlet iconName = '';\n\t// 目前(2019-12-12),info和primary使用同一个图标\n\tswitch (type) {\n\t\tcase 'primary':\n\t\t\ticonName = 'info-circle';\n\t\t\tbreak;\n\t\tcase 'info':\n\t\t\ticonName = 'info-circle';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\ticonName = 'close-circle';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\ticonName = 'error-circle';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\ticonName = 'checkmark-circle';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ticonName = 'checkmark-circle';\n\t}\n\t// 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的\n\tif (fill) iconName += '-fill';\n\treturn iconName;\n}\n\nexport default type2icon\n","// 打乱数组\nfunction randomArray(array = []) {\n\t// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0\n\treturn array.sort(() => Math.random() - 0.5);\n}\n\nexport default randomArray\n","import validation from './test.js';\n\n// 添加单位,如果有rpx,%,px等单位结尾或者值为auto,直接返回,否则加上rpx单位结尾\nexport default function addUnit(value = 'auto', unit = 'rpx') {\n value = String(value);\n\t// 用uView内置验证规则中的number判断是否为数值\n return validation.number(value) ? `${value}${unit}` : value;\n}","function random(min, max) {\n\tif (min >= 0 && max > 0 && max >= min) {\n\t\tlet gab = max - min + 1;\n\t\treturn Math.floor(Math.random() * gab + min);\n\t} else {\n\t\treturn 0;\n\t}\n}\n\nexport default random;\n","function trim(str, pos = 'both') {\n\tif (pos == 'both') {\n\t\treturn str.replace(/^\\s+|\\s+$/g, \"\");\n\t} else if (pos == \"left\") {\n\t\treturn str.replace(/^\\s*/, '');\n\t} else if (pos == 'right') {\n\t\treturn str.replace(/(\\s*$)/g, \"\");\n\t} else if (pos == 'all') {\n\t\treturn str.replace(/\\s+/g, \"\");\n\t} else {\n\t\treturn str;\n\t}\n}\n\nexport default trim\n","function toast(title, duration = 1500) {\n\tuni.showToast({\n\t\ttitle: title,\n\t\ticon: 'none',\n\t\tduration: duration\n\t})\n}\n\nexport default toast\n","// 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法\n// this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx\nexport default function getParent(name, keys) {\n\tlet parent = this.$parent;\n\t// 通过while历遍,这里主要是为了H5需要多层解析的问题\n\twhile (parent) {\n\t\t// 父组件\n\t\tif (parent.$options.name !== name) {\n\t\t\t// 如果组件的name不相等,继续上一级寻找\n\t\t\tparent = parent.$parent;\n\t\t} else {\n\t\t\tlet data = {};\n\t\t\t// 判断keys是否数组,如果传过来的是一个数组,那么直接使用数组元素值当做键值去父组件寻找\n\t\t\tif(Array.isArray(keys)) {\n\t\t\t\tkeys.map(val => {\n\t\t\t\t\tdata[val] = parent[val] ? parent[val] : '';\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\t// 历遍传过来的对象参数\n\t\t\t\tfor(let i in keys) {\n\t\t\t\t\t// 如果子组件有此值则用,无此值则用父组件的值\n\t\t\t\t\t// 判断是否空数组,如果是,则用父组件的值,否则用子组件的值\n\t\t\t\t\tif(Array.isArray(keys[i])) {\n\t\t\t\t\t\tif(keys[i].length) {\n\t\t\t\t\t\t\tdata[i] = keys[i];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdata[i] = parent[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(keys[i].constructor === Object) {\n\t\t\t\t\t\t// 判断是否对象,如果是对象,且有属性,那么使用子组件的值,否则使用父组件的值\n\t\t\t\t\t\tif(Object.keys(keys[i]).length) {\n\t\t\t\t\t\t\tdata[i] = keys[i];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdata[i] = parent[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 只要子组件有传值,即使是false值,也是“传值”了,也需要覆盖父组件的同名参数\n\t\t\t\t\t\tdata[i] = (keys[i] || keys[i] === false) ? keys[i] : parent[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn data;\n\t\t}\n\t}\n\n\treturn {};\n}","// 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法\n// this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx\n// 这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name\n// 值(默认为undefined),就是查找最顶层的$parent\nexport default function $parent(name = undefined) {\n\tlet parent = this.$parent;\n\t// 通过while历遍,这里主要是为了H5需要多层解析的问题\n\twhile (parent) {\n\t\t// 父组件\n\t\tif (parent.$options && parent.$options.name !== name) {\n\t\t\t// 如果组件的name不相等,继续上一级寻找\n\t\t\tparent = parent.$parent;\n\t\t} else {\n\t\t\treturn parent;\n\t\t}\n\t}\n\treturn false;\n}","export function os() {\n\treturn uni.getSystemInfoSync().platform;\n};\n\nexport function sys() {\n\treturn uni.getSystemInfoSync();\n}\n\n\n","let timeout = null;\n\n/**\n * 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数\n * \n * @param {Function} func 要执行的回调函数 \n * @param {Number} wait 延时的时间\n * @param {Boolean} immediate 是否立即执行 \n * @return null\n */\nfunction debounce(func, wait = 500, immediate = false) {\n\t// 清除定时器\n\tif (timeout !== null) clearTimeout(timeout);\n\t// 立即执行,此类情况一般用不到\n\tif (immediate) {\n\t\tvar callNow = !timeout;\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t}, wait);\n\t\tif (callNow) typeof func === 'function' && func();\n\t} else {\n\t\t// 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时wait毫秒后执行func回调方法\n\t\ttimeout = setTimeout(function() {\n\t\t\ttypeof func === 'function' && func();\n\t\t}, wait);\n\t}\n}\n\nexport default debounce\n","let timer, flag;\n/**\n * 节流原理:在一定时间内,只能触发一次\n * \n * @param {Function} func 要执行的回调函数 \n * @param {Number} wait 延时的时间\n * @param {Boolean} immediate 是否立即执行\n * @return null\n */\nfunction throttle(func, wait = 500, immediate = true) {\n\tif (immediate) {\n\t\tif (!flag) {\n\t\t\tflag = true;\n\t\t\t// 如果是立即执行,则在wait毫秒内开始时执行\n\t\t\ttypeof func === 'function' && func();\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tflag = false;\n\t\t\t}, wait);\n\t\t}\n\t} else {\n\t\tif (!flag) {\n\t\t\tflag = true\n\t\t\t// 如果是非立即执行,则在wait毫秒内的结束处执行\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tflag = false\n\t\t\t\ttypeof func === 'function' && func();\n\t\t\t}, wait);\n\t\t}\n\t\t\n\t}\n};\nexport default throttle\n","// 此版本发布于2022-04-19\nlet version = '1.8.6';\n\nexport default {\n\tv: version,\n\tversion: version,\n\t// 主题名称\n\ttype: [\n\t\t'primary',\n\t\t'success',\n\t\t'info',\n\t\t'error',\n\t\t'warning'\n\t]\n}\n","// uniapp在H5中各API的z-index值如下:\n/**\n * actionsheet: 999\n * modal: 999\n * navigate: 998\n * tabbar: 998\n * toast: 999\n */\n\nexport default {\n\ttoast: 10090,\n\tnoNetwork: 10080,\n\t// popup包含popup,actionsheet,keyboard,picker的值\n\tpopup: 10075,\n\tmask: 10070,\n\tnavbar: 980,\n\ttopTips: 975,\n\tsticky: 970,\n\tindexListSticky: 965,\n}","uni.addInterceptor({\r\n returnValue (res) {\r\n if (!(!!res && (typeof res === \"object\" || typeof res === \"function\") && typeof res.then === \"function\")) {\r\n return res;\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then((res) => res[0] ? reject(res[0]) : resolve(res[1]));\r\n });\r\n },\r\n});","export default {\r\n\tonShareTimeline() {\r\n\t\tlet routes = getCurrentPages(); // 获取当前打开过的页面路由数组\r\n\t\tlet curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由\r\n\r\n\t\treturn {\r\n\t\t\tpath: '/pages/timeEnvironment/timeEnvironment',\r\n\t\t\t// path:\"/pages/index/index\", //不设置默认当前页面\r\n\t\t\ttitle: \"温室智慧云\",\r\n\t\t}\r\n\t},\r\n\tonShareAppMessage(res) {\r\n\t\t// console.log(res)\r\n\t\tlet routes = getCurrentPages(); // 获取当前打开过的页面路由数组\r\n\t\tlet curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由\r\n\t\t// console.log(curRoute+'?u_id='+uni.getStorageSync('u_id'))\r\n\t\treturn {\r\n\t\t\tpath: '/pages/timeEnvironment/timeEnvironment',\r\n\r\n\t\t\ttitle: \"温室智慧云\",\r\n\r\n\t\t\t// imageUrl: '',\r\n\t\t\t// query:'u_id='+uni.getStorageSync('u_id'),\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '分享成功'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '分享失败',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","import variable from '@/api/commonVariable.js'\r\n\r\n// 司机端接口\r\nlet api = {\r\n\r\n\t// 公共key\r\n\tbaseUrl: variable.baseUrl,\r\n\r\n\r\n\tuser_login: '/user/login', // 登录\r\n\tselFs_time: '/selFs/time', //主页查看施肥机历史数据\r\n\tuser_logout: '/user/logout', //退出\r\n\tuser_upload: '/user/upload', //上传logo\r\n\tupdate_user: \"/api/update/user\", //用户更新个人信息,修改昵称密码等\r\n\tsel_user: \"/api/sel/user\", //根据id查询用户信息\r\n\tgetFs_rtdata: \"/getFs/rtdata\", //主页查看施肥机实时数据\r\n\tselFs_time: \"/selFs/time\", //主页查看施肥机历史数据\r\n\tsel_eqbyid: \"/sel/eqbyid/\", //根据用户id查询对应的设备数据\r\n\tchart_fsdata: \"/chart/fsdata\", //实时数据折线图\r\n\tuser_update_pwd: \"/user/update/pwd\", //用户修改密码\r\n\r\n\treadFs_state: \"/readFs/state\", //根据设备ID获取实时数据\r\n\twriteFs: \"/writeFs\", //根据设备ID获取实时数据\r\n\treadFs_reg: \"/readFs/reg\", //根据设备ID获取实时数据\r\n\treadJinHuaControl_reg: \"/readJinHuaControl/reg\", //读取所有寄存器的状态值\r\n\twriteJinHuaControl_write: \"/writeJinHuaControl/write\", //控制器写入数据(金华)\r\n\tgetcontrol_rtdata: \"/getcontrol/rtdata\", //主页查看控制器实时数据\r\n\tgetcontrol_fsdata: \"/getcontrol/fsdata\", //控制器实时数据折线图\r\n\r\n\tgetcontrol_cpermission: '/getcontrol/cpermission', //根据设备id查询控制器权限\r\n\tgetControl_getState: '/readControl/getState', //控制器 设备运行状态\r\n\tgetReadControlliShuiControl: '/readControl/liShuiControl', //控制器 顶模和风机\r\n\t\r\n\treadControl_fiveControl:'/readControl/fiveControl',//读取(五防项目)控制器\r\n\tgetcontrol_wxgetpermission:'/getcontrol/wxgetpermission',//小程序手机控制权限数据\r\n\t\r\n\treadControl_solenoidValve1:'/readControl/solenoidValve1',//1#电磁阀\r\n\treadControl_solenoidValve2:'/readControl/solenoidValve2',//2#电磁阀\r\n\treadControl_solenoidValve3:'/readControl/solenoidValve3',//3#电磁阀\r\n\treadControl_solenoidValve4:'/readControl/solenoidValve4',//4#电磁阀\r\n\treadControl_solenoidValve5:'/readControl/solenoidValve5',//5#电磁阀\r\n\treadControl_solenoidValve6:'/readControl/solenoidValve6',//6#电磁阀\r\n\treadControl_solenoidValve7:'/readControl/solenoidValve7',//7#电磁阀\r\n\treadControl_solenoidValve8:'/readControl/solenoidValve8',//8#电磁阀\r\n\t\r\n\treadControl_readfilllight:'/readControl/readfilllight',//读取(补光灯)控制器\r\n\treadControl_readcirculationfan:'/readControl/readcirculationfan',//读取(环流风扇)控制器\r\n\treadControl_fanwetcurtain:'/readControl/fanwetcurtain',//读取(风机湿帘)控制器\r\n\t\r\n\treadControl_innercurtain:'/readControl/innercurtain',//内遮阳\r\n\treadControl_externalsunshade:'/readControl/externalsunshade',//外遮阳\r\n\treadControl_readskylight:'/readControl/readskylight',//通风窗\r\n\t\r\n\tcamera_gethls:'/camera/gethls',//获取摄像头得地址\r\n\t\r\n\treadFs_byid:'/readFs/byid',//查看用户施肥机名称信息\r\n\t\r\n\tgetcontrol_geteqetdata:'/getcontrol/geteqetdata',//小程序气象站显示\r\n\t\r\n\tgetcontrol_rtDatastation:'/getcontrol/rtDatastation',//主页查看控制器气象站实时数据 \r\n\t\r\n\treadControl_interiorthermalinsulation:'/readControl/interiorthermalinsulation',//读取(内保温)控制器 \r\n\r\n\r\n\t//countType计算类型 0是原数据 1是原数据-400 2是原数据/10 3是(原数据-400) / 10 4是(原数据-1000)/10\r\n\ttypeList: [{\r\n\t\t\tlabel: '无意义的传感器',\r\n\t\t\tvalue: 0,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '空气温度',\r\n\t\t\tvalue: 1,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '空气湿度',\r\n\t\t\tvalue: 2,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '光亮度',\r\n\t\t\tvalue: 3,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'Klux'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '二氧化碳',\r\n\t\t\tvalue: 4,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤温度',\r\n\t\t\tvalue: 5,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤湿度',\r\n\t\t\tvalue: 6,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '水温',\r\n\t\t\tvalue: 7,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '水肥PH',\r\n\t\t\tvalue: 8,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '水肥EC',\r\n\t\t\tvalue: 9,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mS/cm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '压差',\r\n\t\t\tvalue: 10,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'Pa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '风速',\r\n\t\t\tvalue: 11,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'm/s'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '风向',\r\n\t\t\tvalue: 12,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: '°'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '雨雪信号',\r\n\t\t\tvalue: 13,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '降雨量',\r\n\t\t\tvalue: 14,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '光合有效辐射',\r\n\t\t\tvalue: 15,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'umol/m2.s'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '太阳总辐射',\r\n\t\t\tvalue: 16,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'W/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '流量',\r\n\t\t\tvalue: 17,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'L/H'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '大气压强',\r\n\t\t\tvalue: 18,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'KPa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤PH',\r\n\t\t\tvalue: 19,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤EC',\r\n\t\t\tvalue: 20,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'uS/cm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '叶面温度',\r\n\t\t\tvalue: 21,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '叶面湿度',\r\n\t\t\tvalue: 22,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '果实直径',\r\n\t\t\tvalue: 23,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '茎秆直径',\r\n\t\t\tvalue: 24,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '流速',\r\n\t\t\tvalue: 25,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'm/s'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '瞬时流量',\r\n\t\t\tvalue: 26,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'm3'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '当日流量',\r\n\t\t\tvalue: 27,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'T'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '累计流量',\r\n\t\t\tvalue: 28,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'T'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线气象站电池电压',\r\n\t\t\tvalue: 29,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'V'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线气象站无线信号强度',\r\n\t\t\tvalue: 30,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dBm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线气象站信噪比(SNR)',\r\n\t\t\tvalue: 31,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dB'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'PM1.0',\r\n\t\t\tvalue: 32,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'μg/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'PM2.5',\r\n\t\t\tvalue: 33,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'μg/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'PM10',\r\n\t\t\tvalue: 34,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'μg/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '紫外辐射',\r\n\t\t\tvalue: 35,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'W/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '蒸发量',\r\n\t\t\tvalue: 36,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '负氧离子',\r\n\t\t\tvalue: 37,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: '个/cm3'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '露点温度',\r\n\t\t\tvalue: 38,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '设备电压',\r\n\t\t\tvalue: 39,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'V'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '设备电流',\r\n\t\t\tvalue: 40,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'A'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤氮含量',\r\n\t\t\tvalue: 41,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤磷含量',\r\n\t\t\tvalue: 42,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤钾含量',\r\n\t\t\tvalue: 43,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '管道压力',\r\n\t\t\tvalue: 44,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'Kpa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '一氧化碳',\r\n\t\t\tvalue: 45,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '氨气',\r\n\t\t\tvalue: 46,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '硫化氢',\r\n\t\t\tvalue: 47,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '氧气',\r\n\t\t\tvalue: 48,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%vol'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤张力',\r\n\t\t\tvalue: 49,\r\n\t\t\tcountType: 4,\r\n\t\t\tunit: 'KPa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '铜(CU)',\r\n\t\t\tvalue: 50,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '镉(CD)',\r\n\t\t\tvalue: 51,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '铅(PB)',\r\n\t\t\tvalue: 52,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '噪声',\r\n\t\t\tvalue: 53,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'dB'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '叶面面积',\r\n\t\t\tvalue: 54,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '虫数量',\r\n\t\t\tvalue: 55,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: '个'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线传感器电池电压',\r\n\t\t\tvalue: 56,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'V'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线传感器无线信号强度',\r\n\t\t\tvalue: 57,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dBm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线传感器信噪比(SNR)',\r\n\t\t\tvalue: 58,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dB'\r\n\t\t},\r\n\t]\r\n}\r\n\r\n\r\nexport default api","// 可修改的公共变量\r\nlet type = 'app'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\ntype = \"wxMini\"\r\n\r\n\t\r\n\t// 在maps里面有一个地图的key,需要手动改变\r\nconst variable = {\r\n\r\n name: \"\", //应用名字\r\n whatType: type, //判断当前是哪端\r\n\t// baseUrl: \"http://hy.ecbeauty.cn\", //线上测试接口的基础路径\r\n\t\tbaseUrl: \"https://api.lihe-control.com\", //线上接口的基础路径\r\n\t\r\n\t\r\n mapKey: \"\", //jsapi\r\n webKey: '', //webApi\r\n wxMapKey: \"\", //小程序key\r\n socket: ''\r\n\r\n}\r\nexport default variable","import api from './driverapi.js'\r\nimport variable from '@/api/commonVariable.js'\r\n\r\nexport const myRequest = (options) => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tuni.request({\r\n\t\t\turl: api.baseUrl + options.url,\r\n\t\t\tmethod: options.method || 'POST',\r\n\t\t\theader: {\r\n\t\t\t\ttoken: uni.getStorageSync('token'),\r\n\t\t\t\t// terminal: variable.whatType,\r\n\t\t\t\t// 'Content-Type': 'application/x-www-form-urlencoded'\r\n\t\t\t},\r\n\t\t\tdata: options.data || {},\r\n\t\t\tsuccess: (res) => {\r\n\t\t\t\t\tresolve(res.data)\r\n\t\t\t\t\tif(res.data.code==200){\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (res.data.code == 401) {\r\n\t\t\t\t\r\n\t\t\t\t\t\tuni.reLaunch({\r\n\t\t\t\t\t\t\turl: '/pages/login/login'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tuni.removeStorage({\r\n\t\t\t\t\t\t\tkey: 'token',\r\n\t\t\t\t\t\t\tsuccess() {\r\n\t\t\t\t\t\t\t\tuni.removeStorage({\r\n\t\t\t\t\t\t\t\t\tkey: 'user_info',\r\n\t\t\t\t\t\t\t\t\tsuccess() {\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tuni.hideLoading()\r\n\t\t\t\t\t\tuni.stopPullDownRefresh();\r\n\t\t\t\t\t\t// uni.showToast({\r\n\t\t\t\t\t\t// \ticon:'none',\r\n\t\t\t\t\t\t// \ttitle: res.data.msg,\r\n\t\t\t\t\t\t// \tduration: 2000,\r\n\t\t\t\t\t\t// })\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 接口成功可以在此写成功需要的步骤\r\n\t\t\t\t\tif (res.data.code != 1) {\r\n\t\t\t\t\t\t// uni.showToast({\r\n\t\t\t\t\t\t// \ttitle: res.data.msg,\r\n\t\t\t\t\t\t// \ticon: 'none'\r\n\t\t\t\t\t\t// });\r\n\t\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tfail: (err) => {\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '请求接口失败',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\treject(err)\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n","/**\n * 递归使用 call 方式this指向\n * @param componentName // 需要找的组件的名称\n * @param eventName // 事件名称\n * @param params // 需要传递的参数\n */\nfunction broadcast(componentName, eventName, params) {\n // 循环子节点找到名称一样的子节点 否则 递归 当前子节点\n this.$children.map(child=>{\n if (componentName===child.$options.name) {\n child.$emit.apply(child,[eventName].concat(params))\n }else {\n broadcast.apply(child,[componentName,eventName].concat(params))\n }\n })\n}\nexport default {\n methods: {\n /**\n * 派发 (向上查找) (一个)\n * @param componentName // 需要找的组件的名称\n * @param eventName // 事件名称\n * @param params // 需要传递的参数\n */\n dispatch(componentName, eventName, params) {\n let parent = this.$parent || this.$root;//$parent 找到最近的父节点 $root 根节点\n let name = parent.$options.name; // 获取当前组件实例的name\n // 如果当前有节点 && 当前没名称 且 当前名称等于需要传进来的名称的时候就去查找当前的节点\n // 循环出当前名称的一样的组件实例\n while (parent && (!name||name!==componentName)) {\n parent = parent.$parent;\n if (parent) {\n name = parent.$options.name;\n }\n }\n // 有节点表示当前找到了name一样的实例\n if (parent) {\n parent.$emit.apply(parent,[eventName].concat(params))\n }\n },\n /**\n * 广播 (向下查找) (广播多个)\n * @param componentName // 需要找的组件的名称\n * @param eventName // 事件名称\n * @param params // 需要传递的参数\n */\n broadcast(componentName, eventName, params) {\n broadcast.call(this,componentName, eventName, params)\n }\n }\n}\n","function _extends() {\n\t_extends = Object.assign || function(target) {\n\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\tvar source = arguments[i];\n\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\ttarget[key] = source[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t};\n\n\treturn _extends.apply(this, arguments);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !==\n\t'undefined' && typeof document !== 'undefined') {\n\twarning = function warning(type, errors) {\n\t\tif (typeof console !== 'undefined' && console.warn) {\n\t\t\tif (errors.every(function(e) {\n\t\t\t\t\treturn typeof e === 'string';\n\t\t\t\t})) {\n\t\t\t\tconsole.warn(type, errors);\n\t\t\t}\n\t\t}\n\t};\n}\n\nfunction convertFieldsError(errors) {\n\tif (!errors || !errors.length) return null;\n\tvar fields = {};\n\terrors.forEach(function(error) {\n\t\tvar field = error.field;\n\t\tfields[field] = fields[field] || [];\n\t\tfields[field].push(error);\n\t});\n\treturn fields;\n}\n\nfunction format() {\n\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n\t\targs[_key] = arguments[_key];\n\t}\n\n\tvar i = 1;\n\tvar f = args[0];\n\tvar len = args.length;\n\n\tif (typeof f === 'function') {\n\t\treturn f.apply(null, args.slice(1));\n\t}\n\n\tif (typeof f === 'string') {\n\t\tvar str = String(f).replace(formatRegExp, function(x) {\n\t\t\tif (x === '%%') {\n\t\t\t\treturn '%';\n\t\t\t}\n\n\t\t\tif (i >= len) {\n\t\t\t\treturn x;\n\t\t\t}\n\n\t\t\tswitch (x) {\n\t\t\t\tcase '%s':\n\t\t\t\t\treturn String(args[i++]);\n\n\t\t\t\tcase '%d':\n\t\t\t\t\treturn Number(args[i++]);\n\n\t\t\t\tcase '%j':\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify(args[i++]);\n\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\treturn '[Circular]';\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn x;\n\t\t\t}\n\t\t});\n\n\t\tfor (var arg = args[i]; i < len; arg = args[++i]) {\n\t\t\tstr += \" \" + arg;\n\t\t}\n\n\t\treturn str;\n\t}\n\n\treturn f;\n}\n\nfunction isNativeStringType(type) {\n\treturn type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n\tif (value === undefined || value === null) {\n\t\treturn true;\n\t}\n\n\tif (type === 'array' && Array.isArray(value) && !value.length) {\n\t\treturn true;\n\t}\n\n\tif (isNativeStringType(type) && typeof value === 'string' && !value) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n\tvar results = [];\n\tvar total = 0;\n\tvar arrLength = arr.length;\n\n\tfunction count(errors) {\n\t\tresults.push.apply(results, errors);\n\t\ttotal++;\n\n\t\tif (total === arrLength) {\n\t\t\tcallback(results);\n\t\t}\n\t}\n\n\tarr.forEach(function(a) {\n\t\tfunc(a, count);\n\t});\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n\tvar index = 0;\n\tvar arrLength = arr.length;\n\n\tfunction next(errors) {\n\t\tif (errors && errors.length) {\n\t\t\tcallback(errors);\n\t\t\treturn;\n\t\t}\n\n\t\tvar original = index;\n\t\tindex = index + 1;\n\n\t\tif (original < arrLength) {\n\t\t\tfunc(arr[original], next);\n\t\t} else {\n\t\t\tcallback([]);\n\t\t}\n\t}\n\n\tnext([]);\n}\n\nfunction flattenObjArr(objArr) {\n\tvar ret = [];\n\tObject.keys(objArr).forEach(function(k) {\n\t\tret.push.apply(ret, objArr[k]);\n\t});\n\treturn ret;\n}\n\nfunction asyncMap(objArr, option, func, callback) {\n\tif (option.first) {\n\t\tvar _pending = new Promise(function(resolve, reject) {\n\t\t\tvar next = function next(errors) {\n\t\t\t\tcallback(errors);\n\t\t\t\treturn errors.length ? reject({\n\t\t\t\t\terrors: errors,\n\t\t\t\t\tfields: convertFieldsError(errors)\n\t\t\t\t}) : resolve();\n\t\t\t};\n\n\t\t\tvar flattenArr = flattenObjArr(objArr);\n\t\t\tasyncSerialArray(flattenArr, func, next);\n\t\t});\n\n\t\t_pending[\"catch\"](function(e) {\n\t\t\treturn e;\n\t\t});\n\n\t\treturn _pending;\n\t}\n\n\tvar firstFields = option.firstFields || [];\n\n\tif (firstFields === true) {\n\t\tfirstFields = Object.keys(objArr);\n\t}\n\n\tvar objArrKeys = Object.keys(objArr);\n\tvar objArrLength = objArrKeys.length;\n\tvar total = 0;\n\tvar results = [];\n\tvar pending = new Promise(function(resolve, reject) {\n\t\tvar next = function next(errors) {\n\t\t\tresults.push.apply(results, errors);\n\t\t\ttotal++;\n\n\t\t\tif (total === objArrLength) {\n\t\t\t\tcallback(results);\n\t\t\t\treturn results.length ? reject({\n\t\t\t\t\terrors: results,\n\t\t\t\t\tfields: convertFieldsError(results)\n\t\t\t\t}) : resolve();\n\t\t\t}\n\t\t};\n\n\t\tif (!objArrKeys.length) {\n\t\t\tcallback(results);\n\t\t\tresolve();\n\t\t}\n\n\t\tobjArrKeys.forEach(function(key) {\n\t\t\tvar arr = objArr[key];\n\n\t\t\tif (firstFields.indexOf(key) !== -1) {\n\t\t\t\tasyncSerialArray(arr, func, next);\n\t\t\t} else {\n\t\t\t\tasyncParallelArray(arr, func, next);\n\t\t\t}\n\t\t});\n\t});\n\tpending[\"catch\"](function(e) {\n\t\treturn e;\n\t});\n\treturn pending;\n}\n\nfunction complementError(rule) {\n\treturn function(oe) {\n\t\tif (oe && oe.message) {\n\t\t\toe.field = oe.field || rule.fullField;\n\t\t\treturn oe;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: typeof oe === 'function' ? oe() : oe,\n\t\t\tfield: oe.field || rule.fullField\n\t\t};\n\t};\n}\n\nfunction deepMerge(target, source) {\n\tif (source) {\n\t\tfor (var s in source) {\n\t\t\tif (source.hasOwnProperty(s)) {\n\t\t\t\tvar value = source[s];\n\n\t\t\t\tif (typeof value === 'object' && typeof target[s] === 'object') {\n\t\t\t\t\ttarget[s] = _extends({}, target[s], {}, value);\n\t\t\t\t} else {\n\t\t\t\t\ttarget[s] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn target;\n}\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction required(rule, value, source, errors, options, type) {\n\tif (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n\t\terrors.push(format(options.messages.required, rule.fullField));\n\t}\n}\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n\tif (/^\\s+$/.test(value) || value === '') {\n\t\terrors.push(format(options.messages.whitespace, rule.fullField));\n\t}\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n\t// http://emailregex.com/\n\temail: /^(([^<>()\\[\\]\\\\.,;:\\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,}))$/,\n\turl: new RegExp(\n\t\t\"^(?!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]*)?$\",\n\t\t'i'),\n\thex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n\tinteger: function integer(value) {\n\t\treturn types.number(value) && parseInt(value, 10) === value;\n\t},\n\t\"float\": function float(value) {\n\t\treturn types.number(value) && !types.integer(value);\n\t},\n\tarray: function array(value) {\n\t\treturn Array.isArray(value);\n\t},\n\tregexp: function regexp(value) {\n\t\tif (value instanceof RegExp) {\n\t\t\treturn true;\n\t\t}\n\n\t\ttry {\n\t\t\treturn !!new RegExp(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t},\n\tdate: function date(value) {\n\t\treturn typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear ===\n\t\t\t'function';\n\t},\n\tnumber: function number(value) {\n\t\tif (isNaN(value)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// 修改源码,将字符串数值先转为数值\n\t\treturn typeof +value === 'number';\n\t},\n\tobject: function object(value) {\n\t\treturn typeof value === 'object' && !types.array(value);\n\t},\n\tmethod: function method(value) {\n\t\treturn typeof value === 'function';\n\t},\n\temail: function email(value) {\n\t\treturn typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n\t},\n\turl: function url(value) {\n\t\treturn typeof value === 'string' && !!value.match(pattern.url);\n\t},\n\thex: function hex(value) {\n\t\treturn typeof value === 'string' && !!value.match(pattern.hex);\n\t}\n};\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction type(rule, value, source, errors, options) {\n\tif (rule.required && value === undefined) {\n\t\trequired(rule, value, source, errors, options);\n\t\treturn;\n\t}\n\n\tvar custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n\tvar ruleType = rule.type;\n\n\tif (custom.indexOf(ruleType) > -1) {\n\t\tif (!types[ruleType](value)) {\n\t\t\terrors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n\t\t} // straight typeof check\n\n\t} else if (ruleType && typeof value !== rule.type) {\n\t\terrors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n\t}\n}\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction range(rule, value, source, errors, options) {\n\tvar len = typeof rule.len === 'number';\n\tvar min = typeof rule.min === 'number';\n\tvar max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n\tvar spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\tvar val = value;\n\tvar key = null;\n\tvar num = typeof value === 'number';\n\tvar str = typeof value === 'string';\n\tvar arr = Array.isArray(value);\n\n\tif (num) {\n\t\tkey = 'number';\n\t} else if (str) {\n\t\tkey = 'string';\n\t} else if (arr) {\n\t\tkey = 'array';\n\t} // if the value is not of a supported type for range validation\n\t// the validation rule rule should use the\n\t// type property to also test for a particular type\n\n\n\tif (!key) {\n\t\treturn false;\n\t}\n\n\tif (arr) {\n\t\tval = value.length;\n\t}\n\n\tif (str) {\n\t\t// 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".length !== 3\n\t\tval = value.replace(spRegexp, '_').length;\n\t}\n\n\tif (len) {\n\t\tif (val !== rule.len) {\n\t\t\terrors.push(format(options.messages[key].len, rule.fullField, rule.len));\n\t\t}\n\t} else if (min && !max && val < rule.min) {\n\t\terrors.push(format(options.messages[key].min, rule.fullField, rule.min));\n\t} else if (max && !min && val > rule.max) {\n\t\terrors.push(format(options.messages[key].max, rule.fullField, rule.max));\n\t} else if (min && max && (val < rule.min || val > rule.max)) {\n\t\terrors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n\t}\n}\n\nvar ENUM = 'enum';\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n\trule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n\tif (rule[ENUM].indexOf(value) === -1) {\n\t\terrors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n\t}\n}\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n\tif (rule.pattern) {\n\t\tif (rule.pattern instanceof RegExp) {\n\t\t\t// if a RegExp instance is passed, reset `lastIndex` in case its `global`\n\t\t\t// flag is accidentally set to `true`, which in a validation scenario\n\t\t\t// is not necessary and the result might be misleading\n\t\t\trule.pattern.lastIndex = 0;\n\n\t\t\tif (!rule.pattern.test(value)) {\n\t\t\t\terrors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n\t\t\t}\n\t\t} else if (typeof rule.pattern === 'string') {\n\t\t\tvar _pattern = new RegExp(rule.pattern);\n\n\t\t\tif (!_pattern.test(value)) {\n\t\t\t\terrors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar rules = {\n\trequired: required,\n\twhitespace: whitespace,\n\ttype: type,\n\trange: range,\n\t\"enum\": enumerable,\n\tpattern: pattern$1\n};\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction string(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, 'string') && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options, 'string');\n\n\t\tif (!isEmptyValue(value, 'string')) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t\trules.pattern(rule, value, source, errors, options);\n\n\t\t\tif (rule.whitespace === true) {\n\t\t\t\trules.whitespace(rule, value, source, errors, options);\n\t\t\t}\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction method(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction number(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (value === '') {\n\t\t\tvalue = undefined;\n\t\t}\n\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction regexp(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (!isEmptyValue(value)) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction integer(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction array(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, 'array') && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options, 'array');\n\n\t\tif (!isEmptyValue(value, 'array')) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction object(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\nvar ENUM$1 = 'enum';\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules[ENUM$1](rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, 'string') && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (!isEmptyValue(value, 'string')) {\n\t\t\trules.pattern(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\nfunction date(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); \n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (!isEmptyValue(value)) {\n\t\t\tvar dateObject;\n\n\t\t\tif (typeof value === 'number') {\n\t\t\t\tdateObject = new Date(value);\n\t\t\t} else {\n\t\t\t\tdateObject = value;\n\t\t\t}\n\n\t\t\trules.type(rule, dateObject, source, errors, options);\n\n\t\t\tif (dateObject) {\n\t\t\t\trules.range(rule, dateObject.getTime(), source, errors, options);\n\t\t\t}\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar type = Array.isArray(value) ? 'array' : typeof value;\n\trules.required(rule, value, source, errors, options, type);\n\tcallback(errors);\n}\n\nfunction type$1(rule, value, callback, source, options) {\n\tvar ruleType = rule.type;\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, ruleType) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options, ruleType);\n\n\t\tif (!isEmptyValue(value, ruleType)) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction any(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\t}\n\n\tcallback(errors);\n}\n\nvar validators = {\n\tstring: string,\n\tmethod: method,\n\tnumber: number,\n\t\"boolean\": _boolean,\n\tregexp: regexp,\n\tinteger: integer,\n\t\"float\": floatFn,\n\tarray: array,\n\tobject: object,\n\t\"enum\": enumerable$1,\n\tpattern: pattern$2,\n\tdate: date,\n\turl: type$1,\n\thex: type$1,\n\temail: type$1,\n\trequired: required$1,\n\tany: any\n};\n\nfunction newMessages() {\n\treturn {\n\t\t\"default\": 'Validation error on field %s',\n\t\trequired: '%s is required',\n\t\t\"enum\": '%s must be one of %s',\n\t\twhitespace: '%s cannot be empty',\n\t\tdate: {\n\t\t\tformat: '%s date %s is invalid for format %s',\n\t\t\tparse: '%s date could not be parsed, %s is invalid ',\n\t\t\tinvalid: '%s date %s is invalid'\n\t\t},\n\t\ttypes: {\n\t\t\tstring: '%s is not a %s',\n\t\t\tmethod: '%s is not a %s (function)',\n\t\t\tarray: '%s is not an %s',\n\t\t\tobject: '%s is not an %s',\n\t\t\tnumber: '%s is not a %s',\n\t\t\tdate: '%s is not a %s',\n\t\t\t\"boolean\": '%s is not a %s',\n\t\t\tinteger: '%s is not an %s',\n\t\t\t\"float\": '%s is not a %s',\n\t\t\tregexp: '%s is not a valid %s',\n\t\t\temail: '%s is not a valid %s',\n\t\t\turl: '%s is not a valid %s',\n\t\t\thex: '%s is not a valid %s'\n\t\t},\n\t\tstring: {\n\t\t\tlen: '%s must be exactly %s characters',\n\t\t\tmin: '%s must be at least %s characters',\n\t\t\tmax: '%s cannot be longer than %s characters',\n\t\t\trange: '%s must be between %s and %s characters'\n\t\t},\n\t\tnumber: {\n\t\t\tlen: '%s must equal %s',\n\t\t\tmin: '%s cannot be less than %s',\n\t\t\tmax: '%s cannot be greater than %s',\n\t\t\trange: '%s must be between %s and %s'\n\t\t},\n\t\tarray: {\n\t\t\tlen: '%s must be exactly %s in length',\n\t\t\tmin: '%s cannot be less than %s in length',\n\t\t\tmax: '%s cannot be greater than %s in length',\n\t\t\trange: '%s must be between %s and %s in length'\n\t\t},\n\t\tpattern: {\n\t\t\tmismatch: '%s value %s does not match pattern %s'\n\t\t},\n\t\tclone: function clone() {\n\t\t\tvar cloned = JSON.parse(JSON.stringify(this));\n\t\t\tcloned.clone = this.clone;\n\t\t\treturn cloned;\n\t\t}\n\t};\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n\tthis.rules = null;\n\tthis._messages = messages;\n\tthis.define(descriptor);\n}\n\nSchema.prototype = {\n\tmessages: function messages(_messages) {\n\t\tif (_messages) {\n\t\t\tthis._messages = deepMerge(newMessages(), _messages);\n\t\t}\n\n\t\treturn this._messages;\n\t},\n\tdefine: function define(rules) {\n\t\tif (!rules) {\n\t\t\tthrow new Error('Cannot configure a schema with no rules');\n\t\t}\n\n\t\tif (typeof rules !== 'object' || Array.isArray(rules)) {\n\t\t\tthrow new Error('Rules must be an object');\n\t\t}\n\n\t\tthis.rules = {};\n\t\tvar z;\n\t\tvar item;\n\n\t\tfor (z in rules) {\n\t\t\tif (rules.hasOwnProperty(z)) {\n\t\t\t\titem = rules[z];\n\t\t\t\tthis.rules[z] = Array.isArray(item) ? item : [item];\n\t\t\t}\n\t\t}\n\t},\n\tvalidate: function validate(source_, o, oc) {\n\t\tvar _this = this;\n\n\t\tif (o === void 0) {\n\t\t\to = {};\n\t\t}\n\n\t\tif (oc === void 0) {\n\t\t\toc = function oc() {};\n\t\t}\n\n\t\tvar source = source_;\n\t\tvar options = o;\n\t\tvar callback = oc;\n\n\t\tif (typeof options === 'function') {\n\t\t\tcallback = options;\n\t\t\toptions = {};\n\t\t}\n\n\t\tif (!this.rules || Object.keys(this.rules).length === 0) {\n\t\t\tif (callback) {\n\t\t\t\tcallback();\n\t\t\t}\n\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tfunction complete(results) {\n\t\t\tvar i;\n\t\t\tvar errors = [];\n\t\t\tvar fields = {};\n\n\t\t\tfunction add(e) {\n\t\t\t\tif (Array.isArray(e)) {\n\t\t\t\t\tvar _errors;\n\n\t\t\t\t\terrors = (_errors = errors).concat.apply(_errors, e);\n\t\t\t\t} else {\n\t\t\t\t\terrors.push(e);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0; i < results.length; i++) {\n\t\t\t\tadd(results[i]);\n\t\t\t}\n\n\t\t\tif (!errors.length) {\n\t\t\t\terrors = null;\n\t\t\t\tfields = null;\n\t\t\t} else {\n\t\t\t\tfields = convertFieldsError(errors);\n\t\t\t}\n\n\t\t\tcallback(errors, fields);\n\t\t}\n\n\t\tif (options.messages) {\n\t\t\tvar messages$1 = this.messages();\n\n\t\t\tif (messages$1 === messages) {\n\t\t\t\tmessages$1 = newMessages();\n\t\t\t}\n\n\t\t\tdeepMerge(messages$1, options.messages);\n\t\t\toptions.messages = messages$1;\n\t\t} else {\n\t\t\toptions.messages = this.messages();\n\t\t}\n\n\t\tvar arr;\n\t\tvar value;\n\t\tvar series = {};\n\t\tvar keys = options.keys || Object.keys(this.rules);\n\t\tkeys.forEach(function(z) {\n\t\t\tarr = _this.rules[z];\n\t\t\tvalue = source[z];\n\t\t\tarr.forEach(function(r) {\n\t\t\t\tvar rule = r;\n\n\t\t\t\tif (typeof rule.transform === 'function') {\n\t\t\t\t\tif (source === source_) {\n\t\t\t\t\t\tsource = _extends({}, source);\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = source[z] = rule.transform(value);\n\t\t\t\t}\n\n\t\t\t\tif (typeof rule === 'function') {\n\t\t\t\t\trule = {\n\t\t\t\t\t\tvalidator: rule\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\trule = _extends({}, rule);\n\t\t\t\t}\n\n\t\t\t\trule.validator = _this.getValidationMethod(rule);\n\t\t\t\trule.field = z;\n\t\t\t\trule.fullField = rule.fullField || z;\n\t\t\t\trule.type = _this.getType(rule);\n\n\t\t\t\tif (!rule.validator) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tseries[z] = series[z] || [];\n\t\t\t\tseries[z].push({\n\t\t\t\t\trule: rule,\n\t\t\t\t\tvalue: value,\n\t\t\t\t\tsource: source,\n\t\t\t\t\tfield: z\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tvar errorFields = {};\n\t\treturn asyncMap(series, options, function(data, doIt) {\n\t\t\tvar rule = data.rule;\n\t\t\tvar deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField ===\n\t\t\t\t'object');\n\t\t\tdeep = deep && (rule.required || !rule.required && data.value);\n\t\t\trule.field = data.field;\n\n\t\t\tfunction addFullfield(key, schema) {\n\t\t\t\treturn _extends({}, schema, {\n\t\t\t\t\tfullField: rule.fullField + \".\" + key\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tfunction cb(e) {\n\t\t\t\tif (e === void 0) {\n\t\t\t\t\te = [];\n\t\t\t\t}\n\n\t\t\t\tvar errors = e;\n\n\t\t\t\tif (!Array.isArray(errors)) {\n\t\t\t\t\terrors = [errors];\n\t\t\t\t}\n\n\t\t\t\tif (!options.suppressWarning && errors.length) {\n\t\t\t\t\tSchema.warning('async-validator:', errors);\n\t\t\t\t}\n\n\t\t\t\tif (errors.length && rule.message) {\n\t\t\t\t\terrors = [].concat(rule.message);\n\t\t\t\t}\n\n\t\t\t\terrors = errors.map(complementError(rule));\n\n\t\t\t\tif (options.first && errors.length) {\n\t\t\t\t\terrorFields[rule.field] = 1;\n\t\t\t\t\treturn doIt(errors);\n\t\t\t\t}\n\n\t\t\t\tif (!deep) {\n\t\t\t\t\tdoIt(errors);\n\t\t\t\t} else {\n\t\t\t\t\t// if rule is required but the target object\n\t\t\t\t\t// does not exist fail at the rule level and don't\n\t\t\t\t\t// go deeper\n\t\t\t\t\tif (rule.required && !data.value) {\n\t\t\t\t\t\tif (rule.message) {\n\t\t\t\t\t\t\terrors = [].concat(rule.message).map(complementError(rule));\n\t\t\t\t\t\t} else if (options.error) {\n\t\t\t\t\t\t\terrors = [options.error(rule, format(options.messages.required, rule.field))];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrors = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn doIt(errors);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar fieldsSchema = {};\n\n\t\t\t\t\tif (rule.defaultField) {\n\t\t\t\t\t\tfor (var k in data.value) {\n\t\t\t\t\t\t\tif (data.value.hasOwnProperty(k)) {\n\t\t\t\t\t\t\t\tfieldsSchema[k] = rule.defaultField;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfieldsSchema = _extends({}, fieldsSchema, {}, data.rule.fields);\n\n\t\t\t\t\tfor (var f in fieldsSchema) {\n\t\t\t\t\t\tif (fieldsSchema.hasOwnProperty(f)) {\n\t\t\t\t\t\t\tvar fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n\t\t\t\t\t\t\tfieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar schema = new Schema(fieldsSchema);\n\t\t\t\t\tschema.messages(options.messages);\n\n\t\t\t\t\tif (data.rule.options) {\n\t\t\t\t\t\tdata.rule.options.messages = options.messages;\n\t\t\t\t\t\tdata.rule.options.error = options.error;\n\t\t\t\t\t}\n\n\t\t\t\t\tschema.validate(data.value, data.rule.options || options, function(errs) {\n\t\t\t\t\t\tvar finalErrors = [];\n\n\t\t\t\t\t\tif (errors && errors.length) {\n\t\t\t\t\t\t\tfinalErrors.push.apply(finalErrors, errors);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (errs && errs.length) {\n\t\t\t\t\t\t\tfinalErrors.push.apply(finalErrors, errs);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdoIt(finalErrors.length ? finalErrors : null);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar res;\n\n\t\t\tif (rule.asyncValidator) {\n\t\t\t\tres = rule.asyncValidator(rule, data.value, cb, data.source, options);\n\t\t\t} else if (rule.validator) {\n\t\t\t\tres = rule.validator(rule, data.value, cb, data.source, options);\n\n\t\t\t\tif (res === true) {\n\t\t\t\t\tcb();\n\t\t\t\t} else if (res === false) {\n\t\t\t\t\tcb(rule.message || rule.field + \" fails\");\n\t\t\t\t} else if (res instanceof Array) {\n\t\t\t\t\tcb(res);\n\t\t\t\t} else if (res instanceof Error) {\n\t\t\t\t\tcb(res.message);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (res && res.then) {\n\t\t\t\tres.then(function() {\n\t\t\t\t\treturn cb();\n\t\t\t\t}, function(e) {\n\t\t\t\t\treturn cb(e);\n\t\t\t\t});\n\t\t\t}\n\t\t}, function(results) {\n\t\t\tcomplete(results);\n\t\t});\n\t},\n\tgetType: function getType(rule) {\n\t\tif (rule.type === undefined && rule.pattern instanceof RegExp) {\n\t\t\trule.type = 'pattern';\n\t\t}\n\n\t\tif (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n\t\t\tthrow new Error(format('Unknown rule type %s', rule.type));\n\t\t}\n\n\t\treturn rule.type || 'string';\n\t},\n\tgetValidationMethod: function getValidationMethod(rule) {\n\t\tif (typeof rule.validator === 'function') {\n\t\t\treturn rule.validator;\n\t\t}\n\n\t\tvar keys = Object.keys(rule);\n\t\tvar messageIndex = keys.indexOf('message');\n\n\t\tif (messageIndex !== -1) {\n\t\t\tkeys.splice(messageIndex, 1);\n\t\t}\n\n\t\tif (keys.length === 1 && keys[0] === 'required') {\n\t\t\treturn validators.required;\n\t\t}\n\n\t\treturn validators[this.getType(rule)] || false;\n\t}\n};\n\nSchema.register = function register(type, validator) {\n\tif (typeof validator !== 'function') {\n\t\tthrow new Error('Cannot register a validator by type, validator is not a function');\n\t}\n\n\tvalidators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\n\nexport default Schema;\n//# sourceMappingURL=index.js.map\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","import e from\"@/pages.json\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var s=n((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},r=s.lib={},i=r.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=i.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(var i=0;i>>2]>>>24-i%4*8&255;t[s+i>>>2]|=o<<24-(s+i)%4*8}else for(i=0;i>>2]=n[i>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,s=[],r=function(t){t=t;var n=987654321,s=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},i=0;i>>2]>>>24-r%4*8&255;s.push((i>>>4).toString(16)),s.push((15&i).toString(16))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new o.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(i))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new o.init(n,t)}},h=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},l=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,r=n.sigBytes,i=this.blockSize,a=r/(4*i),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*i,u=e.min(4*c,r);if(c){for(var h=0;h>>24)|4278255360&(r<<24|r>>>8)}var i=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],f=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],v=e[t+9],I=e[t+10],S=e[t+11],b=e[t+12],k=e[t+13],A=e[t+14],P=e[t+15],T=i[0],C=i[1],x=i[2],O=i[3];T=u(T,C,x,O,o,7,a[0]),O=u(O,T,C,x,c,12,a[1]),x=u(x,O,T,C,p,17,a[2]),C=u(C,x,O,T,f,22,a[3]),T=u(T,C,x,O,g,7,a[4]),O=u(O,T,C,x,m,12,a[5]),x=u(x,O,T,C,y,17,a[6]),C=u(C,x,O,T,_,22,a[7]),T=u(T,C,x,O,w,7,a[8]),O=u(O,T,C,x,v,12,a[9]),x=u(x,O,T,C,I,17,a[10]),C=u(C,x,O,T,S,22,a[11]),T=u(T,C,x,O,b,7,a[12]),O=u(O,T,C,x,k,12,a[13]),x=u(x,O,T,C,A,17,a[14]),T=h(T,C=u(C,x,O,T,P,22,a[15]),x,O,c,5,a[16]),O=h(O,T,C,x,y,9,a[17]),x=h(x,O,T,C,S,14,a[18]),C=h(C,x,O,T,o,20,a[19]),T=h(T,C,x,O,m,5,a[20]),O=h(O,T,C,x,I,9,a[21]),x=h(x,O,T,C,P,14,a[22]),C=h(C,x,O,T,g,20,a[23]),T=h(T,C,x,O,v,5,a[24]),O=h(O,T,C,x,A,9,a[25]),x=h(x,O,T,C,f,14,a[26]),C=h(C,x,O,T,w,20,a[27]),T=h(T,C,x,O,k,5,a[28]),O=h(O,T,C,x,p,9,a[29]),x=h(x,O,T,C,_,14,a[30]),T=l(T,C=h(C,x,O,T,b,20,a[31]),x,O,m,4,a[32]),O=l(O,T,C,x,w,11,a[33]),x=l(x,O,T,C,S,16,a[34]),C=l(C,x,O,T,A,23,a[35]),T=l(T,C,x,O,c,4,a[36]),O=l(O,T,C,x,g,11,a[37]),x=l(x,O,T,C,_,16,a[38]),C=l(C,x,O,T,I,23,a[39]),T=l(T,C,x,O,k,4,a[40]),O=l(O,T,C,x,o,11,a[41]),x=l(x,O,T,C,f,16,a[42]),C=l(C,x,O,T,y,23,a[43]),T=l(T,C,x,O,v,4,a[44]),O=l(O,T,C,x,b,11,a[45]),x=l(x,O,T,C,P,16,a[46]),T=d(T,C=l(C,x,O,T,p,23,a[47]),x,O,o,6,a[48]),O=d(O,T,C,x,_,10,a[49]),x=d(x,O,T,C,A,15,a[50]),C=d(C,x,O,T,m,21,a[51]),T=d(T,C,x,O,b,6,a[52]),O=d(O,T,C,x,f,10,a[53]),x=d(x,O,T,C,I,15,a[54]),C=d(C,x,O,T,c,21,a[55]),T=d(T,C,x,O,w,6,a[56]),O=d(O,T,C,x,P,10,a[57]),x=d(x,O,T,C,y,15,a[58]),C=d(C,x,O,T,k,21,a[59]),T=d(T,C,x,O,g,6,a[60]),O=d(O,T,C,x,S,10,a[61]),x=d(x,O,T,C,p,15,a[62]),C=d(C,x,O,T,v,21,a[63]),i[0]=i[0]+T|0,i[1]=i[1]+C|0,i[2]=i[2]+x|0,i[3]=i[3]+O|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var i=e.floor(s/4294967296),o=s;n[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var h=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return a},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,r,i,o){var a=e+(t&n|~t&s)+r+o;return(a<>>32-i)+t}function h(e,t,n,s,r,i,o){var a=e+(t&s|n&~s)+r+o;return(a<>>32-i)+t}function l(e,t,n,s,r,i,o){var a=e+(t^n^s)+r+o;return(a<>>32-i)+t}function d(e,t,n,s,r,i,o){var a=e+(n^(t|~s))+r+o;return(a<>>32-i)+t}t.MD5=i._createHelper(c),t.HmacMD5=i._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n;e.exports=(n=r,void function(){var e=n,t=e.lib.Base,s=e.enc.Utf8;e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),a=i.words,c=o.words,u=0;u>>6-o%4*2;r[i>>>2]|=(a|c)<<24-i%4*8,i++}return t.create(r,i)}e.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,s=this._map;e.clamp();for(var r=[],i=0;i>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a>>6*(3-a)&63));var c=s.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join(\"\")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var i=0;i(this.status=d,Promise.resolve(e))),(e=>(this.status=p,Promise.reject(e)))),this.promise):this.promise}}function I(e){return e&&\"string\"==typeof e?JSON.parse(e):e}const S=\"development\"===process.env.NODE_ENV,b=process.env.VUE_APP_PLATFORM,k=\"true\"===process.env.UNI_SECURE_NETWORK_ENABLE||!0===process.env.UNI_SECURE_NETWORK_ENABLE,A=I(process.env.UNI_SECURE_NETWORK_CONFIG),P=\"h5\"===b?\"web\":\"app-plus\"===b?\"app\":b,T=I(process.env.UNICLOUD_DEBUG),C=I(process.env.UNI_CLOUD_PROVIDER)||[],x=process.env.RUN_BY_HBUILDERX;let O=\"\";try{O=(require(\"uni-stat-config\").default||require(\"uni-stat-config\")).appid}catch(e){}let E={};function L(e,t={}){var n,s;return n=E,s=e,Object.prototype.hasOwnProperty.call(n,s)||(E[e]=t),E[e]}\"app\"===P&&(E=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={});const R=[\"invoke\",\"success\",\"fail\",\"complete\"],U=L(\"_globalUniCloudInterceptor\");function N(e,t){U[e]||(U[e]={}),g(t)&&Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){let s=U[e][t];s||(s=U[e][t]=[]),-1===s.indexOf(n)&&m(n)&&s.push(n)}(e,n,t[n])}))}function D(e,t){U[e]||(U[e]={}),g(t)?Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){const s=U[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete U[e]}function M(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function q(e,t){return U[e]&&U[e][t]||[]}function F(e){N(\"callObject\",e)}const K=L(\"_globalUniCloudListener\"),j=\"response\",$=\"needLogin\",B=\"refreshToken\",W=\"clientdb\",H=\"cloudfunction\",z=\"cloudobject\";function J(e){return K[e]||(K[e]=[]),K[e]}function G(e,t){const n=J(e);n.includes(t)||n.push(t)}function V(e,t){const n=J(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function Y(e,t){const n=J(e);for(let e=0;e{X&&e(),function t(){if(\"function\"==typeof getCurrentPages){const t=getCurrentPages();t&&t[0]&&(X=!0,e())}X||setTimeout((()=>{t()}),30)}()})),Q)}function ee(e){const t={};for(const n in e){const s=e[n];m(s)&&(t[n]=y(s))}return t}class te extends Error{constructor(e){super(e.message),this.errMsg=e.message||e.errMsg||\"unknown system error\",this.code=this.errCode=e.code||e.errCode||\"SYSTEM_ERROR\",this.errSubject=this.subject=e.subject||e.errSubject,this.cause=e.cause,this.requestId=e.requestId}toJson(e=0){if(!(e>=10))return e++,{errCode:this.errCode,errMsg:this.errMsg,errSubject:this.errSubject,cause:this.cause&&this.cause.toJson?this.cause.toJson(e):this.cause}}}var ne={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};function se(){return{token:ne.getStorageSync(\"uni_id_token\")||ne.getStorageSync(\"uniIdToken\"),tokenExpired:ne.getStorageSync(\"uni_id_token_expired\")}}function re({token:e,tokenExpired:t}={}){e&&ne.setStorageSync(\"uni_id_token\",e),t&&ne.setStorageSync(\"uni_id_token_expired\",t)}let ie,oe;function ae(){return ie||(ie=uni.getSystemInfoSync()),ie}function ce(){let e,t;try{if(uni.getLaunchOptionsSync){if(uni.getLaunchOptionsSync.toString().indexOf(\"not yet implemented\")>-1)return;const{scene:n,channel:s}=uni.getLaunchOptionsSync();e=s,t=n}}catch(e){}return{channel:e,scene:t}}function ue(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(oe)return{...oe,locale:e,LOCALE:e};const t=ae(),{deviceId:n,osName:s,uniPlatform:r,appId:i}=t,o=[\"pixelRatio\",\"brand\",\"model\",\"system\",\"language\",\"version\",\"platform\",\"host\",\"SDKVersion\",\"swanNativeVersion\",\"app\",\"AppPlatform\",\"fontSizeSetting\"];for(let e=0;e{t(Object.assign(e,{complete(e){e||(e={}),S&&\"web\"===P&&e.errMsg&&0===e.errMsg.indexOf(\"request:fail\")&&console.warn(\"发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5\");const t=e.data&&e.data.header&&e.data.header[\"x-serverless-request-id\"]||e.header&&e.header[\"request-id\"];if(!e.statusCode||e.statusCode>=400)return s(new te({code:\"SYS_ERR\",message:e.errMsg||\"request:fail\",requestId:t}));const r=e.data;if(r.error)return s(new te({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},toBase64:function(e){return a.stringify(o.parse(e))}};var le=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),this.config=Object.assign({},{endpoint:0===e.spaceId.indexOf(\"mp-\")?\"https://api.next.bspapp.com\":\"https://api.bspapp.com\"},e),this.config.provider=\"aliyun\",this.config.requestUrl=this.config.endpoint+\"/client\",this.config.envType=this.config.envType||\"public\",this.config.accessTokenKey=\"access_token_\"+this.config.spaceId,this.adapter=ne,this._getAccessTokenPromiseHub=new v({createPromise:()=>this.requestAuth(this.setupRequest({method:\"serverless.auth.user.anonymousAuthorize\",params:\"{}\"},\"auth\")).then((e=>{if(!e.result||!e.result.accessToken)throw new te({code:\"AUTH_FAILED\",message:\"获取accessToken失败\"});this.setAccessToken(e.result.accessToken)})),retryRule:w})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return he.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return Promise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>new Promise(((e,n)=>{!t||\"GATEWAY_INVALID_TOKEN\"!==t.code&&\"InvalidParameter.InvalidToken\"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})))):this.getAccessToken().then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)}))))}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header[\"x-basement-token\"]=this.accessToken,t.header[\"x-serverless-sign\"]=he.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};return\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=he.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:s}}getAccessToken(){return this._getAccessTokenPromiseHub.exec()}async authorize(){await this.getAccessToken()}callFunction(e){const t={method:\"serverless.function.runtime.invoke\",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:\"serverless.file.resource.generateProximalSign\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,header:{\"X-OSS-server-side-encrpytion\":\"AES256\"},success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){const t={method:\"serverless.file.resource.report\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}async uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",cloudPathAsRealPath:s=!1,onUploadProgress:r,config:i}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const o=i&&i.envType||this.config.envType;if(s&&(\"/\"!==t[0]&&(t=\"/\"+t),t.indexOf(\"\\\\\")>-1))throw new te({code:\"INVALID_PARAM\",message:\"使用cloudPath作为路径时,cloudPath不可包含“\\\\”\"});const a=(await this.getOSSUploadOptionsFromPath({env:o,filename:s?t.split(\"/\").pop():t,fileId:s?t:void 0})).result,c=\"https://\"+a.cdnDomain+\"/\"+a.ossPath,{securityToken:u,accessKeyId:h,signature:l,host:d,ossPath:p,id:g,policy:m,ossCallbackUrl:y}=a,_={\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:h,Signature:l,host:d,id:g,key:p,policy:m,success_action_status:200};if(u&&(_[\"x-oss-security-token\"]=u),y){const e=JSON.stringify({callbackUrl:y,callbackBody:JSON.stringify({fileId:g,spaceId:this.config.spaceId}),callbackBodyType:\"application/json\"});_.callback=he.toBase64(e)}const w={url:\"https://\"+a.host,formData:_,fileName:\"file\",name:\"file\",filePath:e,fileType:n};if(await this.uploadFileToOSS(Object.assign({},w,{onUploadProgress:r})),y)return{success:!0,filePath:e,fileID:c};if((await this.reportOSSUpload({id:g})).success)return{success:!0,filePath:e,fileID:c};throw new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}async getFileInfo({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const t={method:\"serverless.file.resource.info\",params:JSON.stringify({id:e.map((e=>e.split(\"?\")[0])).join(\",\")})};return{fileList:(await this.request(this.setupRequest(t))).result}}};var de={init(e){const t=new le(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};const pe=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var fe;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(fe||(fe={}));var ge=function(){},me=n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[],c=[];!function(){function t(t){for(var n=e.sqrt(t),s=2;s<=n;s++)if(!(t%s))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(a[r]=n(e.pow(s,.5))),c[r]=n(e.pow(s,1/3)),r++),s++}();var u=[],h=o.SHA256=i.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,s=n[0],r=n[1],i=n[2],o=n[3],a=n[4],h=n[5],l=n[6],d=n[7],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var f=u[p-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-16]}var _=s&r^s&i^r&i,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&h^~a&l)+c[p]+u[p];d=l,l=h,h=a,a=o+v|0,o=i,i=r,r=s,s=v+(w+_)|0}n[0]=n[0]+s|0,n[1]=n[1]+r|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+a|0,n[5]=n[5]+h|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(s/4294967296),n[15+(r+64>>>9<<4)]=s,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(h),t.HmacSHA256=i._createHmacHelper(h)}(Math),n.SHA256)})),ye=me,_e=n((function(e,t){e.exports=r.HmacSHA256}));const we=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new te({message:'Your Node runtime does support ES6 Promises. Set \"global.Promise\" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,\"then\",{get:t}),Object.defineProperty(e.promise,\"catch\",{get:t}),e}const t=new Promise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));return e.promise=t,e};function ve(e){return void 0===e}function Ie(e){return\"[object Null]\"===Object.prototype.toString.call(e)}var Se;function be(e){const t=(n=e,\"[object Array]\"===Object.prototype.toString.call(n)?e:[e]);var n;for(const e of t){const{isMatch:t,genAdapter:n,runtime:s}=e;if(t())return{adapter:n(),runtime:s}}}!function(e){e.WEB=\"web\",e.WX_MP=\"wx_mp\"}(Se||(Se={}));const ke={adapter:null,runtime:void 0},Ae=[\"anonymousUuidKey\"];class Pe extends ge{constructor(){super(),ke.adapter.root.tcbObject||(ke.adapter.root.tcbObject={})}setItem(e,t){ke.adapter.root.tcbObject[e]=t}getItem(e){return ke.adapter.root.tcbObject[e]}removeItem(e){delete ke.adapter.root.tcbObject[e]}clear(){delete ke.adapter.root.tcbObject}}function Te(e,t){switch(e){case\"local\":return t.localStorage||new Pe;case\"none\":return new Pe;default:return t.sessionStorage||new Pe}}class Ce{constructor(e){if(!this._storage){this._persistence=ke.adapter.primaryStorage||e.persistence,this._storage=Te(this._persistence,ke.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,i=`login_type_${e.env}`,o=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:i,userInfoKey:o}}}updatePersistence(e){if(e===this._persistence)return;const t=\"local\"===this._persistence;this._persistence=e;const n=Te(e,ke.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&Ae.includes(e))continue;const r=this._storage.getItem(s);ve(r)||Ie(r)||(n.setItem(s,r),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||\"localCachev1\",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}catch(e){throw e}}getStore(e,t){try{if(!this._storage)return}catch(e){return\"\"}t=t||\"localCachev1\";const n=this._storage.getItem(e);if(!n)return\"\";if(n.indexOf(t)>=0){return JSON.parse(n).content}return\"\"}removeStore(e){this._storage.removeItem(e)}}const xe={},Oe={};function Ee(e){return xe[e]}class Le{constructor(e,t){this.data=t||null,this.name=e}}class Re extends Le{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const Ue=new class{constructor(){this._listeners={}}on(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}off(e,t){return function(e,t,n){if(n&&n[e]){const s=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(e instanceof Re)return console.error(e.error),this;const n=\"string\"==typeof e?new Le(e,t||{}):e;const s=n.name;if(this._listens(s)){n.target=this;const e=this._listeners[s]?[...this._listeners[s]]:[];for(const t of e)t.call(this,n)}return this}_listens(e){return this._listeners[e]&&this._listeners[e].length>0}};function Ne(e,t){Ue.on(e,t)}function De(e,t={}){Ue.fire(e,t)}function Me(e,t){Ue.off(e,t)}const qe=\"loginStateChanged\",Fe=\"loginStateExpire\",Ke=\"loginTypeChanged\",je=\"anonymousConverted\",$e=\"refreshAccessToken\";var Be;!function(e){e.ANONYMOUS=\"ANONYMOUS\",e.WECHAT=\"WECHAT\",e.WECHAT_PUBLIC=\"WECHAT-PUBLIC\",e.WECHAT_OPEN=\"WECHAT-OPEN\",e.CUSTOM=\"CUSTOM\",e.EMAIL=\"EMAIL\",e.USERNAME=\"USERNAME\",e.NULL=\"NULL\"}(Be||(Be={}));const We=[\"auth.getJwt\",\"auth.logout\",\"auth.signInWithTicket\",\"auth.signInAnonymously\",\"auth.signIn\",\"auth.fetchAccessTokenWithRefreshToken\",\"auth.signUpWithEmailAndPassword\",\"auth.activateEndUserMail\",\"auth.sendPasswordResetEmail\",\"auth.resetPasswordWithToken\",\"auth.isUsernameRegistered\"],He={\"X-SDK-Version\":\"1.3.5\"};function ze(e,t,n){const s=e[t];e[t]=function(t){const r={},i={};n.forEach((n=>{const{data:s,headers:o}=n.call(e,t);Object.assign(r,s),Object.assign(i,o)}));const o=t.data;return o&&(()=>{var e;if(e=o,\"[object FormData]\"!==Object.prototype.toString.call(e))t.data={...o,...r};else for(const e in r)o.append(e,r[e])})(),t.headers={...t.headers||{},...i},s.call(e,t)}}function Je(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...He,\"x-seqid\":e}}}class Ge{constructor(e={}){var t;this.config=e,this._reqClass=new ke.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]}),this._cache=Ee(this.config.env),this._localCache=(t=this.config.env,Oe[t]),ze(this._reqClass,\"post\",[Je]),ze(this._reqClass,\"upload\",[Je]),ze(this._reqClass,\"download\",[Je])}async post(e){return await this._reqClass.post(e)}async upload(e){return await this._reqClass.upload(e)}async download(e){return await this._reqClass.download(e)}async refreshAccessToken(){let e,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=await this._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throw t;return e}async _refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let i=this._cache.getStore(n);if(!i)throw new te({message:\"未登录CloudBase\"});const o={refresh_token:i},a=await this.request(\"auth.fetchAccessTokenWithRefreshToken\",o);if(a.data.code){const{code:e}=a.data;if(\"SIGN_PARAM_INVALID\"===e||\"REFRESH_TOKEN_EXPIRED\"===e||\"INVALID_REFRESH_TOKEN\"===e){if(this._cache.getStore(s)===Be.ANONYMOUS&&\"INVALID_REFRESH_TOKEN\"===e){const e=this._cache.getStore(r),t=this._cache.getStore(n),s=await this.send(\"auth.signInAnonymously\",{anonymous_uuid:e,refresh_token:t});return this.setRefreshToken(s.refresh_token),this._refreshAccessToken()}De(Fe),this._cache.removeStore(n)}throw new te({code:a.data.code,message:`刷新access token失败:${a.data.code}`})}if(a.data.access_token)return De($e),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,a.data.refresh_token),this._refreshAccessToken())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new te({message:\"refresh token不存在,登录状态异常\"});let s=this._cache.getStore(e),r=this._cache.getStore(t),i=!0;return this._shouldRefreshAccessTokenHook&&!await this._shouldRefreshAccessTokenHook(s,r)&&(i=!1),(!s||!r||r{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){return this._request.send(\"auth.setPrimaryUid\",{uid:e})}unlink(e){return this._request.send(\"auth.unlink\",{platform:e})}async update(e){const{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o}=e,{data:a}=await this._request.send(\"auth.updateUserInfo\",{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o});this.setLocalUserInfo(a)}async refresh(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);[\"uid\",\"loginType\",\"openid\",\"wxOpenId\",\"wxPublicId\",\"unionId\",\"qqMiniOpenId\",\"email\",\"hasPassword\",\"customUserId\",\"nickName\",\"gender\",\"avatarUrl\"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}class Ze{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._cache=Ee(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),i=this._cache.getStore(n),o=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:i,accessTokenExpire:o},this.user=new Xe(e)}get isAnonymousAuth(){return this.loginType===Be.ANONYMOUS}get isCustomAuth(){return this.loginType===Be.CUSTOM}get isWeixinAuth(){return this.loginType===Be.WECHAT||this.loginType===Be.WECHAT_OPEN||this.loginType===Be.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class et extends Qe{async signIn(){this._cache.updatePersistence(\"local\");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,n=this._cache.getStore(e)||void 0,s=this._cache.getStore(t)||void 0,r=await this._request.send(\"auth.signInAnonymously\",{anonymous_uuid:n,refresh_token:s});if(r.uuid&&r.refresh_token){this._setAnonymousUUID(r.uuid),this.setRefreshToken(r.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:Be.ANONYMOUS,persistence:\"local\"});const e=new Ze(this.config.env);return await e.user.refresh(),e}throw new te({message:\"匿名登录失败\"})}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),i=await this._request.send(\"auth.linkAndRetrieveDataWithTicket\",{anonymous_uuid:s,refresh_token:r,ticket:e});if(i.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(i.refresh_token),await this._request.refreshAccessToken(),De(je,{env:this.config.env}),De(Ke,{loginType:Be.CUSTOM,persistence:\"local\"}),{credential:{refreshToken:i.refresh_token}};throw new te({message:\"匿名转化失败\"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,Be.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class tt extends Qe{async signIn(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be a string\"});const{refreshTokenKey:t}=this._cache.keys,n=await this._request.send(\"auth.signInWithTicket\",{ticket:e,refresh_token:this._cache.getStore(t)||\"\"});if(n.refresh_token)return this.setRefreshToken(n.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:Be.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new Ze(this.config.env);throw new te({message:\"自定义登录失败\"})}}class nt extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"email must be a string\"});const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:\"EMAIL\",email:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token:i,access_token_expire:o}=s;if(r)return this.setRefreshToken(r),i&&o?this.setAccessToken(i,o):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:Be.EMAIL,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`邮箱登录失败: ${s.message}`}):new te({message:\"邮箱登录失败\"})}async activate(e){return this._request.send(\"auth.activateEndUserMail\",{token:e})}async resetPasswordWithToken(e,t){return this._request.send(\"auth.resetPasswordWithToken\",{token:e,newPassword:t})}}class st extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});\"string\"!=typeof t&&(t=\"\",console.warn(\"password is empty\"));const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:Be.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token_expire:i,access_token:o}=s;if(r)return this.setRefreshToken(r),o&&i?this.setAccessToken(o,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:Be.USERNAME,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new te({message:\"用户名密码登录失败\"})}}class rt{constructor(e){this.config=e,this._cache=Ee(e.env),this._request=Ye(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Ne(Ke,this._onLoginTypeChanged)}get currentUser(){const e=this.hasLoginState();return e&&e.user||null}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){return new et(this.config)}customAuthProvider(){return new tt(this.config)}emailAuthProvider(){return new nt(this.config)}usernameAuthProvider(){return new st(this.config)}async signInAnonymously(){return new et(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new nt(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new st(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=new et(this.config)),Ne(je,this._onAnonymousConverted);return await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===Be.ANONYMOUS)throw new te({message:\"匿名用户不支持登出操作\"});const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const r=await this._request.send(\"auth.logout\",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),De(qe),De(Ke,{env:this.config.env,loginType:Be.NULL,persistence:this.config.persistence}),r}async signUpWithEmailAndPassword(e,t){return this._request.send(\"auth.signUpWithEmailAndPassword\",{email:e,password:t})}async sendPasswordResetEmail(e){return this._request.send(\"auth.sendPasswordResetEmail\",{email:e})}onLoginStateChanged(e){Ne(qe,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){Ne(Fe,e.bind(this))}onAccessTokenRefreshed(e){Ne($e,e.bind(this))}onAnonymousConverted(e){Ne(je,e.bind(this))}onLoginTypeChanged(e){Ne(Ke,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;return this._cache.getStore(e)?new Ze(this.config.env):null}async isUsernameRegistered(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});const{data:t}=await this._request.send(\"auth.isUsernameRegistered\",{username:e});return t&&t.isRegistered}getLoginState(){return Promise.resolve(this.hasLoginState())}async signInWithTicket(e){return new tt(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){return this._request.send(\"auth.getUserInfo\",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,n=this._cache.getStore(e);return{\"x-cloudbase-credentials\":this._cache.getStore(t)+\"/@@/\"+n}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:n,env:s}=e.data;s===this.config.env&&(this._cache.updatePersistence(n),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}const it=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:i,fileType:o=\"image\"}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:h,cosFileId:l},requestId:d}=e,p={key:s,signature:c,\"x-cos-meta-fileid\":l,success_action_status:\"201\",\"x-cos-security-token\":u};n.upload({url:a,data:p,file:r,name:s,fileType:o,onUploadProgress:i}).then((e=>{201===e.statusCode?t(null,{fileID:h,requestId:d}):t(new te({code:\"STORAGE_REQUEST_FAIL\",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},ot=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},at=function({fileList:e},t){if(t=t||we(),!e||!Array.isArray(e))return{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"};for(let t of e)if(!t||\"string\"!=typeof t)return{code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"};const n={fileid_list:e};return Ye(this.config.env).send(\"storage.batchDeleteFile\",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ct=function({fileList:e},t){t=t||we(),e&&Array.isArray(e)||t(null,{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"});let n=[];for(let s of e)\"object\"==typeof s?(s.hasOwnProperty(\"fileID\")&&s.hasOwnProperty(\"maxAge\")||t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是包含fileID和maxAge的对象\"}),n.push({fileid:s.fileID,max_age:s.maxAge})):\"string\"==typeof s?n.push({fileid:s}):t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是字符串\"});const s={file_list:n};return Ye(this.config.env).send(\"storage.batchGetDownloadUrl\",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ut=async function({fileID:e},t){const n=(await ct.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if(\"SUCCESS\"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=Ye(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},ht=function({name:e,data:t,query:n,parse:s,search:r},i){const o=i||we();let a;try{a=t?JSON.stringify(t):\"\"}catch(e){return Promise.reject(e)}if(!e)return Promise.reject(new te({code:\"PARAM_ERROR\",message:\"函数名不能为空\"}));const c={inQuery:n,parse:s,search:r,function_name:e,request_data:a};return Ye(this.config.env).send(\"functions.invokeFunction\",c).then((e=>{if(e.code)o(null,e);else{let t=e.data.response_data;if(s)o(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),o(null,{result:t,requestId:e.requestId})}catch(e){o(new te({message:\"response data must be json\"}))}}return o.promise})).catch((e=>{o(e)})),o.promise},lt={timeout:15e3,persistence:\"session\"},dt={};class pt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(ke.adapter||(this.requestClient=new ke.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...lt,...e},!0){case this.config.timeout>6e5:console.warn(\"timeout大于可配置上限[10分钟],已重置为上限数值\"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn(\"timeout小于可配置下限[100ms],已重置为下限数值\"),this.config.timeout=100}return new pt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||ke.adapter.primaryStorage||lt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;xe[t]=new Ce(e),Oe[t]=new Ce({...e,persistence:\"local\"})}(this.config),n=this.config,Ve[n.env]=new Ge(n),this.authObj=new rt(this.config),this.authObj}on(e,t){return Ne.apply(this,[e,t])}off(e,t){return Me.apply(this,[e,t])}callFunction(e,t){return ht.apply(this,[e,t])}deleteFile(e,t){return at.apply(this,[e,t])}getTempFileURL(e,t){return ct.apply(this,[e,t])}downloadFile(e,t){return ut.apply(this,[e,t])}uploadFile(e,t){return it.apply(this,[e,t])}getUploadMetadata(e,t){return ot.apply(this,[e,t])}registerExtension(e){dt[e.name]=e}async invokeExtension(e,t){const n=dt[e];if(!n)throw new te({message:`扩展${e} 必须先注册`});return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=be(e)||{};t&&(ke.adapter=t),n&&(ke.runtime=n)}}var ft=new pt;function gt(e,t,n){void 0===n&&(n={});var s=/\\?/.test(t),r=\"\";for(var i in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=i+\"=\"+encodeURIComponent(n[i]);return/^http(s)?:\\/\\//.test(t+=r)?t:\"\"+e+t}class mt{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,r)=>{ne.request({url:gt(\"https:\",t),data:n,method:\"POST\",header:s,success(t){e(t)},fail(e){r(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:i,headers:o,fileType:a}=e,c=ne.uploadFile({url:gt(\"https:\",s),name:\"file\",formData:Object.assign({},i),filePath:r,fileType:a,header:o,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&i.success_action_status&&(n.statusCode=parseInt(i.success_action_status,10)),t(n)},fail(e){n(new Error(e.errMsg||\"uploadFile:fail\"))}});\"function\"==typeof e.onUploadProgress&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const yt={setItem(e,t){ne.setStorageSync(e,t)},getItem:e=>ne.getStorageSync(e),removeItem(e){ne.removeStorageSync(e)},clear(){ne.clearStorageSync()}};var _t={genAdapter:function(){return{root:{},reqClass:mt,localStorage:yt,primaryStorage:\"local\"}},isMatch:function(){return!0},runtime:\"uni_app\"};ft.useAdapters(_t);const wt=ft,vt=wt.init;wt.init=function(e){e.env=e.spaceId;const t=vt.call(this,e);t.config.provider=\"tencent\",t.config.spaceId=e.spaceId;const n=t.auth;return t.auth=function(e){const t=n.call(this,e);return[\"linkAndRetrieveDataWithTicket\",\"signInAnonymously\",\"signOut\",\"getAccessToken\",\"getLoginState\",\"signInWithTicket\",\"getUserInfo\"].forEach((e=>{var n;t[e]=(n=t[e],function(e){e=e||{};const{success:t,fail:s,complete:r}=ee(e);if(!(t||s||r))return n.call(this,e);n.call(this,e).then((e=>{t&&t(e),r&&r(e)}),(e=>{s&&s(e),r&&r(e)}))}).bind(t)})),t},t.customAuth=t.auth,t};var It=wt;var St=class extends le{getAccessToken(){return new Promise(((e,t)=>{const n=\"Anonymous_Access_token\";this.setAccessToken(n),e(n)}))}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=he.sign(n,this.config.clientSecret);const r=ue();s[\"x-client-info\"]=encodeURIComponent(JSON.stringify(r));const{token:i}=se();return s[\"x-client-token\"]=i,{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:JSON.parse(JSON.stringify(s))}}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s}){if(!t)throw new te({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});let r;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:i,formData:o,name:a}=t.result;r=t.result.fileUrl;const c={url:i,formData:o,name:a,filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},c,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))}))))}deleteFile({fileList:e}){const t={method:\"serverless.file.resource.delete\",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t)).then((e=>{if(e.success)return e.result;throw new te({code:\"DELETE_FILE_FAILED\",message:\"删除文件失败\"})}))}getTempFileURL({fileList:e,maxAge:t}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const n={method:\"serverless.file.resource.getTempFileURL\",params:JSON.stringify({fileList:e,maxAge:t})};return this.request(this.setupRequest(n)).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new te({code:\"GET_TEMP_FILE_URL_FAILED\",message:\"获取临时文件链接失败\"})}))}};var bt={init(e){const t=new St(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},kt=n((function(e,t){e.exports=r.enc.Hex}));function At(e=\"\",t={}){const{data:n,functionName:s,method:r,headers:i,signHeaderKeys:o=[],config:a}=t,c=Date.now(),u=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)})),h=Object.assign({},i,{\"x-from-app-id\":a.spaceAppId,\"x-from-env-id\":a.spaceId,\"x-to-env-id\":a.spaceId,\"x-from-instance-id\":c,\"x-from-function-name\":s,\"x-client-timestamp\":c,\"x-alipay-source\":\"client\",\"x-request-id\":u,\"x-alipay-callid\":u}),l=[\"x-from-app-id\",\"x-from-env-id\",\"x-to-env-id\",\"x-from-instance-id\",\"x-from-function-name\",\"x-client-timestamp\"].concat(o),[d=\"\",p=\"\"]=e.split(\"?\")||[],f=function(e){const t=e.signedHeaders.join(\";\"),n=e.signedHeaders.map((t=>`${t.toLowerCase()}:${e.headers[t]}\\n`)).join(\"\"),s=ye(e.body).toString(kt),r=`${e.method.toUpperCase()}\\n${e.path}\\n${e.query}\\n${n}\\n${t}\\n${s}\\n`,i=ye(r).toString(kt),o=`HMAC-SHA256\\n${e.timestamp}\\n${i}\\n`,a=_e(o,e.secretKey).toString(kt);return`HMAC-SHA256 Credential=${e.secretId}, SignedHeaders=${t}, Signature=${a}`}({path:d,query:p,method:r,headers:h,timestamp:c,body:JSON.stringify(n),secretId:a.accessKey,secretKey:a.secretKey,signedHeaders:l.sort()});return{url:`${a.endpoint}${e}`,headers:Object.assign({},h,{Authorization:f})}}function Pt({url:e,data:t,method:n=\"POST\",headers:s={}}){return new Promise(((r,i)=>{ne.request({url:e,method:n,data:t,header:s,dataType:\"json\",complete:(e={})=>{if(!e.statusCode||e.statusCode>=400){const{errMsg:t}=e.data||{};return i(new te({code:\"SYS_ERR\",message:t||e.errMsg||\"request:fail\",requestId:e.requestID}))}r({status:e.statusCode,data:e.data,headers:e.header,requestId:e.requestID})}})}))}function Tt(e,t){const{path:n,data:s,method:r=\"GET\"}=e,{url:i,headers:o}=At(n,{functionName:\"\",data:s,method:r,headers:{\"x-alipay-cloud-mode\":\"oss\",\"x-data-api-type\":\"oss\",\"x-expire-timestamp\":Date.now()+6e4},signHeaderKeys:[\"x-data-api-type\",\"x-expire-timestamp\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>{const t=e.data||{};if(!t.success)throw new te({code:e.code,message:e.message,requestId:e.trace_id});return t.data||{}})).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}function Ct(e=\"\"){const t=e.trim().replace(/^cloud:\\/\\//,\"\"),n=t.indexOf(\"/\");if(n<=0)throw new te({code:\"INVALID_PARAM\",message:\"fileID不合法\"});const s=t.substring(0,n),r=t.substring(n+1);return s!==this.config.spaceId&&console.warn(\"file \".concat(e,\" does not belong to env \").concat(this.config.spaceId)),r}var xt=class{constructor(e){if([\"spaceId\",\"spaceAppId\",\"accessKey\",\"secretKey\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),e.endpoint){if(\"string\"!=typeof e.endpoint)throw new Error(\"endpoint must be string\");if(!/^https:\\/\\//.test(e.endpoint))throw new Error(\"endpoint must start with https://\");e.endpoint=e.endpoint.replace(/\\/$/,\"\")}this.config=Object.assign({},e,{endpoint:e.endpoint||`https://${e.spaceId}.api-hz.cloudbasefunction.cn`})}callFunction(e){return function(e,t){const{name:n,data:s}=e,r=\"POST\",{url:i,headers:o}=At(\"/functions/invokeFunction\",{functionName:n,data:s,method:r,headers:{\"x-to-function-name\":n},signHeaderKeys:[\"x-to-function-name\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>({errCode:0,success:!0,requestId:e.requestId,result:e.data}))).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}(e,this.config)}uploadFileToOSS({url:e,filePath:t,fileType:n,formData:s,onUploadProgress:r}){return new Promise(((i,o)=>{const a=ne.uploadFile({url:e,filePath:t,fileType:n,formData:s,name:\"file\",success(e){e&&e.statusCode<400?i(e):o(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){o(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof r&&a&&\"function\"==typeof a.onProgressUpdate&&a.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}async uploadFile({filePath:e,cloudPath:t=\"\",fileType:n=\"image\",onUploadProgress:s}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const r=await Tt({path:\"/\".concat(t.replace(/^\\//,\"\"),\"?post_url\")},this.config),{file_id:i,upload_url:o,form_data:a}=r,c=a&&a.reduce(((e,t)=>(e[t.key]=t.value,e)),{});return this.uploadFileToOSS({url:o,filePath:e,fileType:n,formData:c,onUploadProgress:s}).then((()=>({fileID:i})))}async getTempFileURL({fileList:e}){return new Promise(((t,n)=>{(!e||e.length<0)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList不能为空数组\"})),e.length>50&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList数组长度不能超过50\"}));const s=[];for(const t of e){\"string\"!==f(t)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList的元素必须是非空的字符串\"}));const e=Ct.call(this,t);s.push({file_id:e,expire:600})}Tt({path:\"/?download_url\",data:{file_list:s},method:\"POST\"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:e.file_id,tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}};var Ot={init:e=>{e.provider=\"alipay\";const t=new xt(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function Et({data:e}){let t;t=ue();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=se();e&&(n.uniIdToken=e)}return n}async function Lt({name:e,data:t}={}){await this.__dev__.initLocalNetwork();const{localAddress:n,localPort:s}=this.__dev__,r={aliyun:\"aliyun\",tencent:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=this.config.spaceId,o=`http://${n}:${s}/system/check-function`,a=`http://${n}:${s}/cloudfunctions/${e}`;return new Promise(((t,n)=>{ne.request({method:\"POST\",url:o,data:{name:e,platform:P,provider:r,spaceId:i},timeout:3e3,success(e){t(e)},fail(){t({data:{code:\"NETWORK_ERROR\",message:\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。\"}})}})})).then((({data:e}={})=>{const{code:t,message:n}=e||{};return{code:0===t?0:t||\"SYS_ERR\",message:n||\"SYS_ERR\"}})).then((({code:n,message:s})=>{if(0!==n){switch(n){case\"MODULE_ENCRYPTED\":console.error(`此云函数(${e})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case\"FUNCTION_ENCRYPTED\":console.error(`此云函数(${e})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case\"ACTION_ENCRYPTED\":console.error(s||\"需要访问加密的uni-clientDB-action,自动切换为云端环境\");break;case\"NETWORK_ERROR\":{const e=\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下\";throw console.error(e),new Error(e)}case\"SWITCH_TO_CLOUD\":break;default:{const e=`检测本地调试服务出现错误:${s},请检查网络环境或重启客户端再试`;throw console.error(e),new Error(e)}}return this._callCloudFunction({name:e,data:t})}return new Promise(((e,n)=>{const s=Et.call(this,{data:t});ne.request({method:\"POST\",url:a,data:{provider:r,platform:P,param:s},success:({statusCode:t,data:s}={})=>!t||t>=400?n(new te({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):e({result:s}),fail(e){n(new te({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const Rt=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var Ut=/[\\\\^$.*+?()[\\]{}|]/g,Nt=RegExp(Ut.source);function Dt(e,t,n){return e.replace(new RegExp((s=t)&&Nt.test(s)?s.replace(Ut,\"\\\\$&\"):s,\"g\"),n);var s}const Mt=\"none\",qt=\"request\",Ft=\"response\",Kt=\"both\";class jt{constructor({secretType:e,uniCloudIns:t}={}){this.clientType=\"\",this.secretType=e||Mt,this.uniCloudIns=t;const{provider:n,spaceId:s}=this.uniCloudIns.config;var r;this.provider=n,this.spaceId=s,this.scopedGlobalCache=(r=this.uniCloudIns,L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",r.config.spaceId)))}getSystemInfo(){return this._systemInfo||(this._systemInfo=ae()),this._systemInfo}get appId(){return this.getSystemInfo().appId}get deviceId(){return this.getSystemInfo().deviceId}async encryptData(e){return this.secretType===Mt?e:this.platformEncryptData(e)}async decryptResult(e){if(this.secretType===Mt)return e;const{errCode:t,content:n}=e||{};return t||!n?e:this.secretType===qt?n:this.platformDecryptResult(e)}wrapVerifyClientCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare(),(s=JSON.parse(JSON.stringify(s)))._uniCloudOptions=await t.platformGetSignOption();let r=await e({name:n,data:s});return t.isClientKeyNotFound(r)&&(await t.prepare({forceUpdate:!0}),s._uniCloudOptions=await t.platformGetSignOption(),r=await e({name:n,data:s})),r}}wrapEncryptDataCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare();const r=await t.encryptData(s);let i=await e({name:n,data:r});if(t.isClientKeyNotFound(i)){await t.prepare({forceUpdate:!0});const r=await t.encryptData(s);s._uniCloudOptions=await t.platformGetSignOption(),i=await e({name:n,data:r})}return i.result=await t.decryptResult(i.result),i}}}\n/*! MIT License. Copyright 2015-2018 Richard Moore . See LICENSE.txt. */function $t(e){return parseInt(e)===e}function Bt(e){if(!$t(e.length))return!1;for(var t=0;t255)return!1;return!0}function Wt(e,t){if(e.buffer&&\"Uint8Array\"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!Bt(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if($t(e.length)&&Bt(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function Ht(e){return new Uint8Array(e)}function zt(e,t,n,s,r){null==s&&null==r||(e=e.slice?e.slice(s,r):Array.prototype.slice.call(e,s,r)),t.set(e,n)}var Jt,Gt={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n191&&s<224?(t.push(String.fromCharCode((31&s)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&s)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join(\"\")}},Vt=(Jt=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],n=0;n>4]+Jt[15&s])}return t.join(\"\")}}),Yt={16:10,24:12,32:14},Qt=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Xt=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Zt=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],en=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],tn=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],nn=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],sn=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],rn=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],on=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],an=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],cn=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],un=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],hn=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ln=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],dn=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function pn(e){for(var t=[],n=0;n>2,this._Ke[n][t%4]=i[t],this._Kd[e-n][t%4]=i[t];for(var o,a=0,c=r;c>16&255]<<24^Xt[o>>8&255]<<16^Xt[255&o]<<8^Xt[o>>24&255]^Qt[a]<<24,a+=1,8!=r)for(t=1;t>8&255]<<8^Xt[o>>16&255]<<16^Xt[o>>24&255]<<24;for(t=r/2+1;t>2,h=c%4,this._Ke[u][h]=i[t],this._Kd[e-u][h]=i[t++],c++}for(var u=1;u>24&255]^hn[o>>16&255]^ln[o>>8&255]^dn[255&o]}encrypt(e){if(16!=e.length)throw new Error(\"invalid plaintext size (must be 16 bytes)\");for(var t=this._Ke.length-1,n=[0,0,0,0],s=pn(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var i=1;i>24&255]^tn[s[(r+1)%4]>>16&255]^nn[s[(r+2)%4]>>8&255]^sn[255&s[(r+3)%4]]^this._Ke[i][r];s=n.slice()}var o,a=Ht(16);for(r=0;r<4;r++)o=this._Ke[t][r],a[4*r]=255&(Xt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Xt[s[(r+1)%4]>>16&255]^o>>16),a[4*r+2]=255&(Xt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Xt[255&s[(r+3)%4]]^o);return a}decrypt(e){if(16!=e.length)throw new Error(\"invalid ciphertext size (must be 16 bytes)\");for(var t=this._Kd.length-1,n=[0,0,0,0],s=pn(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var i=1;i>24&255]^on[s[(r+3)%4]>>16&255]^an[s[(r+2)%4]>>8&255]^cn[255&s[(r+1)%4]]^this._Kd[i][r];s=n.slice()}var o,a=Ht(16);for(r=0;r<4;r++)o=this._Kd[t][r],a[4*r]=255&(Zt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Zt[s[(r+3)%4]>>16&255]^o>>16),a[4*r+2]=255&(Zt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Zt[255&s[(r+1)%4]]^o);return a}}class gn{constructor(e){if(!(this instanceof gn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new fn(e)}encrypt(e){if((e=Wt(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=Ht(e.length),n=Ht(16),s=0;sNumber.MAX_SAFE_INTEGER)throw new Error(\"integer value out of safe range\");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)}setBytes(e){if(16!=(e=Wt(e,!0)).length)throw new Error(\"invalid counter bytes size (must be 16 bytes)\");this._counter=e}increment(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}}}class vn{constructor(e,t){if(!(this instanceof vn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof wn||(t=new wn(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new fn(e)}encrypt(e){for(var t=Wt(e,!0),n=0;n16)throw new Error(\"PKCS#7 padding byte out of range\");for(var n=e.length-t,s=0;s0)return this.userEncryptKey=On,this.userEncryptKey}return new Promise(((e,t)=>{uni.getUserCryptoManager().getLatestUserKey({success:t=>{On=t,this.userEncryptKey=t,e(this.userEncryptKey)},fail:e=>{t(Tn({...An,cause:e}))}})}))}getWxAppId(){return wx.getAccountInfoSync().miniProgram.appId}async platformGetSignOption(){const{encryptKey:e,iv:t,version:n}=await this.getUserEncryptKey();return{verifyClientSign:Sn(JSON.stringify({data:JSON.stringify({}),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),e,t),encryptKeyId:n,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid}}async platformEncryptData(e){const{encryptKey:t,iv:n,version:s}=await this.getUserEncryptKey(),r={secretType:this.secretType,encryptKeyId:s,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid};return this.secretType===Ft?{content:e,_uniCloudOptions:r}:{content:Sn(JSON.stringify({data:JSON.stringify(e),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),t,n),_uniCloudOptions:r}}async platformDecryptResult(e){const{content:t}=e,{encryptKey:n,iv:s}=await this.getUserEncryptKey();return JSON.parse(function(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(e)),r=new Uint8Array(uni.base64ToArrayBuffer(t)),i=In.utils.utf8.toBytes(n),o=new In.ModeOfOperation.cbc(r,i),a=In.padding.pkcs7.strip(o.decrypt(s));return In.utils.utf8.fromBytes(a)}(t,n,s))}isClientKeyNotFound(){return!1}}function Ln(e){const t=[\"hasClientKey\",\"encryptGetClientKeyPayload\",\"setClientKey\",\"encrypt\",\"decrypt\"],n={};for(let s=0;s{\"function\"==typeof e[r]?e[r](...t,(function({type:e,data:t,errCode:r,errMsg:i,errSubject:o,message:a}={}){\"success\"===e?n(t):s(Tn({errCode:r,errMsg:Pn[r]||i||a,errSubject:o}))})):s(Tn({message:\"请检查manifest.json内是否开启安全网络模块,另外注意标准基座不支持安全网络模块\"}))}))}}return n}class Rn extends jt{constructor(e){super(e),this.clientType=\"app\",this.appUtils={...Ln(uni.requireNativePlugin(\"plus\"))},this.systemInfo=Cn||(Cn=ae())}async hasClientKey(){return this._hasClientKey=await this.appUtils.hasClientKey({provider:this.provider,spaceId:this.spaceId}),this._hasClientKey}async getAppClientKey(){const{data:e,key:t}=await this.appUtils.encryptGetClientKeyPayload({data:JSON.stringify({})}),n=(await this.uniCloudIns.callFunction({name:\"DCloud-clientDB\",data:{redirectTo:\"encryption\",action:\"getAppClientKey\",data:e,key:t}})).result||{};if(0!==n.errCode)throw function(e){return new te({subject:e.errSubject||\"uni-secure-network\",code:e.errCode||e.code||bn.code,message:e.errMsg||e.message})}(n);const{clientKey:s,key:r}=n;await this.appUtils.setClientKey({provider:this.provider,spaceId:this.spaceId,clientKey:s,key:r})}async ensureClientKey({forceUpdate:e=!1}={}){if(!0!==await this.hasClientKey()||e)return e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus===l||!e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus!==p||(this.scopedGlobalCache.initPromise=this.getAppClientKey(),this.scopedGlobalCache.initPromise.then((e=>{this.scopedGlobalCache.initStatus=d})).catch((e=>{throw this.scopedGlobalCache.initStatus=p,e})),this.scopedGlobalCache.initStatus=l),this.scopedGlobalCache.initPromise}async prepare({forceUpdate:e=!1}={}){await this.ensureClientKey({forceUpdate:e})}async platformGetSignOption(){const{data:e,key:t}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify({})});return{verifyClientSign:e,encryptKeyId:t}}async platformEncryptData(e){const{data:t,key:n}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify(e)}),s={secretType:this.secretType,encryptKeyId:n};return this.secretType===Ft?{content:e,_uniCloudOptions:s}:{content:t,_uniCloudOptions:s}}async platformDecryptResult(e){const{content:t,_uniCloudOptions:n={}}=e,s=n.encryptKeyId,r=await this.appUtils.decrypt({provider:this.provider,spaceId:this.spaceId,data:t,key:s});return JSON.parse(r.data)}isClientKeyNotFound(e={}){const t=e.result||{};return 70009===t.errCode&&\"uni-secure-network\"===t.errSubject}}function Un({secretType:e}={}){return e===qt||e===Ft||e===Kt}function Nn({name:e,data:t={}}={}){return\"app\"===P&&\"DCloud-clientDB\"===e&&\"encryption\"===t.redirectTo&&\"getAppClientKey\"===t.action}function Dn({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:i}=ae();let o=r;\"app\"===r&&(o=i);const a=function({provider:e,spaceId:t}={}){const n=A;if(!n)return{};e=function(e){return\"tencent\"===e?\"tcb\":e}(e);const s=n.find((n=>n.provider===e&&n.spaceId===t));return s&&s.config}({provider:e,spaceId:t});if(!a||!a.accessControl||!a.accessControl.enable)return!1;const c=a.accessControl.function||{},u=Object.keys(c);if(0===u.length)return!0;const h=function(e,t){let n,s,r;for(let i=0;ie.trim())).indexOf(t)>-1&&(s=o):r=o:n=o}return n||s||r}(u,n);if(!h)return!1;if((c[h]||[]).find(((e={})=>e.appId===s&&(e.platform||\"\").toLowerCase()===o.toLowerCase())))return!0;throw console.error(`此应用[appId: ${s}, platform: ${o}]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client`),Tn(kn)}function Mn({functionName:e,result:t,logPvd:n}){if(S&&this.__dev__.debugLog&&t&&t.requestId){const s=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}function qn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Et.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=Un(n),o=Nn(n),a=i||o;return t.call(this,n).then((e=>(e.errCode=0,!a&&Mn.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&Mn.call(this,{functionName:s,result:e,logPvd:r}),e&&e.message&&(e.message=function({message:e=\"\",extraInfo:t={},formatter:n=[]}={}){for(let s=0;s(console.warn(\"当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),a}}xn=\"mp-weixin\"!==P&&\"app\"!==P?class{constructor(){throw Tn({message:`Platform ${P} is not supported by secure network`})}}:k?\"mp-weixin\"===P?En:Rn:class{constructor(){throw Tn({message:`Platform ${P} is not enabled, please check whether secure network module is enabled in your manifest.json`})}};const Fn=Symbol(\"CLIENT_DB_INTERNAL\");function Kn(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Fn,e.inspect=null,e.__ob__=void 0,new Proxy(e,{get(e,n,s){if(\"_uniClient\"===n)return null;if(\"symbol\"==typeof n)return e[n];if(n in e||\"string\"!=typeof n){const t=e[n];return\"function\"==typeof t?t.bind(e):t}return t.get(e,n,s)}})}function jn(e){return{on:(t,n)=>{e[t]=e[t]||[],e[t].indexOf(n)>-1||e[t].push(n)},off:(t,n)=>{e[t]=e[t]||[];const s=e[t].indexOf(n);-1!==s&&e[t].splice(s,1)}}}const $n=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function Bn(e,t){return $n.indexOf(`${e}.${t}`)>-1}function Wn(e){switch(f(e)){case\"array\":return e.map((e=>Wn(e)));case\"object\":return e._internalType===Fn||Object.keys(e).forEach((t=>{e[t]=Wn(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function Hn(e){return e&&e.content&&e.content.$method}class zn{constructor(e,t,n){this.content=e,this.prevStage=t||null,this.udb=null,this._database=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:Wn(e.$param)})))}}toString(){return JSON.stringify(this.toJSON())}getAction(){const e=this.toJSON().$db.find((e=>\"action\"===e.$method));return e&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>\"action\"!==e.$method))}}get isAggregate(){let e=this;for(;e;){const t=Hn(e),n=Hn(e.prevStage);if(\"aggregate\"===t&&\"collection\"===n||\"pipeline\"===t)return!0;e=e.prevStage}return!1}get isCommand(){let e=this;for(;e;){if(\"command\"===Hn(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=Hn(e),n=Hn(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return Jn({$method:e,$param:Wn(Array.from(arguments))},t,t._database)}}get count(){return this.isAggregate?this.getNextStageFn(\"count\"):function(){return this._send(\"count\",Array.from(arguments))}}get remove(){return this.isCommand?this.getNextStageFn(\"remove\"):function(){return this._send(\"remove\",Array.from(arguments))}}get(){return this._send(\"get\",Array.from(arguments))}get add(){return this.isCommand?this.getNextStageFn(\"add\"):function(){return this._send(\"add\",Array.from(arguments))}}update(){return this._send(\"update\",Array.from(arguments))}end(){return this._send(\"end\",Array.from(arguments))}get set(){return this.isCommand?this.getNextStageFn(\"set\"):function(){throw new Error(\"JQL禁止使用set方法\")}}_send(e,t){const n=this.getAction(),s=this.getCommand();if(s.$db.push({$method:e,$param:Wn(t)}),S){const e=s.$db.find((e=>\"collection\"===e.$method)),t=e&&e.$param;t&&1===t.length&&\"string\"==typeof e.$param[0]&&e.$param[0].indexOf(\",\")>-1&&console.warn(\"检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \\n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。\")}return this._database._callCloudFunction({action:n,command:s})}}function Jn(e,t,n){return Kn(new zn(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),Bn(s,t)?Jn({$method:t},e,n):function(){return Jn({$method:t,$param:Wn(Array.from(arguments))},e,n)}}})}function Gn({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}toString(){return JSON.stringify(this.toJSON())}}}function Vn(e,t={}){return Kn(new e(t),{get:(e,t)=>Bn(\"db\",t)?Jn({$method:t},null,e):function(){return Jn({$method:t,$param:Wn(Array.from(arguments))},null,e)}})}class Yn extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=L(\"_globalUniCloudDatabaseCallback\")),t||(this.auth=jn(this._authCallBacks)),this._isJQL=t,Object.assign(this,jn(this._dbCallBacks)),this.env=Kn({},{get:(e,t)=>({$env:t})}),this.Geo=Kn({},{get:(e,t)=>Gn({path:[\"Geo\"],method:t})}),this.serverDate=Gn({path:[],method:\"serverDate\"}),this.RegExp=Gn({path:[],method:\"RegExp\"})}getCloudEnv(e){if(\"string\"!=typeof e||!e.trim())throw new Error(\"getCloudEnv参数错误\");return{$env:e.replace(\"$cloudEnv_\",\"\")}}_callback(e,t){const n=this._dbCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}_callbackAuth(e,t){const n=this._authCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}multiSend(){const e=Array.from(arguments),t=e.map((e=>{const t=e.getAction(),n=e.getCommand();if(\"getTemp\"!==n.$db[n.$db.length-1].$method)throw new Error(\"multiSend只支持子命令内使用getTemp\");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}{_parseResult(e){return this._isJQL?e.result:e}_callCloudFunction({action:e,command:t,multiCommand:n,queryList:s}){function r(e,t){if(n&&s)for(let n=0;nM(q(o,\"complete\"),e))).then((()=>(r(null,e),Y(j,{type:W,content:e}),Promise.reject(e))))}const c=M(q(o,\"invoke\")),u=this._uniClient;return c.then((()=>u.callFunction({name:\"DCloud-clientDB\",type:h,data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:c,systemInfo:u=[]}=e.result;if(u)for(let e=0;e(console.warn(s),t)})}}return function(e){return M(q(o,\"success\"),e).then((()=>M(q(o,\"complete\"),e))).then((()=>{r(e,null);const t=i._parseResult(e);return Y(j,{type:W,content:t}),Promise.resolve(t)}))}(e)}),(e=>{/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn(\"clientDB未初始化,请在web控制台保存一次schema以开启clientDB\");return a(new te({code:e.code||\"SYSTEM_ERROR\",message:e.message,requestId:e.requestId}))}))}}const Qn=\"token无效,跳转登录页面\",Xn=\"token过期,跳转登录页面\",Zn={TOKEN_INVALID_TOKEN_EXPIRED:Xn,TOKEN_INVALID_INVALID_CLIENTID:Qn,TOKEN_INVALID:Qn,TOKEN_INVALID_WRONG_TOKEN:Qn,TOKEN_INVALID_ANONYMOUS_USER:Qn},es={\"uni-id-token-expired\":Xn,\"uni-id-check-token-failed\":Qn,\"uni-id-token-not-exist\":Qn,\"uni-id-check-device-feature-failed\":Qn};function ts(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function ns(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(ts(t,e.path)):!1===e.needLogin&&s.push(ts(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function ss(e){return e.split(\"?\")[0].replace(/^\\//,\"\")}function rs(){return function(e){let t=e&&e.$page&&e.$page.fullPath||\"\";return t?(\"/\"!==t.charAt(0)&&(t=\"/\"+t),t):t}(function(){const e=getCurrentPages();return e[e.length-1]}())}function is(){return ss(rs())}function os(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=ss(e);return n.some((e=>e.pagePath===s))}const as=!!e.uniIdRouter;const{loginPage:cs,routerNeedLogin:us,resToLogin:hs,needLoginPage:ls,notNeedLoginPage:ds,loginPageInTabBar:ps}=function({pages:t=[],subPackages:n=[],uniIdRouter:s={},tabBar:r={}}=e){const{loginPage:i,needLogin:o=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=ns(t),{needLoginPage:h,notNeedLoginPage:l}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:o}=ns(r,s);t.push(...i),n.push(...o)})),{needLoginPage:t,notNeedLoginPage:n}}(n);return{loginPage:i,routerNeedLogin:o,resToLogin:a,needLoginPage:[...c,...h],notNeedLoginPage:[...u,...l],loginPageInTabBar:os(i,r)}}();if(ls.indexOf(cs)>-1)throw new Error(`Login page [${cs}] should not be \"needLogin\", please check your pages.json`);function fs(e){const t=is();if(\"/\"===e.charAt(0))return e;const[n,s]=e.split(\"?\"),r=n.replace(/^\\//,\"\").split(\"/\"),i=t.split(\"/\");i.pop();for(let e=0;e-1)&&(ls.indexOf(t)>-1||us.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function ms({redirect:e}){const t=ss(e),n=ss(cs);return is()!==n&&t!==n}function ys({api:e,redirect:t}={}){if(!t||!ms({redirect:t}))return;const n=function(e,t){return\"/\"!==e.charAt(0)&&(e=\"/\"+e),t?e.indexOf(\"?\")>-1?e+`&uniIdRedirectUrl=${encodeURIComponent(t)}`:e+`?uniIdRedirectUrl=${encodeURIComponent(t)}`:e}(cs,t);ps?\"navigateTo\"!==e&&\"redirectTo\"!==e||(e=\"switchTab\"):\"switchTab\"===e&&(e=\"navigateTo\");const s={navigateTo:uni.navigateTo,redirectTo:uni.redirectTo,switchTab:uni.switchTab,reLaunch:uni.reLaunch};setTimeout((()=>{s[e]({url:n})}))}function _s({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=se();let n;if(e){if(t0)return setTimeout((()=>{Y($,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function ws(){!function(){const e=rs(),{abortLoginPageJump:t,autoToLoginPage:n}=_s({url:e});t||n&&ys({api:\"redirectTo\",redirect:e})}();const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t{const{type:t,content:n}=e;let s=!1;switch(t){case\"cloudobject\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in es}(n);break;case\"clientdb\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in Zn}(n)}s&&function(e={}){const t=J($);Z().then((()=>{const n=rs();if(n&&ms({redirect:n}))return t.length>0?Y($,Object.assign({uniIdRedirectUrl:n},e)):void(cs&&ys({api:\"navigateTo\",redirect:n}))}))}(n)}))}function Is(e){!function(e){e.onResponse=function(e){G(j,e)},e.offResponse=function(e){V(j,e)}}(e),function(e){e.onNeedLogin=function(e){G($,e)},e.offNeedLogin=function(e){V($,e)},as&&(L(\"_globalUniCloudStatus\").needLoginInit||(L(\"_globalUniCloudStatus\").needLoginInit=!0,Z().then((()=>{ws.call(e)})),hs&&vs.call(e)))}(e),function(e){e.onRefreshToken=function(e){G(B,e)},e.offRefreshToken=function(e){V(B,e)}}(e)}let Ss;const bs=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",ks=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function As(){const e=se().token||\"\",t=e.split(\".\");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((s=t[1],decodeURIComponent(Ss(s).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(e){throw new Error(\"获取当前用户信息出错,详细错误信息为:\"+e.message)}var s;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}Ss=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!ks.test(e))throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");var t;e+=\"==\".slice(2-(3&e.length));for(var n,s,r=\"\",i=0;i>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var Ps=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=\"chooseAndUploadFile:ok\",s=\"chooseAndUploadFile:fail\";function r(e,t){return e.tempFiles.forEach(((e,n)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf(\"/\")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+\"_\"+n+e.name.substring(e.name.lastIndexOf(\".\"))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}function i(e,t,{onChooseFile:s,onUploadProgress:r}){return t.then((e=>{if(s){const t=s(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,r){(t=Object.assign({},t)).errMsg=n;const i=t.tempFiles,o=i.length;let a=0;return new Promise((n=>{for(;a=o)return void(!i.find((e=>!e.url&&!e.errMsg))&&n(t));const u=i[s];e.uploadFile({filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,cloudPathAsRealPath:u.cloudPathAsRealPath,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s{u.errMsg=e.errMsg||e.message,s{uni.chooseImage({count:t,sizeType:n,sourceType:i,extension:o,success(t){e(r(t,\"image\"))},fail(e){a({errMsg:e.errMsg.replace(\"chooseImage:fail\",s)})}})}))}(t),t):\"video\"===t.type?i(e,function(e){const{camera:t,compressed:n,maxDuration:i,sourceType:o=[\"album\",\"camera\"],extension:a}=e;return new Promise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:i,sourceType:o,extension:a,success(t){const{tempFilePath:n,duration:s,size:i,height:o,width:a}=t;e(r({errMsg:\"chooseVideo:ok\",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||\"\",path:n,size:i,type:t.tempFile&&t.tempFile.type||\"\",width:a,height:o,duration:s,fileType:\"video\",cloudPath:\"\"}]},\"video\"))},fail(e){c({errMsg:e.errMsg.replace(\"chooseVideo:fail\",s)})}})}))}(t),t):i(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,i)=>{let o=uni.chooseFile;if(\"undefined\"!=typeof wx&&\"function\"==typeof wx.chooseMessageFile&&(o=wx.chooseMessageFile),\"function\"!=typeof o)return i({errMsg:s+\" 请指定 type 类型,该平台仅支持选择 image 或 video。\"});o({type:\"all\",count:t,extension:n,success(t){e(r(t))},fail(e){i({errMsg:e.errMsg.replace(\"chooseFile:fail\",s)})}})}))}(t),t)}}})),Ts=t(Ps);const Cs=\"manual\";function xs(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},spaceInfo:{type:Object,default:()=>({})},collection:{type:[String,Array],default:\"\"},action:{type:String,default:\"\"},field:{type:String,default:\"\"},orderby:{type:String,default:\"\"},where:{type:[String,Object],default:\"\"},pageData:{type:String,default:\"add\"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:\"\"},limitlevel:{type:Number,default:10},groupby:{type:String,default:\"\"},groupField:{type:String,default:\"\"},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:\"\"},loadtime:{type:String,default:\"auto\"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:\"\",mixinDatacomPage:{}}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{var e=[];return[\"pageCurrent\",\"pageSize\",\"localdata\",\"collection\",\"action\",\"field\",\"orderby\",\"where\",\"getont\",\"getcount\",\"gettree\",\"groupby\",\"groupField\",\"distinct\"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===Cs)return;let n=!1;const s=[];for(let r=2;r{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,n&&n(e)})))},mixinDatacomGet(t={}){let n=e.database(this.spaceInfo);const s=t.action||this.action;s&&(n=n.action(s));const r=t.collection||this.collection;n=Array.isArray(r)?n.collection(...r):n.collection(r);const i=t.where||this.where;i&&Object.keys(i).length&&(n=n.where(i));const o=t.field||this.field;o&&(n=n.field(o));const a=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));const c=t.groupby||this.groupby;c&&(n=n.groupBy(c));const u=t.groupField||this.groupField;u&&(n=n.groupField(u));!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const h=t.orderby||this.orderby;h&&(n=n.orderBy(h));const l=void 0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void 0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,p=void 0!==t.getcount?t.getcount:this.getcount,f=void 0!==t.gettree?t.gettree:this.gettree,g=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:p},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return f&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(l-1)).limit(d).get(m),n}}}}function Os(e){return function(t,n={}){n=function(e,t={}){return e.customUI=t.customUI||e.customUI,e.parseSystemError=t.parseSystemError||e.parseSystemError,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),\"object\"==typeof t.secretMethods&&(e.secretMethods=t.secretMethods),e}({customUI:!1,loadingOptions:{title:\"加载中...\",mask:!0},errorOptions:{type:\"modal\",retry:!1}},n);const{customUI:s,loadingOptions:r,errorOptions:i,parseSystemError:o}=n,a=!s;return new Proxy({},{get:(s,c)=>function({fn:e,interceptorName:t,getCallbackArgs:n}={}){return async function(...s){const r=n?n({params:s}):{};let i,o;try{return await M(q(t,\"invoke\"),{...r}),i=await e(...s),await M(q(t,\"success\"),{...r,result:i}),i}catch(e){throw o=e,await M(q(t,\"fail\"),{...r,error:o}),o}finally{await M(q(t,\"complete\"),o?{...r,error:o}:{...r,result:i})}}}({fn:async function s(...h){let l;a&&uni.showLoading({title:r.title,mask:r.mask});const d={name:t,type:u,data:{method:c,params:h}};\"object\"==typeof n.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s[\"*\"];r&&(t.secretType=r)}(n,d);let p=!1;try{l=await e.callFunction(d)}catch(e){p=!0,l={result:new te(e)}}const{errSubject:f,errCode:g,errMsg:m,newToken:y}=l.result||{};if(a&&uni.hideLoading(),y&&y.token&&y.tokenExpired&&(re(y),Y(B,{...y})),g){let e=m;if(p&&o){e=(await o({objectName:t,methodName:c,params:h,errSubject:f,errCode:g,errMsg:m})).errMsg||m}if(a)if(\"toast\"===i.type)uni.showToast({title:e,icon:\"none\"});else{if(\"modal\"!==i.type)throw new Error(`Invalid errorOptions.type: ${i.type}`);{const{confirm:t}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:r}={}){return new Promise(((i,o)=>{uni.showModal({title:e,content:t,showCancel:n,cancelText:s,confirmText:r,success(e){i(e)},fail(){i({confirm:!1,cancel:!0})}})}))}({title:\"提示\",content:e,showCancel:i.retry,cancelText:\"取消\",confirmText:i.retry?\"重试\":\"确定\"});if(i.retry&&t)return s(...h)}}const n=new te({subject:f,code:g,message:m,requestId:l.requestId});throw n.detail=l.result,Y(j,{type:z,content:n}),n}return Y(j,{type:z,content:l.result}),l.result},interceptorName:\"callObject\",getCallbackArgs:function({params:e}={}){return{objectName:t,methodName:c,params:e}}})})}}function Es(e){return L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",e.config.spaceId))}async function Ls({openid:e,callLoginByWeixin:t=!1}={}){const n=Es(this);if(\"mp-weixin\"!==P)throw new Error(`[SecureNetwork] API \\`initSecureNetworkByWeixin\\` is not supported on platform \\`${P}\\``);if(e&&t)throw new Error(\"[SecureNetwork] openid and callLoginByWeixin cannot be passed at the same time\");if(e)return n.mpWeixinOpenid=e,{};const s=await new Promise(((e,t)=>{uni.login({success(t){e(t.code)},fail(e){t(new Error(e.errMsg))}})})),r=this.importObject(\"uni-id-co\",{customUI:!0});return await r.secureNetworkHandshakeByWeixin({code:s,callLoginByWeixin:t}),n.mpWeixinCode=s,{code:s}}async function Rs(e){const t=Es(this);return t.initPromise||(t.initPromise=Ls.call(this,e)),t.initPromise}function Us(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Rs.call(e,{openid:t,callLoginByWeixin:n})}}function Ns(e){const t={getSystemInfo:uni.getSystemInfo,getPushClientId:uni.getPushClientId};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class Ds extends class{constructor(){this._callback={}}addListener(e,t){this._callback[e]||(this._callback[e]=[]),this._callback[e].push(t)}on(e,t){return this.addListener(e,t)}removeListener(e,t){if(!t)throw new Error('The \"listener\" argument must be of type function. Received undefined');const n=this._callback[e];if(!n)return;const s=function(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]===t)return n;return-1}(n,t);n.splice(s,1)}off(e,t){return this.removeListener(e,t)}removeAllListener(e){delete this._callback[e]}emit(e,...t){const n=this._callback[e];if(n)for(let e=0;e{if(!e)throw new Error(\"Invalid appId, please check the manifest.json file\");if(!t)throw new Error(\"Invalid push client id\");this._appId=e,this._pushClientId=t,this._seqId=Date.now()+\"-\"+Math.floor(9e5*Math.random()+1e5),this.emit(\"open\"),this._initMessageListener()}),(e=>{throw this.emit(\"error\",e),this.close(),e}))}async open(){return this.init()}_isUniCloudSSE(e){if(\"receive\"!==e.type)return!1;const t=e&&e.data&&e.data.payload;return!(!t||\"UNI_CLOUD_SSE\"!==t.channel||t.seqId!==this._seqId)}_receivePushMessage(e){if(!this._isUniCloudSSE(e))return;const t=e&&e.data&&e.data.payload,{action:n,messageId:s,message:r}=t;this._payloadQueue.push({action:n,messageId:s,message:r}),this._consumMessage()}_consumMessage(){for(;;){const e=this._payloadQueue.find((e=>e.messageId===this._currentMessageId+1));if(!e)break;this._currentMessageId++,this._parseMessagePayload(e)}}_parseMessagePayload(e){const{action:t,messageId:n,message:s}=e;\"end\"===t?this._end({messageId:n,message:s}):\"message\"===t&&this._appendMessage({messageId:n,message:s})}_appendMessage({messageId:e,message:t}={}){this.emit(\"message\",t)}_end({messageId:e,message:t}={}){this.emit(\"end\",t),this.close()}_initMessageListener(){uni.onPushMessage(this._uniPushMessageCallback)}_destroy(){uni.offPushMessage(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit(\"close\")}}async function Ms(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{ne.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}var s}async function qs(e){if(!S)return Promise.resolve();if(\"app\"===P){const{osName:e,osVersion:t}=ae();\"ios\"===e&&function(e){if(!e||\"string\"!=typeof e)return 0;const t=e.match(/^(\\d+)./);return t&&t[1]?parseInt(t[1]):0}(t)>=14&&console.warn(\"iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发模式生效,发行模式会连接uniCloud云端服务)\")}const t=e.__dev__;if(!t.debugInfo)return;const{address:n,servePort:s}=t.debugInfo,{address:r}=await async function(e,t){let n;for(let s=0;s{setTimeout((()=>{e()}),n)}));const s=e.auth();return t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously()))}}))}const Ks={tcb:It,tencent:It,aliyun:de,private:bt,alipay:Ot};let js=new class{init(e){let t={};const n=Ks[e.provider];if(!n)throw new Error(\"未提供正确的provider参数\");t=n.init(e),S&&function(e){if(!S)return;const t={};e.__dev__=t,t.debugLog=S&&(\"web\"===P&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app\"===P);const n=T;n&&!n.code&&(t.debugInfo=n);const s=new v({createPromise:function(){return qs(e)}});t.initLocalNetwork=function(){return s.exec()}}(t),Fs(t),qn(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),function(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;const n=Vn(Yn,{uniClient:e});return this._database=n,n},e.databaseForJQL=function(t){if(t&&Object.keys(t).length>0)return e.init(t).databaseForJQL();if(this._databaseForJQL)return this._databaseForJQL;const n=Vn(Yn,{uniClient:e,isJQL:!0});return this._databaseForJQL=n,n}}(t),function(e){e.getCurrentUserInfo=As,e.chooseAndUploadFile=Ts.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return xs(e)}}),e.SSEChannel=Ds,e.initSecureNetworkByWeixin=Us(e),e.importObject=Os(e)}(t);return[\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"chooseAndUploadFile\"].forEach((e=>{if(!t[e])return;const n=t[e];t[e]=function(){return n.apply(t,Array.from(arguments))},t[e]=function(e,t){return function(n){let s=!1;if(\"callFunction\"===t){const e=n&&n.type||c;s=e!==c}const r=\"callFunction\"===t&&!s,i=this._initPromiseHub.exec();n=n||{};const{success:o,fail:a,complete:u}=ee(n),h=i.then((()=>s?Promise.resolve():M(q(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):M(q(t,\"success\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(r&&Y(j,{type:H,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):M(q(t,\"fail\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(Y(j,{type:H,content:e}),Promise.reject(e))))));if(!(o||a||u))return h;h.then((e=>{o&&o(e),u&&u(e),r&&Y(j,{type:H,content:e})}),(e=>{a&&a(e),u&&u(e),r&&Y(j,{type:H,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=C;let t={};if(e&&1===e.length)t=e[0],js=js.init(t),js._isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\",\"importObject\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":x?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{js[e]=function(){return console.error(n),Promise.reject(new te({code:\"SYS_ERR\",message:n}))}}))}Object.assign(js,{get mixinDatacom(){return xs(js)}}),Is(js),js.addInterceptor=N,js.removeInterceptor=D,js.interceptObject=F,S&&\"web\"===P&&(window.uniCloud=js)})();var $s=js;export{$s as default};\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default {\"appid\":\"__UNI__1066059\"}","/*\r\n * uCharts (R)\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts (R) 官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n'use strict';\r\n\r\nvar config = {\r\n version: 'v2.5.0-20230101',\r\n yAxisWidth: 15,\r\n xAxisHeight: 22,\r\n padding: [10, 10, 10, 10],\r\n rotate: false,\r\n fontSize: 13,\r\n fontColor: '#666666',\r\n dataPointShape: ['circle', 'circle', 'circle', 'circle'],\r\n color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'],\r\n linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'],\r\n pieChartLinePadding: 15,\r\n pieChartTextPadding: 5,\r\n titleFontSize: 20,\r\n subtitleFontSize: 15,\r\n radarLabelTextMargin: 13,\r\n};\r\n\r\nvar assign = function(target, ...varArgs) {\r\n if (target == null) {\r\n throw new TypeError('[uCharts] Cannot convert undefined or null to object');\r\n }\r\n if (!varArgs || varArgs.length <= 0) {\r\n return target;\r\n }\r\n // 深度合并对象\r\n function deepAssign(obj1, obj2) {\r\n for (let key in obj2) {\r\n obj1[key] = obj1[key] && obj1[key].toString() === \"[object Object]\" ?\r\n deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key];\r\n }\r\n return obj1;\r\n }\r\n varArgs.forEach(val => {\r\n target = deepAssign(target, val);\r\n });\r\n return target;\r\n};\r\n\r\nvar util = {\r\n toFixed: function toFixed(num, limit) {\r\n limit = limit || 2;\r\n if (this.isFloat(num)) {\r\n num = num.toFixed(limit);\r\n }\r\n return num;\r\n },\r\n isFloat: function isFloat(num) {\r\n return num % 1 !== 0;\r\n },\r\n approximatelyEqual: function approximatelyEqual(num1, num2) {\r\n return Math.abs(num1 - num2) < 1e-10;\r\n },\r\n isSameSign: function isSameSign(num1, num2) {\r\n return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2;\r\n },\r\n isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) {\r\n return this.isSameSign(p1.x, p2.x);\r\n },\r\n isCollision: function isCollision(obj1, obj2) {\r\n obj1.end = {};\r\n obj1.end.x = obj1.start.x + obj1.width;\r\n obj1.end.y = obj1.start.y - obj1.height;\r\n obj2.end = {};\r\n obj2.end.x = obj2.start.x + obj2.width;\r\n obj2.end.y = obj2.start.y - obj2.height;\r\n var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y;\r\n return !flag;\r\n }\r\n};\r\n\r\n//兼容H5点击事件\r\nfunction getH5Offset(e) {\r\n e.mp = {\r\n changedTouches: []\r\n };\r\n e.mp.changedTouches.push({\r\n x: e.offsetX,\r\n y: e.offsetY\r\n });\r\n return e;\r\n}\r\n\r\n// hex 转 rgba\r\nfunction hexToRgb(hexValue, opc) {\r\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n var hex = hexValue.replace(rgx, function(m, r, g, b) {\r\n return r + r + g + g + b + b;\r\n });\r\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n var r = parseInt(rgb[1], 16);\r\n var g = parseInt(rgb[2], 16);\r\n var b = parseInt(rgb[3], 16);\r\n return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';\r\n}\r\n\r\nfunction findRange(num, type, limit) {\r\n if (isNaN(num)) {\r\n throw new Error('[uCharts] series数据需为Number格式');\r\n }\r\n limit = limit || 10;\r\n type = type ? type : 'upper';\r\n var multiple = 1;\r\n while (limit < 1) {\r\n limit *= 10;\r\n multiple *= 10;\r\n }\r\n if (type === 'upper') {\r\n num = Math.ceil(num * multiple);\r\n } else {\r\n num = Math.floor(num * multiple);\r\n }\r\n while (num % limit !== 0) {\r\n if (type === 'upper') {\r\n if (num == num + 1) { //修复数据值过大num++无效的bug by 向日葵 @xrk_jy\r\n break;\r\n }\r\n num++;\r\n } else {\r\n num--;\r\n }\r\n }\r\n return num / multiple;\r\n}\r\n\r\nfunction calCandleMA(dayArr, nameArr, colorArr, kdata) {\r\n let seriesTemp = [];\r\n for (let k = 0; k < dayArr.length; k++) {\r\n let seriesItem = {\r\n data: [],\r\n name: nameArr[k],\r\n color: colorArr[k]\r\n };\r\n for (let i = 0, len = kdata.length; i < len; i++) {\r\n if (i < dayArr[k]) {\r\n seriesItem.data.push(null);\r\n continue;\r\n }\r\n let sum = 0;\r\n for (let j = 0; j < dayArr[k]; j++) {\r\n sum += kdata[i - j][1];\r\n }\r\n seriesItem.data.push(+(sum / dayArr[k]).toFixed(3));\r\n }\r\n seriesTemp.push(seriesItem);\r\n }\r\n return seriesTemp;\r\n}\r\n\r\nfunction calValidDistance(self, distance, chartData, config, opts) {\r\n var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3];\r\n var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n dataChartWidth += (opts.extra.mount.widthRatio - 1)*chartData.eachSpacing;\r\n }\r\n var validDistance = distance;\r\n if (distance >= 0) {\r\n validDistance = 0;\r\n self.uevent.trigger('scrollLeft');\r\n self.scrollOption.position = 'left'\r\n opts.xAxis.scrollPosition = 'left';\r\n } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) {\r\n validDistance = dataChartAreaWidth - dataChartWidth;\r\n self.uevent.trigger('scrollRight');\r\n self.scrollOption.position = 'right'\r\n opts.xAxis.scrollPosition = 'right';\r\n } else {\r\n self.scrollOption.position = distance\r\n opts.xAxis.scrollPosition = distance;\r\n }\r\n return validDistance;\r\n}\r\n\r\nfunction isInAngleRange(angle, startAngle, endAngle) {\r\n function adjust(angle) {\r\n while (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n while (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n }\r\n angle = adjust(angle);\r\n startAngle = adjust(startAngle);\r\n endAngle = adjust(endAngle);\r\n if (startAngle > endAngle) {\r\n endAngle += 2 * Math.PI;\r\n if (angle < startAngle) {\r\n angle += 2 * Math.PI;\r\n }\r\n }\r\n return angle >= startAngle && angle <= endAngle;\r\n}\r\n\r\nfunction createCurveControlPoints(points, i) {\r\n function isNotMiddlePoint(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y,\r\n points[i + 1].y);\r\n } else {\r\n return false;\r\n }\r\n }\r\n function isNotMiddlePointX(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x,\r\n points[i + 1].x);\r\n } else {\r\n return false;\r\n }\r\n }\r\n var a = 0.2;\r\n var b = 0.2;\r\n var pAx = null;\r\n var pAy = null;\r\n var pBx = null;\r\n var pBy = null;\r\n if (i < 1) {\r\n pAx = points[0].x + (points[1].x - points[0].x) * a;\r\n pAy = points[0].y + (points[1].y - points[0].y) * a;\r\n } else {\r\n pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a;\r\n pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a;\r\n }\r\n\r\n if (i > points.length - 3) {\r\n var last = points.length - 1;\r\n pBx = points[last].x - (points[last].x - points[last - 1].x) * b;\r\n pBy = points[last].y - (points[last].y - points[last - 1].y) * b;\r\n } else {\r\n pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b;\r\n pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b;\r\n }\r\n if (isNotMiddlePoint(points, i + 1)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (isNotMiddlePoint(points, i)) {\r\n pAy = points[i].y;\r\n }\r\n if (isNotMiddlePointX(points, i + 1)) {\r\n pBx = points[i + 1].x;\r\n }\r\n if (isNotMiddlePointX(points, i)) {\r\n pAx = points[i].x;\r\n }\r\n if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pAy = points[i].y;\r\n }\r\n if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pAx = points[i].x;\r\n }\r\n if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pBx = points[i + 1].x;\r\n }\r\n return {\r\n ctrA: {\r\n x: pAx,\r\n y: pAy\r\n },\r\n ctrB: {\r\n x: pBx,\r\n y: pBy\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction convertCoordinateOrigin(x, y, center) {\r\n return {\r\n x: center.x + x,\r\n y: center.y - y\r\n };\r\n}\r\n\r\nfunction avoidCollision(obj, target) {\r\n if (target) {\r\n // is collision test\r\n while (util.isCollision(obj, target)) {\r\n if (obj.start.x > 0) {\r\n obj.start.y--;\r\n } else if (obj.start.x < 0) {\r\n obj.start.y++;\r\n } else {\r\n if (obj.start.y > 0) {\r\n obj.start.y++;\r\n } else {\r\n obj.start.y--;\r\n }\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\nfunction fixPieSeries(series, opts, config){\r\n let pieSeriesArr = [];\r\n if(series.length>0 && series[0].data.constructor.toString().indexOf('Array') > -1){\r\n opts._pieSeries_ = series;\r\n let oldseries = series[0].data;\r\n for (var i = 0; i < oldseries.length; i++) {\r\n oldseries[i].formatter = series[0].formatter;\r\n oldseries[i].data = oldseries[i].value;\r\n pieSeriesArr.push(oldseries[i]);\r\n }\r\n opts.series = pieSeriesArr;\r\n }else{\r\n pieSeriesArr = series;\r\n }\r\n return pieSeriesArr;\r\n}\r\n\r\nfunction fillSeries(series, opts, config) {\r\n var index = 0;\r\n for (var i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if (!item.color) {\r\n item.color = config.color[index];\r\n index = (index + 1) % config.color.length;\r\n }\r\n if (!item.linearIndex) {\r\n item.linearIndex = i;\r\n }\r\n if (!item.index) {\r\n item.index = 0;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (typeof item.show == \"undefined\") {\r\n item.show = true;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (!item.pointShape) {\r\n item.pointShape = \"circle\";\r\n }\r\n if (!item.legendShape) {\r\n switch (item.type) {\r\n case 'line':\r\n item.legendShape = \"line\";\r\n break;\r\n case 'column':\r\n case 'bar':\r\n item.legendShape = \"rect\";\r\n break;\r\n case 'area':\r\n case 'mount':\r\n item.legendShape = \"triangle\";\r\n break;\r\n default:\r\n item.legendShape = \"circle\";\r\n }\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction fillCustomColor(linearType, customColor, series, config) {\r\n var newcolor = customColor || [];\r\n if (linearType == 'custom' && newcolor.length == 0 ) {\r\n newcolor = config.linearColor;\r\n }\r\n if (linearType == 'custom' && newcolor.length < series.length) {\r\n let chazhi = series.length - newcolor.length;\r\n for (var i = 0; i < chazhi; i++) {\r\n newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]);\r\n }\r\n }\r\n return newcolor;\r\n}\r\n\r\nfunction getDataRange(minData, maxData) {\r\n var limit = 0;\r\n var range = maxData - minData;\r\n if (range >= 10000) {\r\n limit = 1000;\r\n } else if (range >= 1000) {\r\n limit = 100;\r\n } else if (range >= 100) {\r\n limit = 10;\r\n } else if (range >= 10) {\r\n limit = 5;\r\n } else if (range >= 1) {\r\n limit = 1;\r\n } else if (range >= 0.1) {\r\n limit = 0.1;\r\n } else if (range >= 0.01) {\r\n limit = 0.01;\r\n } else if (range >= 0.001) {\r\n limit = 0.001;\r\n } else if (range >= 0.0001) {\r\n limit = 0.0001;\r\n } else if (range >= 0.00001) {\r\n limit = 0.00001;\r\n } else {\r\n limit = 0.000001;\r\n }\r\n return {\r\n minRange: findRange(minData, 'lower', limit),\r\n maxRange: findRange(maxData, 'upper', limit)\r\n };\r\n}\r\n\r\nfunction measureText(text, fontSize, context) {\r\n var width = 0;\r\n text = String(text);\r\n\r\n\r\n\r\n if (context !== false && context !== undefined && context.setFontSize && context.measureText) {\r\n context.setFontSize(fontSize);\r\n return context.measureText(text).width;\r\n } else {\r\n var text = text.split('');\r\n for (let i = 0; i < text.length; i++) {\r\n let item = text[i];\r\n if (/[a-zA-Z]/.test(item)) {\r\n width += 7;\r\n } else if (/[0-9]/.test(item)) {\r\n width += 5.5;\r\n } else if (/\\./.test(item)) {\r\n width += 2.7;\r\n } else if (/-/.test(item)) {\r\n width += 3.25;\r\n } else if (/:/.test(item)) {\r\n width += 2.5;\r\n } else if (/[\\u4e00-\\u9fa5]/.test(item)) {\r\n width += 10;\r\n } else if (/\\(|\\)/.test(item)) {\r\n width += 3.73;\r\n } else if (/\\s/.test(item)) {\r\n width += 2.5;\r\n } else if (/%/.test(item)) {\r\n width += 8;\r\n } else {\r\n width += 10;\r\n }\r\n }\r\n return width * fontSize / 10;\r\n }\r\n}\r\n\r\nfunction dataCombine(series) {\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data);\r\n }, []);\r\n}\r\n\r\nfunction dataCombineStack(series, len) {\r\n var sum = new Array(len);\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] = 0;\r\n }\r\n for (var i = 0; i < series.length; i++) {\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] += series[i].data[j];\r\n }\r\n }\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data).concat(sum);\r\n }, []);\r\n}\r\n\r\nfunction getTouches(touches, opts, e) {\r\n let x, y;\r\n if (touches.clientX) {\r\n if (opts.rotate) {\r\n y = opts.height - touches.clientX * opts.pix;\r\n x = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n } else {\r\n x = touches.clientX * opts.pix;\r\n y = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n }\r\n } else {\r\n if (opts.rotate) {\r\n y = opts.height - touches.x * opts.pix;\r\n x = touches.y * opts.pix;\r\n } else {\r\n x = touches.x * opts.pix;\r\n y = touches.y * opts.pix;\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n}\r\n\r\nfunction getSeriesDataItem(series, index, group) {\r\n var data = [];\r\n var newSeries = [];\r\n var indexIsArr = index.constructor.toString().indexOf('Array') > -1;\r\n if(indexIsArr){\r\n let tempSeries = filterSeries(series);\r\n for (var i = 0; i < group.length; i++) {\r\n newSeries.push(tempSeries[group[i]]);\r\n }\r\n }else{\r\n newSeries = series;\r\n };\r\n for (let i = 0; i < newSeries.length; i++) {\r\n let item = newSeries[i];\r\n let tmpindex = -1;\r\n if(indexIsArr){\r\n tmpindex = index[i];\r\n }else{\r\n tmpindex = index;\r\n }\r\n if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) {\r\n let seriesItem = {};\r\n seriesItem.color = item.color;\r\n seriesItem.type = item.type;\r\n seriesItem.style = item.style;\r\n seriesItem.pointShape = item.pointShape;\r\n seriesItem.disableLegend = item.disableLegend;\r\n seriesItem.legendShape = item.legendShape;\r\n seriesItem.name = item.name;\r\n seriesItem.show = item.show;\r\n seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex];\r\n data.push(seriesItem);\r\n }\r\n }\r\n return data;\r\n}\r\n\r\nfunction getMaxTextListLength(list, fontSize, context) {\r\n var lengthList = list.map(function(item) {\r\n return measureText(item, fontSize, context);\r\n });\r\n return Math.max.apply(null, lengthList);\r\n}\r\n\r\nfunction getRadarCoordinateSeries(length) {\r\n var eachAngle = 2 * Math.PI / length;\r\n var CoordinateSeries = [];\r\n for (var i = 0; i < length; i++) {\r\n CoordinateSeries.push(eachAngle * i);\r\n }\r\n return CoordinateSeries.map(function(item) {\r\n return -1 * item + Math.PI / 2;\r\n });\r\n}\r\n\r\nfunction getToolTipData(seriesData, opts, index, group, categories) {\r\n var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\r\n var calPoints = opts.chartData.calPoints?opts.chartData.calPoints:[];\r\n let points = {};\r\n if(group.length > 0){\r\n let filterPoints = [];\r\n for (let i = 0; i < group.length; i++) {\r\n filterPoints.push(calPoints[group[i]])\r\n }\r\n points = filterPoints[0][index[0]];\r\n }else{\r\n for (let i = 0; i < calPoints.length; i++) {\r\n if(calPoints[i][index]){\r\n points = calPoints[i][index];\r\n break;\r\n }\r\n }\r\n };\r\n var textList = seriesData.map(function(item) {\r\n let titleText = null;\r\n if (opts.categories && opts.categories.length>0) {\r\n titleText = categories[index];\r\n };\r\n return {\r\n text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n });\r\n var offset = {\r\n x: Math.round(points.x),\r\n y: Math.round(points.y)\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getMixToolTipData(seriesData, opts, index, categories) {\r\n var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\r\n var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2;\r\n var textList = seriesData.map(function(item) {\r\n return {\r\n text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n disableLegend: item.disableLegend ? true : false,\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n });\r\n textList = textList.filter(function(item) {\r\n if (item.disableLegend !== true) {\r\n return item;\r\n }\r\n });\r\n var offset = {\r\n x: Math.round(points),\r\n y: 0\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getCandleToolTipData(series, seriesData, opts, index, categories, extra) {\r\n var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};\r\n var calPoints = opts.chartData.calPoints;\r\n let upColor = extra.color.upFill;\r\n let downColor = extra.color.downFill;\r\n //颜色顺序为开盘,收盘,最低,最高\r\n let color = [upColor, upColor, downColor, upColor];\r\n var textList = [];\r\n seriesData.map(function(item) {\r\n if (index == 0) {\r\n if (item.data[1] - item.data[0] < 0) {\r\n color[1] = downColor;\r\n } else {\r\n color[1] = upColor;\r\n }\r\n } else {\r\n if (item.data[0] < series[index - 1][1]) {\r\n color[0] = downColor;\r\n }\r\n if (item.data[1] < item.data[0]) {\r\n color[1] = downColor;\r\n }\r\n if (item.data[2] > series[index - 1][1]) {\r\n color[2] = upColor;\r\n }\r\n if (item.data[3] < series[index - 1][1]) {\r\n color[3] = downColor;\r\n }\r\n }\r\n let text1 = {\r\n text: '开盘:' + item.data[0],\r\n color: color[0],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n let text2 = {\r\n text: '收盘:' + item.data[1],\r\n color: color[1],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n let text3 = {\r\n text: '最低:' + item.data[2],\r\n color: color[2],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n let text4 = {\r\n text: '最高:' + item.data[3],\r\n color: color[3],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n textList.push(text1, text2, text3, text4);\r\n });\r\n var validCalPoints = [];\r\n var offset = {\r\n x: 0,\r\n y: 0\r\n };\r\n for (let i = 0; i < calPoints.length; i++) {\r\n let points = calPoints[i];\r\n if (typeof points[index] !== 'undefined' && points[index] !== null) {\r\n validCalPoints.push(points[index]);\r\n }\r\n }\r\n offset.x = Math.round(validCalPoints[0][0].x);\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction filterSeries(series) {\r\n let tempSeries = [];\r\n for (let i = 0; i < series.length; i++) {\r\n if (series[i].show == true) {\r\n tempSeries.push(series[i])\r\n }\r\n }\r\n return tempSeries;\r\n}\r\n\r\nfunction findCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let xAxisPoints = [];\r\n if (calPoints && calPoints.length > 0) {\r\n if (!opts.categories) {\r\n spacing = 0;\r\n }else{\r\n for (let i = 1; i < opts.chartData.xAxisPoints.length; i++) {\r\n xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing);\r\n }\r\n if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') {\r\n xAxisPoints = opts.chartData.xAxisPoints;\r\n }\r\n }\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n if (!opts.categories) {\r\n let timePoints = Array(calPoints.length);\r\n for (let i = 0; i < calPoints.length; i++) {\r\n timePoints[i] = Array(calPoints[i].length)\r\n for (let j = 0; j < calPoints[i].length; j++) {\r\n timePoints[i][j] = (Math.abs(calPoints[i][j].x - currentPoints.x));\r\n }\r\n };\r\n let pointValue = Array(timePoints.length);\r\n let pointIndex = Array(timePoints.length);\r\n for (let i = 0; i < timePoints.length; i++) {\r\n pointValue[i] = Math.min.apply(null, timePoints[i]);\r\n pointIndex[i] = timePoints[i].indexOf(pointValue[i]);\r\n }\r\n let minValue = Math.min.apply(null, pointValue);\r\n current.index = [];\r\n for (let i = 0; i < pointValue.length; i++) {\r\n if(pointValue[i] == minValue){\r\n current.group.push(i);\r\n current.index.push(pointIndex[i]);\r\n }\r\n };\r\n }else{\r\n xAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.x + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findBarChartCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let yAxisPoints = opts.chartData.yAxisPoints;\r\n if (calPoints && calPoints.length > 0) {\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n yAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.y + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findLegendIndex(currentPoints, legendData, opts) {\r\n let currentIndex = -1;\r\n let gap = 0;\r\n if (isInExactLegendArea(currentPoints, legendData.area)) {\r\n let points = legendData.points;\r\n let index = -1;\r\n for (let i = 0, len = points.length; i < len; i++) {\r\n let item = points[i];\r\n for (let j = 0; j < item.length; j++) {\r\n index += 1;\r\n let area = item[j]['area'];\r\n if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) {\r\n currentIndex = index;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactLegendArea(currentPoints, area) {\r\n return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y;\r\n}\r\n\r\nfunction isInExactChartArea(currentPoints, opts, config) {\r\n return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2];\r\n}\r\n\r\nfunction findRadarChartCurrentIndex(currentPoints, radarData, count) {\r\n var eachAngleArea = 2 * Math.PI / count;\r\n var currentIndex = -1;\r\n if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) {\r\n var fixAngle = function fixAngle(angle) {\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n if (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n };\r\n var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x);\r\n angle = -1 * angle;\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n var angleList = radarData.angleList.map(function(item) {\r\n item = fixAngle(-1 * item);\r\n return item;\r\n });\r\n angleList.forEach(function(item, index) {\r\n var rangeStart = fixAngle(item - eachAngleArea / 2);\r\n var rangeEnd = fixAngle(item + eachAngleArea / 2);\r\n if (rangeEnd < rangeStart) {\r\n rangeEnd += 2 * Math.PI;\r\n }\r\n if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) {\r\n currentIndex = index;\r\n }\r\n });\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findFunnelChartCurrentIndex(currentPoints, funnelData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = funnelData.series.length; i < len; i++) {\r\n var item = funnelData.series[i];\r\n if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findWordChartCurrentIndex(currentPoints, wordData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = wordData.length; i < len; i++) {\r\n var item = wordData[i];\r\n if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findMapChartCurrentIndex(currentPoints, opts) {\r\n var currentIndex = -1;\r\n var cData = opts.chartData.mapData;\r\n var data = opts.series;\r\n var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset);\r\n var poi = [tmp.x, tmp.y];\r\n for (var i = 0, len = data.length; i < len; i++) {\r\n var item = data[i].geometry.coordinates;\r\n if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findRoseChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.rose && opts.extra.rose.offsetAngle){\r\n angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findPieChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getPieDataPoints(pieData.series);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.pie && opts.extra.pie.offsetAngle){\r\n angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180;\r\n }\r\n if(opts.extra.ring && opts.extra.ring.offsetAngle){\r\n angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactPieChartArea(currentPoints, center, radius) {\r\n return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2);\r\n}\r\n\r\n\r\nfunction splitPoints(points,eachSeries) {\r\n var newPoints = [];\r\n var items = [];\r\n points.forEach(function(item, index) {\r\n if(eachSeries.connectNulls){\r\n if (item !== null) {\r\n items.push(item);\r\n }\r\n }else{\r\n if (item !== null) {\r\n items.push(item);\r\n } else {\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n items = [];\r\n }\r\n }\r\n \r\n });\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n return newPoints;\r\n}\r\n\r\n\r\nfunction calLegendData(series, opts, config, chartData, context) {\r\n let legendData = {\r\n area: {\r\n start: {\r\n x: 0,\r\n y: 0\r\n },\r\n end: {\r\n x: 0,\r\n y: 0\r\n },\r\n width: 0,\r\n height: 0,\r\n wholeWidth: 0,\r\n wholeHeight: 0\r\n },\r\n points: [],\r\n widthArr: [],\r\n heightArr: []\r\n };\r\n if (opts.legend.show === false) {\r\n chartData.legendData = legendData;\r\n return legendData;\r\n }\r\n let padding = opts.legend.padding * opts.pix;\r\n let margin = opts.legend.margin * opts.pix;\r\n let fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n let legendList = [];\r\n let widthCount = 0;\r\n let widthCountArr = [];\r\n let currentRow = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n let itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n widthCount = itemWidth;\r\n currentRow = [item];\r\n } else {\r\n widthCount += itemWidth;\r\n currentRow.push(item);\r\n }\r\n }\r\n if (currentRow.length) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n legendData.widthArr = widthCountArr;\r\n let legendWidth = Math.max.apply(null, widthCountArr);\r\n switch (opts.legend.float) {\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n default:\r\n legendData.area.start.x = (opts.width - legendWidth) / 2 - padding;\r\n legendData.area.end.x = (opts.width + legendWidth) / 2 + padding;\r\n }\r\n legendData.area.width = legendWidth + 2 * padding;\r\n legendData.area.wholeWidth = legendWidth + 2 * padding;\r\n legendData.area.height = legendList.length * lineHeight + 2 * padding;\r\n legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin;\r\n legendData.points = legendList;\r\n }\r\n } else {\r\n let len = series.length;\r\n let maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding;\r\n let maxLength = Math.min(Math.floor(maxHeight / lineHeight), len);\r\n legendData.area.height = maxLength * lineHeight + padding * 2;\r\n legendData.area.wholeHeight = maxLength * lineHeight + padding * 2;\r\n switch (opts.legend.float) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n default:\r\n legendData.area.start.y = (opts.height - legendData.area.height) / 2;\r\n legendData.area.end.y = (opts.height + legendData.area.height) / 2;\r\n }\r\n let lineNum = len % maxLength === 0 ? len / maxLength : Math.floor((len / maxLength) + 1);\r\n let currentRow = [];\r\n for (let i = 0; i < lineNum; i++) {\r\n let temp = series.slice(i * maxLength, i * maxLength + maxLength);\r\n currentRow.push(temp);\r\n }\r\n legendData.points = currentRow;\r\n if (currentRow.length) {\r\n for (let i = 0; i < currentRow.length; i++) {\r\n let item = currentRow[i];\r\n let maxWidth = 0;\r\n for (let j = 0; j < item.length; j++) {\r\n let itemWidth = shapeWidth + shapeRight + measureText(item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (itemWidth > maxWidth) {\r\n maxWidth = itemWidth;\r\n }\r\n }\r\n legendData.widthArr.push(maxWidth);\r\n legendData.heightArr.push(item.length * lineHeight + padding * 2);\r\n }\r\n let legendWidth = 0\r\n for (let i = 0; i < legendData.widthArr.length; i++) {\r\n legendWidth += legendData.widthArr[i];\r\n }\r\n legendData.area.width = legendWidth - opts.legend.itemGap * opts.pix + 2 * padding;\r\n legendData.area.wholeWidth = legendData.area.width + padding;\r\n }\r\n }\r\n switch (opts.legend.position) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendData.area.width;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n }\r\n chartData.legendData = legendData;\r\n return legendData;\r\n}\r\n\r\nfunction calCategoriesData(categories, opts, config, eachSpacing, context) {\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix\r\n };\r\n var fontSize = opts.xAxis.fontSize * opts.pix;\r\n var categoriesTextLenth = categories.map(function(item,index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n return measureText(String(xitem), fontSize, context);\r\n });\r\n var maxTextLength = Math.max.apply(this, categoriesTextLenth);\r\n if (opts.xAxis.rotateLabel == true) {\r\n result.angle = opts.xAxis.rotateAngle * Math.PI / 180;\r\n let tempHeight = opts.xAxis.marginTop * opts.pix * 2 + Math.abs(maxTextLength * Math.sin(result.angle))\r\n tempHeight = tempHeight < fontSize + opts.xAxis.marginTop * opts.pix * 2 ? tempHeight + opts.xAxis.marginTop * opts.pix * 2 : tempHeight;\r\n result.xAxisHeight = tempHeight;\r\n }\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n result.xAxisHeight += 6 * opts.pix;\r\n }\r\n if (opts.xAxis.disabled){\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getXAxisTextList(series, opts, config, stack) {\r\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[0]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n\r\n var minData = 0;\r\n var maxData = 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n //为了兼容v1.9.0之前的项目\r\n if (index > -1) {\r\n if (typeof opts.xAxis.data[index].min === 'number') {\r\n minData = Math.min(opts.xAxis.data[index].min, minData);\r\n }\r\n if (typeof opts.xAxis.data[index].max === 'number') {\r\n maxData = Math.max(opts.xAxis.data[index].max, maxData);\r\n }\r\n } else {\r\n if (typeof opts.xAxis.min === 'number') {\r\n minData = Math.min(opts.xAxis.min, minData);\r\n }\r\n if (typeof opts.xAxis.max === 'number') {\r\n maxData = Math.max(opts.xAxis.max, maxData);\r\n }\r\n }\r\n if (minData === maxData) {\r\n var rangeSpan = maxData || 10;\r\n maxData += rangeSpan;\r\n }\r\n //var dataRange = getDataRange(minData, maxData);\r\n var minRange = minData;\r\n var maxRange = maxData;\r\n var range = [];\r\n var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber;\r\n for (var i = 0; i <= opts.xAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range;\r\n}\r\n\r\nfunction calXAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.bar);\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix\r\n };\r\n result.ranges = getXAxisTextList(series, opts, config, columnstyle.type);\r\n result.rangesFormat = result.ranges.map(function(item) {\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2);\r\n item = util.toFixed(item, 2);\r\n return item;\r\n });\r\n var xAxisScaleValues = result.ranges.map(function(item) {\r\n // 如果刻度值是浮点数,则保留两位小数\r\n item = util.toFixed(item, 2);\r\n // 若有自定义格式则调用自定义的格式化函数\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item;\r\n return item;\r\n });\r\n result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config));\r\n // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\\结束点以及总长\r\n var eachSpacing = result.eachSpacing;\r\n var textLength = xAxisScaleValues.map(function(item) {\r\n return measureText(item, opts.xAxis.fontSize * opts.pix, context);\r\n });\r\n if (opts.xAxis.disabled === true) {\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getRadarDataPoints(angleList, center, radius, series, opts) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var radarOption = opts.extra.radar || {};\r\n radarOption.max = radarOption.max || 0;\r\n var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n var data = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let each = series[i];\r\n let listItem = {};\r\n listItem.color = each.color;\r\n listItem.legendShape = each.legendShape;\r\n listItem.pointShape = each.pointShape;\r\n listItem.data = [];\r\n each.data.forEach(function(item, index) {\r\n let tmp = {};\r\n tmp.angle = angleList[index];\r\n tmp.proportion = item / maxData;\r\n tmp.value = item;\r\n tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center);\r\n listItem.data.push(tmp);\r\n });\r\n data.push(listItem);\r\n }\r\n return data;\r\n}\r\n\r\nfunction getPieDataPoints(series, radius) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n }\r\n item._radius_ = radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getFunnelDataPoints(series, radius, option, eachSpacing) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n for (let i = 0; i < series.length; i++) {\r\n if(option.type == 'funnel'){\r\n series[i].radius = series[i].data / series[0].data * radius * process;\r\n }else{\r\n series[i].radius = (eachSpacing * (series.length - i)) / (eachSpacing * series.length) * radius * process;\r\n }\r\n series[i]._proportion_ = series[i].data / series[0].data;\r\n }\r\n // if(option.type !== 'pyramid'){\r\n // series.reverse();\r\n // }\r\n return series;\r\n}\r\n\r\nfunction getRoseDataPoints(series, type, minRadius, radius) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n var dataArr = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n dataArr.push(item.data);\r\n }\r\n var minData = Math.min.apply(null, dataArr);\r\n var maxData = Math.max.apply(null, dataArr);\r\n var radiusLength = radius - minRadius;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n item._rose_proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n if(type == 'area'){\r\n item._rose_proportion_ = 1 / series.length * process;\r\n }else{\r\n item._rose_proportion_ = item.data / count * process;\r\n }\r\n }\r\n item._radius_ = minRadius + radiusLength * ((item.data - minData) / (maxData - minData)) || radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._rose_proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if(arcbarOption.direction == 'ccw'){\r\n if (arcbarOption.startAngle < arcbarOption.endAngle) {\r\n totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }else{\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if(arcbarOption.direction == 'ccw'){\r\n item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process ;\r\n }\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeAxisPoints(categories, startAngle, endAngle) {\r\n let totalAngle;\r\n if (endAngle < startAngle) {\r\n totalAngle = 2 + endAngle - startAngle;\r\n } else {\r\n totalAngle = startAngle - endAngle;\r\n }\r\n let tempStartAngle = startAngle;\r\n for (let i = 0; i < categories.length; i++) {\r\n categories[i].value = categories[i].value === null ? 0 : categories[i].value;\r\n categories[i]._startAngle_ = tempStartAngle;\r\n categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle;\r\n if (categories[i]._endAngle_ >= 2) {\r\n categories[i]._endAngle_ = categories[i]._endAngle_ % 2;\r\n }\r\n tempStartAngle = categories[i]._endAngle_;\r\n }\r\n return categories;\r\n}\r\n\r\nfunction getGaugeDataPoints(series, categories, gaugeOption) {\r\n let process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (gaugeOption.pointer.color == 'auto') {\r\n for (let i = 0; i < categories.length; i++) {\r\n if (item.data <= categories[i].value) {\r\n item.color = categories[i].color;\r\n break;\r\n }\r\n }\r\n } else {\r\n item.color = gaugeOption.pointer.color;\r\n }\r\n let totalAngle;\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle;\r\n item._oldAngle_ = gaugeOption.oldAngle;\r\n if (gaugeOption.oldAngle < gaugeOption.endAngle) {\r\n item._oldAngle_ += 2;\r\n }\r\n if (item.data >= gaugeOption.oldData) {\r\n item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle;\r\n } else {\r\n item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process;\r\n }\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getPieTextMaxLength(series, config, context, opts) {\r\n series = getPieDataPoints(series);\r\n let maxLength = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n let text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';\r\n maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context));\r\n }\r\n return maxLength;\r\n}\r\n\r\nfunction fixColumeData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n if (opts.type == 'mix') {\r\n seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0;\r\n } else {\r\n seriesGap = opts.extra.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n }\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix);\r\n }\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n seriesGap = opts.extra.bar.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = eachSpacing - 2 * categoryGap;\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (index > 0) {\r\n item.width -= border;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction getXAxisPoints(categories, opts, config) {\r\n var spacingValid = opts.width - opts.area[1] - opts.area[3];\r\n var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length;\r\n if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {\r\n dataCount -= 1;\r\n }\r\n var widthRatio = 0;\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n widthRatio = opts.extra.mount.widthRatio - 1;\r\n dataCount += widthRatio;\r\n }\r\n var eachSpacing = spacingValid / dataCount;\r\n var xAxisPoints = [];\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n categories.forEach(function(item, index) {\r\n xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing);\r\n });\r\n if (opts.xAxis.boundaryGap !== 'justify') {\r\n if (opts.enableScroll === true) {\r\n xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing);\r\n } else {\r\n xAxisPoints.push(endX);\r\n }\r\n }\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n startX: startX,\r\n endX: endX,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var cPoints = [];\r\n item.forEach(function(items, indexs) {\r\n var point = {};\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n var value = items.value || items;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n cPoints.push(point);\r\n });\r\n points.push(cPoints);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' ) {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n if(opts.type == 'bubble'){\r\n point.r = item[2];\r\n point.t = item[3];\r\n }\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process){\r\n var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;\r\n var boundaryGap = opts.xAxis.boundaryGap;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n if(lineOption.animation == 'vertical'){\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }else{\r\n point.x = xAxisPoints[0] + eachSpacing * index * process;\r\n var value = item;\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process){\r\n var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n point.x += eachSpacing / 2;\r\n var height = validHeight * (value * process - minRange) / (maxRange - minRange);\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints) {\r\n var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n var mountWidth = eachSpacing * mountOption.widthRatio;\r\n series.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n point.x += eachSpacing / 2;\r\n var value = item.data;\r\n var height = validHeight * (value * process - minRange) / (maxRange - minRange);\r\n point.y = opts.height - height - opts.area[2];\r\n point.value = value;\r\n point.width = mountWidth;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validWidth * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.height = height;\r\n point.value = value;\r\n point.x = height + opts.area[3];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n point.y0 = opts.height - Math.round(heightc) - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.height = height - heightc;\r\n point.x = opts.area[3] + height;\r\n point.x0 = opts.area[3] + heightc;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getYAxisTextList(series, opts, config, stack, yData) {\r\n var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[1]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n var minData = yData.min || 0;\r\n var maxData = yData.max || 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n if (minData === maxData) {\r\n if(maxData == 0){\r\n maxData = 10;\r\n }else{\r\n minData = 0;\r\n }\r\n }\r\n var dataRange = getDataRange(minData, maxData);\r\n var minRange = (yData.min === undefined || yData.min === null) ? dataRange.minRange : yData.min;\r\n var maxRange = (yData.max === undefined || yData.max === null) ? dataRange.maxRange : yData.max;\r\n var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;\r\n var range = [];\r\n for (var i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range.reverse();\r\n}\r\n\r\nfunction calYAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.column);\r\n //如果是多Y轴,重新计算\r\n var YLength = opts.yAxis.data.length;\r\n var newSeries = new Array(YLength);\r\n if (YLength > 0) {\r\n for (let i = 0; i < YLength; i++) {\r\n newSeries[i] = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if (series[j].index == i) {\r\n newSeries[i].push(series[j]);\r\n }\r\n }\r\n }\r\n var rangesArr = new Array(YLength);\r\n var rangesFormatArr = new Array(YLength);\r\n var yAxisWidthArr = new Array(YLength);\r\n\r\n for (let i = 0; i < YLength; i++) {\r\n let yData = opts.yAxis.data[i];\r\n //如果总开关不显示,强制每个Y轴为不显示\r\n if (opts.yAxis.disabled == true) {\r\n yData.disabled = true;\r\n }\r\n if(yData.type === 'categories'){\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return val + (yData.unit || '')};\r\n }\r\n yData.categories = yData.categories || opts.categories;\r\n rangesArr[i] = yData.categories;\r\n }else{\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return util.toFixed(val, yData.tofix || 0) + (yData.unit || '')};\r\n }\r\n rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i);\r\n }\r\n let yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize;\r\n yAxisWidthArr[i] = {\r\n position: yData.position ? yData.position : 'left',\r\n width: 0\r\n };\r\n rangesFormatArr[i] = rangesArr[i].map(function(items,index) {\r\n items = yData.formatter(items,index,opts);\r\n yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(items, yAxisFontSizes, context) + 5);\r\n return items;\r\n });\r\n let calibration = yData.calibration ? 4 * opts.pix : 0;\r\n yAxisWidthArr[i].width += calibration + 3 * opts.pix;\r\n if (yData.disabled === true) {\r\n yAxisWidthArr[i].width = 0;\r\n }\r\n }\r\n } else {\r\n var rangesArr = new Array(1);\r\n var rangesFormatArr = new Array(1);\r\n var yAxisWidthArr = new Array(1);\r\n if(opts.type === 'bar'){\r\n rangesArr[0] = opts.categories;\r\n if(!opts.yAxis.formatter){\r\n opts.yAxis.formatter = (val,index,opts) => {return val + (opts.yAxis.unit || '')}\r\n }\r\n }else{\r\n if(!opts.yAxis.formatter){\r\n opts.yAxis.formatter = (val,index,opts) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')}\r\n }\r\n rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});\r\n }\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize;\r\n rangesFormatArr[0] = rangesArr[0].map(function(item,index) {\r\n item = opts.yAxis.formatter(item,index,opts);\r\n yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5);\r\n return item;\r\n });\r\n yAxisWidthArr[0].width += 3 * opts.pix;\r\n if (opts.yAxis.disabled === true) {\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n opts.yAxis.data[0] = {\r\n disabled: true\r\n };\r\n } else {\r\n opts.yAxis.data[0] = {\r\n disabled: false,\r\n position: 'left',\r\n max: opts.yAxis.max,\r\n min: opts.yAxis.min,\r\n formatter: opts.yAxis.formatter\r\n };\r\n if(opts.type === 'bar'){\r\n opts.yAxis.data[0].categories = opts.categories;\r\n opts.yAxis.data[0].type = 'categories';\r\n }\r\n }\r\n }\r\n return {\r\n rangesFormat: rangesFormatArr,\r\n ranges: rangesArr,\r\n yAxisWidth: yAxisWidthArr\r\n };\r\n}\r\n\r\nfunction calTooltipYAxisData(point, series, opts, config, eachSpacing) {\r\n let ranges = [].concat(opts.chartData.yAxisData.ranges);\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let minAxis = opts.area[0];\r\n let items = [];\r\n for (let i = 0; i < ranges.length; i++) {\r\n let maxVal = Math.max.apply(this, ranges[i]);\r\n let minVal = Math.min.apply(this, ranges[i]);\r\n let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;\r\n item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0);\r\n items.push(String(item))\r\n }\r\n return items;\r\n}\r\n\r\nfunction calMarkLineData(points, opts) {\r\n let minRange, maxRange;\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n for (let i = 0; i < points.length; i++) {\r\n points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0;\r\n let range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]);\r\n minRange = range.pop();\r\n maxRange = range.shift();\r\n let height = spacingValid * (points[i].value - minRange) / (maxRange - minRange);\r\n points[i].y = opts.height - Math.round(height) - opts.area[2];\r\n }\r\n return points;\r\n}\r\n\r\nfunction contextRotate(context, opts) {\r\n if (opts.rotateLock !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n } else if (opts._rotate_ !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n opts._rotate_ = true;\r\n }\r\n}\r\n\r\nfunction drawPointShape(points, color, shape, context, opts) {\r\n context.beginPath();\r\n if (opts.dataPointShapeType == 'hollow') {\r\n context.setStrokeStyle(color);\r\n context.setFillStyle(opts.background);\r\n context.setLineWidth(2 * opts.pix);\r\n } else {\r\n context.setStrokeStyle(\"#ffffff\");\r\n context.setFillStyle(color);\r\n context.setLineWidth(1 * opts.pix);\r\n }\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'none') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n}\r\n\r\nfunction drawActivePoint(points, color, shape, context, opts, option, seriesIndex) {\r\n if(!opts.tooltip){\r\n return\r\n }\r\n if(opts.tooltip.group.length>0 && opts.tooltip.group.includes(seriesIndex) == false){\r\n return\r\n }\r\n var pointIndex = typeof opts.tooltip.index === 'number' ? opts.tooltip.index : opts.tooltip.index[opts.tooltip.group.indexOf(seriesIndex)];\r\n context.beginPath();\r\n if (option.activeType == 'hollow') {\r\n context.setStrokeStyle(color);\r\n context.setFillStyle(opts.background);\r\n context.setLineWidth(2 * opts.pix);\r\n } else {\r\n context.setStrokeStyle(\"#ffffff\");\r\n context.setFillStyle(color);\r\n context.setLineWidth(1 * opts.pix);\r\n }\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index ) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'none') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n}\r\n\r\nfunction drawRingTitle(opts, config, context, center) {\r\n var titlefontSize = opts.title.fontSize || config.titleFontSize;\r\n var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize;\r\n var title = opts.title.name || '';\r\n var subtitle = opts.subtitle.name || '';\r\n var titleFontColor = opts.title.color || opts.fontColor;\r\n var subtitleFontColor = opts.subtitle.color || opts.fontColor;\r\n var titleHeight = title ? titlefontSize : 0;\r\n var subtitleHeight = subtitle ? subtitlefontSize : 0;\r\n var margin = 5;\r\n if (subtitle) {\r\n var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context);\r\n var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX|| 0) * opts.pix ;\r\n var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix;\r\n if (title) {\r\n startY += (titleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(subtitlefontSize * opts.pix);\r\n context.setFillStyle(subtitleFontColor);\r\n context.fillText(subtitle, startX, startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (title) {\r\n var _textWidth = measureText(title, titlefontSize * opts.pix, context);\r\n var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0);\r\n var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix;\r\n if (subtitle) {\r\n _startY -= (subtitleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(titlefontSize * opts.pix);\r\n context.setFillStyle(titleFontColor);\r\n context.fillText(title, _startX, _startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n if (data[index].constructor.toString().indexOf('Array')>-1) {\r\n value = data[index][1];\r\n } else {\r\n value = data[index].value\r\n }\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawColumePointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n var Position = opts.extra.column.labelPosition;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n if (data[index].constructor.toString().indexOf('Array')>-1) {\r\n value = data[index][1];\r\n } else {\r\n value = data[index].value\r\n }\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n var startY = item.y - 4 * opts.pix + textOffset * opts.pix;\r\n if(item.y > series.zeroPoints){\r\n startY = item.y + textOffset * opts.pix + fontSize;\r\n }\r\n if(Position == 'insideTop'){\r\n startY = item.y + fontSize + textOffset * opts.pix;\r\n if(item.y > series.zeroPoints){\r\n startY = item.y - textOffset * opts.pix - 4 * opts.pix;\r\n }\r\n }\r\n if(Position == 'center'){\r\n startY = item.y + textOffset * opts.pix + (opts.height - opts.area[2] - item.y + fontSize)/2;\r\n if(series.zeroPoints < opts.height - opts.area[2]){\r\n startY = item.y + textOffset * opts.pix + (series.zeroPoints - item.y + fontSize)/2;\r\n }\r\n if(item.y > series.zeroPoints){\r\n startY = item.y - textOffset * opts.pix - (item.y - series.zeroPoints - fontSize)/2;\r\n }\r\n if(opts.extra.column.type == 'stack'){\r\n startY = item.y + textOffset * opts.pix + (item.y0 - item.y + fontSize)/2;\r\n }\r\n }\r\n if(Position == 'bottom'){\r\n startY = opts.height - opts.area[2] + textOffset * opts.pix - 4 * opts.pix;\r\n if(series.zeroPoints < opts.height - opts.area[2]){\r\n startY = series.zeroPoints + textOffset * opts.pix - 4 * opts.pix;\r\n }\r\n if(item.y > series.zeroPoints){\r\n startY = series.zeroPoints - textOffset * opts.pix + fontSize + 2 * opts.pix;\r\n }\r\n if(opts.extra.column.type == 'stack'){\r\n startY = item.y0 + textOffset * opts.pix - 4 * opts.pix;\r\n }\r\n }\r\n context.fillText(String(formatVal), item.x, startY);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawMountPointText(points, series, config, context, opts, zeroPoints) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n var Position = opts.extra.mount.labelPosition;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series[index].textColor || opts.fontColor);\r\n var value = item.value\r\n var formatVal = series[index].formatter ? series[index].formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n var startY = item.y - 4 * opts.pix + textOffset * opts.pix;\r\n if(item.y > zeroPoints){\r\n startY = item.y + textOffset * opts.pix + fontSize;\r\n }\r\n context.fillText(String(formatVal), item.x, startY);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawBarPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n value = data[index].value ;\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('left');\r\n context.fillText(String(formatVal), item.x + 4 * opts.pix , item.y + fontSize / 2 - 3 );\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n}\r\n\r\nfunction drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {\r\n radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n let totalAngle;\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let totalNumber = gaugeOption.endNumber - gaugeOption.startNumber;\r\n let splitNumber = totalNumber / gaugeOption.splitLine.splitNumber;\r\n let nowAngle = gaugeOption.startAngle;\r\n let nowNumber = gaugeOption.startNumber;\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n var pos = {\r\n x: radius * Math.cos(nowAngle * Math.PI),\r\n y: radius * Math.sin(nowAngle * Math.PI)\r\n };\r\n var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber,i,opts) : nowNumber;\r\n pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2;\r\n pos.y += centerPosition.y;\r\n var startX = pos.x;\r\n var startY = pos.y;\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(gaugeOption.labelColor || opts.fontColor);\r\n context.fillText(labelText, startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n nowAngle += splitAngle;\r\n if (nowAngle >= 2) {\r\n nowAngle = nowAngle % 2;\r\n }\r\n nowNumber += splitNumber;\r\n }\r\n}\r\n\r\nfunction drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {\r\n var radarOption = opts.extra.radar || {};\r\n angleList.forEach(function(angle, index) {\r\n if(radarOption.labelPointShow === true && opts.categories[index] !== ''){\r\n var posPoint = {\r\n x: radius * Math.cos(angle),\r\n y: radius * Math.sin(angle)\r\n };\r\n var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition);\r\n context.setFillStyle(radarOption.labelPointColor);\r\n context.beginPath();\r\n context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false);\r\n context.closePath();\r\n context.fill();\r\n }\r\n if(radarOption.labelShow === true){\r\n var pos = {\r\n x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle),\r\n y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle)\r\n };\r\n var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition);\r\n var startX = posRelativeCanvas.x;\r\n var startY = posRelativeCanvas.y;\r\n if (util.approximatelyEqual(pos.x, 0)) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2;\r\n } else if (pos.x < 0) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context);\r\n }\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(radarOption.labelColor || opts.fontColor);\r\n context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n\r\n}\r\n\r\nfunction drawPieText(series, opts, config, context, radius, center) {\r\n var lineRadius = config.pieChartLinePadding;\r\n var textObjectCollection = [];\r\n var lastTextObject = null;\r\n var seriesConvert = series.map(function(item,index) {\r\n var text = item.formatter ? item.formatter(item,index,series,opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2);\r\n if (item._rose_proportion_) {\r\n arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2);\r\n }\r\n var color = item.color;\r\n var radius = item._radius_;\r\n return {\r\n arc: arc,\r\n text: text,\r\n color: color,\r\n radius: radius,\r\n textColor: item.textColor,\r\n textSize: item.textSize,\r\n labelShow: item.labelShow\r\n };\r\n });\r\n for (let i = 0; i < seriesConvert.length; i++) {\r\n let item = seriesConvert[i];\r\n // line end\r\n let orginX1 = Math.cos(item.arc) * (item.radius + lineRadius);\r\n let orginY1 = Math.sin(item.arc) * (item.radius + lineRadius);\r\n // line start\r\n let orginX2 = Math.cos(item.arc) * item.radius;\r\n let orginY2 = Math.sin(item.arc) * item.radius;\r\n // text start\r\n let orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding;\r\n let orginY3 = orginY1;\r\n let textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context);\r\n let startY = orginY3;\r\n if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, {\r\n x: orginX3\r\n })) {\r\n if (orginX3 > 0) {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n } else if (orginX1 < 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n if (orginY3 > 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n }\r\n }\r\n }\r\n if (orginX3 < 0) {\r\n orginX3 -= textWidth;\r\n }\r\n let textObject = {\r\n lineStart: {\r\n x: orginX2,\r\n y: orginY2\r\n },\r\n lineEnd: {\r\n x: orginX1,\r\n y: orginY1\r\n },\r\n start: {\r\n x: orginX3,\r\n y: startY\r\n },\r\n width: textWidth,\r\n height: config.fontSize,\r\n text: item.text,\r\n color: item.color,\r\n textColor: item.textColor,\r\n textSize: item.textSize\r\n };\r\n lastTextObject = avoidCollision(textObject, lastTextObject);\r\n textObjectCollection.push(lastTextObject);\r\n }\r\n for (let i = 0; i < textObjectCollection.length; i++) {\r\n if(seriesConvert[i].labelShow === false){\r\n continue;\r\n }\r\n let item = textObjectCollection[i];\r\n let lineStartPoistion = convertCoordinateOrigin(item.lineStart.x, item.lineStart.y, center);\r\n let lineEndPoistion = convertCoordinateOrigin(item.lineEnd.x, item.lineEnd.y, center);\r\n let textPosition = convertCoordinateOrigin(item.start.x, item.start.y, center);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.beginPath();\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n let curveStartX = item.start.x < 0 ? textPosition.x + item.width : textPosition.x;\r\n let textStartX = item.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5;\r\n context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(textPosition.x + item.width, textPosition.y);\r\n context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(item.text, textStartX, textPosition.y + 3);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitLine(offsetX, opts, config, context) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType;\r\n toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(offsetX, startY);\r\n context.lineTo(offsetX, endY);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.xAxisLabel) {\r\n let labelText = opts.categories[opts.tooltip.index];\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let textX = offsetX - 0.5 * textWidth;\r\n let textY = endY + 2 * opts.pix;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(textX - toolTipOption.boxPadding * opts.pix, textY, textWidth + 2 * toolTipOption.boxPadding * opts.pix, config.fontSize + 2 * toolTipOption.boxPadding * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(String(labelText), textX, textY + toolTipOption.boxPadding * opts.pix + config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawMarkLine(opts, config, context) {\r\n let markLineOption = assign({}, {\r\n type: 'solid',\r\n dashLength: 4,\r\n data: []\r\n }, opts.extra.markLine);\r\n let startX = opts.area[3];\r\n let endX = opts.width - opts.area[1];\r\n let points = calMarkLineData(markLineOption.data, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = assign({}, {\r\n lineColor: '#DE4A42',\r\n showLabel: false,\r\n labelFontSize: 13,\r\n labelPadding: 6,\r\n labelFontColor: '#666666',\r\n labelBgColor: '#DFE8FF',\r\n labelBgOpacity: 0.8,\r\n labelAlign: 'left',\r\n labelOffsetX: 0,\r\n labelOffsetY: 0,\r\n }, points[i]);\r\n if (markLineOption.type == 'dash') {\r\n context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]);\r\n }\r\n context.setStrokeStyle(item.lineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, item.y);\r\n context.lineTo(endX, item.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (item.showLabel) {\r\n let fontSize = item.labelFontSize * opts.pix;\r\n let labelText = item.labelText ? item.labelText : item.value;\r\n context.setFontSize(fontSize);\r\n let textWidth = measureText(labelText, fontSize, context);\r\n let bgWidth = textWidth + item.labelPadding * opts.pix * 2;\r\n let bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1];\r\n bgStartX += item.labelOffsetX;\r\n let bgStartY = item.y - 0.5 * fontSize - item.labelPadding * opts.pix;\r\n bgStartY += item.labelOffsetY;\r\n let textX = bgStartX + item.labelPadding * opts.pix;\r\n let textY = item.y;\r\n context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity));\r\n context.setStrokeStyle(item.labelBgColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.rect(bgStartX, bgStartY, bgWidth, fontSize + 2 * item.labelPadding * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.setFontSize(fontSize);\r\n context.setTextAlign('left');\r\n context.setFillStyle(item.labelFontColor);\r\n context.fillText(String(labelText), textX, bgStartY + fontSize + item.labelPadding * opts.pix/2);\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n gridType: 'solid',\r\n dashLength: 4\r\n }, opts.extra.tooltip);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, opts.tooltip.offset.y);\r\n context.lineTo(endX, opts.tooltip.offset.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.yAxisLabel) {\r\n let boxPadding = toolTipOption.boxPadding * opts.pix;\r\n let labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing);\r\n let widthArr = opts.chartData.yAxisData.yAxisWidth;\r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n for (let i = 0; i < labelText.length; i++) {\r\n context.setFontSize(toolTipOption.fontSize * opts.pix);\r\n let textWidth = measureText(labelText[i], toolTipOption.fontSize * opts.pix, context);\r\n let bgStartX, bgEndX, bgWidth;\r\n if (widthArr[i].position == 'left') {\r\n bgStartX = tStartLeft - (textWidth + boxPadding * 2) - 2 * opts.pix;\r\n bgEndX = Math.max(bgStartX, bgStartX + textWidth + boxPadding * 2);\r\n } else {\r\n bgStartX = tStartRight + 2 * opts.pix;\r\n bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + boxPadding * 2);\r\n }\r\n bgWidth = bgEndX - bgStartX;\r\n let textX = bgStartX + (bgWidth - textWidth) / 2;\r\n let textY = opts.tooltip.offset.y;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(bgStartX, textY - 0.5 * config.fontSize - boxPadding, bgWidth, config.fontSize + 2 * boxPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n if (widthArr[i].position == 'left') {\r\n tStartLeft -= (widthArr[i].width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08,\r\n activeWidth: eachSpacing\r\n }, opts.extra.column);\r\n toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\nfunction drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08\r\n }, opts.extra.bar);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect( startX ,offsetX - eachSpacing / 2 , endX - startX,eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\n\r\nfunction drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n showBox: true,\r\n showArrow: true,\r\n showCategory: false,\r\n bgColor: '#000000',\r\n bgOpacity: 0.7,\r\n borderColor: '#000000',\r\n borderWidth: 0,\r\n borderRadius: 0,\r\n borderOpacity: 0.7,\r\n boxPadding: 3,\r\n fontColor: '#FFFFFF',\r\n fontSize: 13,\r\n lineHeight: 20,\r\n legendShow: true,\r\n legendShape: 'auto',\r\n splitLine: true,\r\n }, opts.extra.tooltip);\r\n if(toolTipOption.showCategory==true && opts.categories){\r\n textList.unshift({text:opts.categories[opts.tooltip.index],color:null})\r\n }\r\n var fontSize = toolTipOption.fontSize * opts.pix;\r\n var lineHeight = toolTipOption.lineHeight * opts.pix;\r\n var boxPadding = toolTipOption.boxPadding * opts.pix;\r\n var legendWidth = fontSize;\r\n var legendMarginRight = 5 * opts.pix;\r\n if(toolTipOption.legendShow == false){\r\n legendWidth = 0;\r\n legendMarginRight = 0;\r\n }\r\n var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0;\r\n var isOverRightBorder = false;\r\n if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') {\r\n if (toolTipOption.splitLine == true) {\r\n drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context);\r\n }\r\n }\r\n offset = assign({\r\n x: 0,\r\n y: 0\r\n }, offset);\r\n offset.y -= 8 * opts.pix;\r\n var textWidth = textList.map(function(item) {\r\n return measureText(item.text, fontSize, context);\r\n });\r\n var toolTipWidth = legendWidth + legendMarginRight + 4 * boxPadding + Math.max.apply(null, textWidth);\r\n var toolTipHeight = 2 * boxPadding + textList.length * lineHeight;\r\n if (toolTipOption.showBox == false) {\r\n return\r\n }\r\n // if beyond the right border\r\n if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) {\r\n isOverRightBorder = true;\r\n }\r\n if (toolTipHeight + offset.y > opts.height) {\r\n offset.y = opts.height - toolTipHeight;\r\n }\r\n // draw background rect\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.bgColor, toolTipOption.bgOpacity));\r\n context.setLineWidth(toolTipOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity));\r\n var radius = toolTipOption.borderRadius;\r\n if (isOverRightBorder) {\r\n // 增加左侧仍然超出的判断\r\n if(toolTipWidth + arrowWidth > opts.width){\r\n offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width)\r\n }\r\n if(toolTipWidth > offset.x){\r\n offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width)\r\n }\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n }\r\n context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius,\r\n Math.PI / 2, Math.PI, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n } else {\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n }\r\n context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0,\r\n false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0,\r\n Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n }\r\n context.closePath();\r\n context.fill();\r\n if (toolTipOption.borderWidth > 0) {\r\n context.stroke();\r\n }\r\n // draw legend\r\n if(toolTipOption.legendShow){\r\n textList.forEach(function(item, index) {\r\n if (item.color !== null) {\r\n context.beginPath();\r\n context.setFillStyle(item.color);\r\n var startX = offset.x + arrowWidth + 2 * boxPadding;\r\n var startY = offset.y + (lineHeight - fontSize) / 2 + lineHeight * index + boxPadding + 1;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding;\r\n }\r\n switch (item.legendShape) {\r\n case 'line':\r\n context.moveTo(startX, startY + 0.5 * legendWidth - 2 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * legendWidth - 2 * opts.pix, legendWidth, 4 * opts.pix);\r\n break;\r\n case 'triangle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n break;\r\n case 'diamond':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n break;\r\n case 'circle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth);\r\n context.arc(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth, 5 * opts.pix, 0, 2 * Math.PI);\r\n break;\r\n case 'rect':\r\n context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'square':\r\n context.moveTo(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.fillRect(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);\r\n break;\r\n default:\r\n context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n }\r\n context.closePath();\r\n context.fill();\r\n }\r\n });\r\n }\r\n \r\n // draw text list\r\n textList.forEach(function(item, index) {\r\n var startX = offset.x + arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;\r\n }\r\n var startY = offset.y + lineHeight * index + (lineHeight - fontSize)/2 - 1 + boxPadding + fontSize;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setTextBaseline('normal');\r\n context.setFillStyle(toolTipOption.fontColor);\r\n context.fillText(item.text, startX, startY);\r\n context.closePath();\r\n context.stroke();\r\n });\r\n}\r\n\r\nfunction drawColumnDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n labelPosition: 'outside'\r\n }, opts.extra.column);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n \r\n // 计算0轴坐标\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);\r\n let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];\r\n eachSeries.zeroPoints = zeroPoints;\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process);\r\n var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y > zeroPoints ? zeroPoints : item.y;\r\n const width = item.width;\r\n const height = Math.abs(zeroPoints - item.y);\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n if(item.y > zeroPoints){\r\n columnOption.barBorderRadius = [0, 0,width / 2, width / 2];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.lineTo(startX, zeroPoints);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x - item.width / 2 + 1;\r\n var height = opts.height - item.y - opts.area[2];\r\n var height0 = opts.height - item.y0 - opts.area[2];\r\n if (seriesIndex > 0) {\r\n height -= height0;\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y);\r\n context.fillRect(startX, item.y, item.width, height);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'meter':\r\n // 绘制温度计数据图\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //画背景颜色\r\n context.beginPath();\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(columnOption.meterBorder * opts.pix);\r\n }\r\n if(seriesIndex == 0){\r\n context.setFillStyle(columnOption.meterFillColor);\r\n }else{\r\n context.setFillStyle(item.color || eachSeries.color);\r\n }\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = zeroPoints - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n context.fill();\r\n }else{\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.lineTo(startX, zeroPoints);\r\n context.lineTo(startX, item.y);\r\n context.fill();\r\n }\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawColumePointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawColumePointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'meter':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawColumePointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMountDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let mountOption = assign({}, {\r\n type: 'mount',\r\n widthRatio: 1,\r\n borderWidth: 1,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mount);\r\n mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio;\r\n mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config);\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n \r\n // 计算0轴坐标\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);\r\n let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];\r\n \r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);\r\n switch (mountOption.type) {\r\n case 'bar':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4) || mountOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y > zeroPoints ? zeroPoints : item.y;\r\n const width = item.width;\r\n const height = Math.abs(zeroPoints - item.y);\r\n if (mountOption.barBorderCircle) {\r\n mountOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n if(item.y > zeroPoints){\r\n mountOption.barBorderRadius = [0, 0,width / 2, width / 2];\r\n }\r\n let [r0, r1, r2, r3] = mountOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.lineTo(startX, zeroPoints);\r\n context.lineTo(startX, item.y);\r\n }\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'triangle':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, zeroPoints);\r\n context.lineTo(item.x, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'mount':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, zeroPoints);\r\n context.bezierCurveTo(item.x - item.width/4, zeroPoints, item.x - item.width/4, item.y, item.x, item.y);\r\n context.bezierCurveTo(item.x + item.width/4, item.y, item.x + item.width/4, zeroPoints, startX + item.width, zeroPoints);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'sharp':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, zeroPoints);\r\n context.quadraticCurveTo(item.x - 0, zeroPoints - height/4, item.x, item.y);\r\n context.quadraticCurveTo(item.x + 0, zeroPoints - height/4, startX + item.width, zeroPoints)\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);\r\n drawMountPointText(points, series, config, context, opts, zeroPoints);\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: points,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBarDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let yAxisPoints = [];\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2])/opts.categories.length;\r\n for (let i = 0; i < opts.categories.length; i++) {\r\n yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i);\r\n }\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.bar);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = yAxisPoints.length + 2;\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //var startX = item.x - item.width / 2;\r\n var startX = opts.area[3];\r\n var startY = item.y - item.width / 2;\r\n var height = item.height;\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, item.x, item.y);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const width = item.width;\r\n const top = item.y - item.width / 2;\r\n const height = item.height;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n \r\n context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2);\r\n context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0);\r\n context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2);\r\n context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, startY);\r\n context.lineTo(item.x, startY);\r\n context.lineTo(item.x, startY + item.width);\r\n context.lineTo(startX, startY + item.width);\r\n context.lineTo(startX, startY);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x0;\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y - item.width/2);\r\n context.fillRect(startX, item.y - item.width/2, item.height , item.width);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n return {\r\n yAxisPoints: yAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawCandleDataPoints(series, seriesMA, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var candleOption = assign({}, {\r\n color: {},\r\n average: {}\r\n }, opts.extra.candle);\r\n candleOption.color = assign({}, {\r\n upLine: '#f04864',\r\n upFill: '#f04864',\r\n downLine: '#2fc25b',\r\n downFill: '#2fc25b'\r\n }, candleOption.color);\r\n candleOption.average = assign({}, {\r\n show: false,\r\n name: [],\r\n day: [],\r\n color: config.color\r\n }, candleOption.average);\r\n opts.extra.candle = candleOption;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n //画均线\r\n if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 邱贵翔\r\n seriesMA.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(1);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x,\r\n item.y);\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //画K线\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList[0].length; i++) {\r\n if (i > leftNum && i < rightNum) {\r\n let item = splitPointList[0][i];\r\n context.beginPath();\r\n //如果上涨\r\n if (data[i][1] - data[i][0] > 0) {\r\n context.setStrokeStyle(candleOption.color.upLine);\r\n context.setFillStyle(candleOption.color.upFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n } else {\r\n context.setStrokeStyle(candleOption.color.downLine);\r\n context.setFillStyle(candleOption.color.downFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n }\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawAreaDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var areaOption = assign({}, {\r\n type: 'straight',\r\n opacity: 0.2,\r\n addLine: false,\r\n width: 2,\r\n gradient: false,\r\n activeType: 'none'\r\n }, opts.extra.area);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n let data = eachSeries.data;\r\n let points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数\r\n context.beginPath();\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length > 1) {\r\n let firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } \r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, endY);\r\n // context.lineTo(item.x - eachSpacing / 2, endY);\r\n // context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n //画连线\r\n if (areaOption.addLine) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n }\r\n }\r\n //画点\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, areaOption,seriesIndex);\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawScatterDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var scatterOption = assign({}, {\r\n type: 'circle'\r\n }, opts.extra.scatter);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setFillStyle(eachSeries.color);\r\n context.setLineWidth(1 * opts.pix);\r\n var shape = eachSeries.pointShape;\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBubbleDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var bubbleOption = assign({}, {\r\n opacity: 1,\r\n border:2\r\n }, opts.extra.bubble);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(bubbleOption.border * opts.pix);\r\n context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity));\r\n points.forEach(function(item, index) {\r\n context.moveTo(item.x + item.r, item.y);\r\n context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false);\r\n });\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n \r\n if (opts.dataLabel !== false && process === 1) {\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n var fontSize = eachSeries.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(eachSeries.textColor || \"#FFFFFF\");\r\n context.setTextAlign('center');\r\n context.fillText(String(item.t), item.x, item.y + fontSize/2);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawLineDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var lineOption = assign({}, {\r\n type: 'straight',\r\n width: 2,\r\n activeType: 'none',\r\n linearType: 'none',\r\n onShadow: false,\r\n animation: 'vertical',\r\n }, opts.extra.line);\r\n lineOption.width *= opts.pix;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n // 这段很神奇的代码用于解决ios16的setStrokeStyle失效的bug\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.moveTo(-10000, -10000);\r\n context.lineTo(-10001, -10001);\r\n context.stroke();\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n var strokeColor = eachSeries.color;\r\n if (lineOption.linearType !== 'none' && eachSeries.linearColor && eachSeries.linearColor.length > 0) {\r\n var grd = context.createLinearGradient(opts.chartData.xAxisData.startX, opts.height/2, opts.chartData.xAxisData.endX, opts.height/2);\r\n for (var i = 0; i < eachSeries.linearColor.length; i++) {\r\n grd.addColorStop(eachSeries.linearColor[i][0], hexToRgb(eachSeries.linearColor[i][1], 1));\r\n }\r\n strokeColor = grd\r\n }\r\n context.setStrokeStyle(strokeColor);\r\n if (lineOption.onShadow == true && eachSeries.setShadow && eachSeries.setShadow.length > 0) {\r\n context.setShadow(eachSeries.setShadow[0], eachSeries.setShadow[1], eachSeries.setShadow[2], eachSeries.setShadow[3]);\r\n }else{\r\n context.setShadow(0, 0, 0, 'rgba(0,0,0,0)');\r\n }\r\n context.setLineWidth(lineOption.width);\r\n splitPointList.forEach(function(points, index) {\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (lineOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n });\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, lineOption);\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMixDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n width: eachSpacing / 2,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mix.column);\r\n let areaOption = assign({}, {\r\n opacity: 0.2,\r\n gradient: false\r\n }, opts.extra.mix.area);\r\n let lineOption = assign({}, {\r\n width: 2\r\n }, opts.extra.mix.line);\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n var columnIndex = 0;\r\n var columnLength = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (eachSeries.type == 'column') {\r\n columnLength += 1;\r\n }\r\n });\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n // 绘制柱状数据图\r\n if (eachSeries.type == 'column') {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n columnIndex += 1;\r\n }\r\n //绘制区域图数据\r\n if (eachSeries.type == 'area') {\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(2 * opts.pix);\r\n if (points.length > 1) {\r\n var firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (eachSeries.style === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, endY);\r\n // context.lineTo(item.x - eachSpacing / 2, endY);\r\n // context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n // 绘制折线数据图\r\n if (eachSeries.type == 'line') {\r\n var splitPointList = splitPoints(points,eachSeries);\r\n splitPointList.forEach(function(points, index) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(lineOption.width * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (eachSeries.style == 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y,\r\n item.x, item.y);\r\n }\r\n }\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n });\r\n }\r\n // 绘制点数据图\r\n if (eachSeries.type == 'point') {\r\n eachSeries.addPoint = true;\r\n }\r\n if (eachSeries.addPoint == true && eachSeries.type !== 'column') {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n var columnIndex = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n if (eachSeries.type !== 'column') {\r\n drawPointText(points, eachSeries, config, context, opts);\r\n } else {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n columnIndex += 1;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing,\r\n }\r\n}\r\n\r\n\r\nfunction drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) {\r\n drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints)\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints);\r\n }\r\n context.restore();\r\n\r\n}\r\n\r\nfunction drawXAxis(categories, opts, config, context) {\r\n\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n startX = xAxisData.startX,\r\n endX = xAxisData.endX,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area'|| opts.type == 'scatter' || opts.type == 'bubble') {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var startY = opts.height - opts.area[2];\r\n var endY = opts.area[0];\r\n\r\n //绘制滚动条\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n var scrollY = opts.height - opts.area[2] + config.xAxisHeight;\r\n var scrollScreenWidth = endX - startX;\r\n var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n scrollTotalWidth += (opts.extra.mount.widthRatio - 1)*eachSpacing;\r\n }\r\n var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth;\r\n var scrollLeft = 0;\r\n if (opts._scrollDistance_) {\r\n scrollLeft = -opts._scrollDistance_ * (scrollScreenWidth) / scrollTotalWidth;\r\n }\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || \"#EFEBEF\");\r\n context.moveTo(startX, scrollY);\r\n context.lineTo(endX, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollColor || \"#A6A6A6\");\r\n context.moveTo(startX + scrollLeft, scrollY);\r\n context.lineTo(startX + scrollLeft + scrollWidth, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.setLineCap('butt');\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n //绘制X轴刻度线\r\n if (opts.xAxis.calibration === true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index > 0) {\r\n context.beginPath();\r\n context.moveTo(item - eachSpacing / 2, startY);\r\n context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //绘制X轴网格\r\n if (opts.xAxis.disableGrid !== true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n if (opts.xAxis.gridType == 'dash') {\r\n context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]);\r\n }\r\n opts.xAxis.gridEval = opts.xAxis.gridEval || 1;\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index % opts.xAxis.gridEval == 0) {\r\n context.beginPath();\r\n context.moveTo(item, startY);\r\n context.lineTo(item, endY);\r\n context.stroke();\r\n }\r\n });\r\n context.setLineDash([]);\r\n }\r\n //绘制X轴文案\r\n if (opts.xAxis.disabled !== true) {\r\n // 对X轴列表做抽稀处理\r\n //默认全部显示X轴标签\r\n let maxXAxisListLength = categories.length;\r\n //如果设置了X轴单屏数量\r\n if (opts.xAxis.labelCount) {\r\n //如果设置X轴密度\r\n if (opts.xAxis.itemCount) {\r\n maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount);\r\n } else {\r\n maxXAxisListLength = opts.xAxis.labelCount;\r\n }\r\n maxXAxisListLength -= 1;\r\n }\r\n\r\n let ratio = Math.ceil(categories.length / maxXAxisListLength);\r\n\r\n let newCategories = [];\r\n let cgLength = categories.length;\r\n for (let i = 0; i < cgLength; i++) {\r\n if (i % ratio !== 0) {\r\n newCategories.push(\"\");\r\n } else {\r\n newCategories.push(categories[i]);\r\n }\r\n }\r\n newCategories[cgLength - 1] = categories[cgLength - 1];\r\n var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;\r\n if (config._xAxisTextAngle_ === 0) {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n var offset = -measureText(String(xitem), xAxisFontSize, context) / 2;\r\n if (boundaryGap == 'center') {\r\n offset += eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n // 如果在主视图区域内\r\n var _scrollDistance_ = opts._scrollDistance_ || 0;\r\n var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];\r\n if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n context.fillText(String(xitem), xAxisPoints[index] + offset, startY + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.fontSize) * opts.pix / 2 + opts.xAxis.fontSize * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n } else {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item;\r\n // 如果在主视图区域内\r\n var _scrollDistance_ = opts._scrollDistance_ || 0;\r\n var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];\r\n if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){\r\n context.save();\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n var textWidth = measureText(String(xitem), xAxisFontSize, context);\r\n var offsetX = xAxisPoints[index];\r\n if (boundaryGap == 'center') {\r\n offsetX = xAxisPoints[index] + eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n var offsetY = startY + opts.xAxis.marginTop * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_));\r\n if(opts.xAxis.rotateAngle < 0){\r\n offsetX -= xAxisFontSize / 2;\r\n textWidth = 0;\r\n }else{\r\n offsetX += xAxisFontSize / 2;\r\n textWidth = -textWidth;\r\n }\r\n context.translate(offsetX, offsetY);\r\n context.rotate(-1 * config._xAxisTextAngle_);\r\n context.fillText(String(xitem), textWidth , 0 );\r\n context.closePath();\r\n context.stroke();\r\n context.restore();\r\n }\r\n });\r\n }\r\n }\r\n context.restore();\r\n \r\n //画X轴标题\r\n if (opts.xAxis.title) {\r\n context.beginPath();\r\n context.setFontSize(opts.xAxis.titleFontSize * opts.pix);\r\n context.setFillStyle(opts.xAxis.titleFontColor);\r\n context.fillText(String(opts.xAxis.title), opts.width - opts.area[1] + opts.xAxis.titleOffsetX * opts.pix,opts.height - opts.area[2] + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.titleFontSize) * opts.pix / 2 + (opts.xAxis.titleFontSize + opts.xAxis.titleOffsetY) * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n \r\n //绘制X轴轴线\r\n if (opts.xAxis.axisLine) {\r\n context.beginPath();\r\n context.setStrokeStyle(opts.xAxis.axisLineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(endX, opts.height - opts.area[2]);\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawYAxisGrid(categories, opts, config, context) {\r\n if (opts.yAxis.disableGrid === true) {\r\n return;\r\n }\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n let startX = opts.area[3];\r\n let xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1 ){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n TotalWidth += (opts.extra.mount.widthRatio - 1) * xAxiseachSpacing;\r\n }\r\n let endX = startX + TotalWidth;\r\n let points = [];\r\n let startY = 1\r\n if (opts.xAxis.axisLine === false) {\r\n startY = 0\r\n }\r\n for (let i = startY; i < opts.yAxis.splitNumber + 1; i++) {\r\n points.push(opts.height - opts.area[2] - eachSpacing * i);\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.yAxis.gridType == 'dash') {\r\n context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]);\r\n }\r\n context.setStrokeStyle(opts.yAxis.gridColor);\r\n context.setLineWidth(1 * opts.pix);\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n context.moveTo(startX, item);\r\n context.lineTo(endX, item);\r\n context.stroke();\r\n });\r\n context.setLineDash([]);\r\n context.restore();\r\n}\r\n\r\nfunction drawYAxis(series, opts, config, context) {\r\n if (opts.yAxis.disabled === true) {\r\n return;\r\n }\r\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n var eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n var endY = opts.height - opts.area[2];\r\n // set YAxis background\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') {\r\n context.fillRect(0, 0, startX, endY + 2 * opts.pix);\r\n }\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') {\r\n context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n \r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n let tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2;\r\n if (opts.yAxis.data) {\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n let yData = opts.yAxis.data[i];\r\n var points = [];\r\n if(yData.type === 'categories'){\r\n for (let i = 0; i <= yData.categories.length; i++) {\r\n points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * i);\r\n }\r\n }else{\r\n for (let i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n points.push(opts.area[0] + eachSpacing * i);\r\n }\r\n }\r\n if (yData.disabled !== true) {\r\n let rangesFormat = opts.chartData.yAxisData.rangesFormat[i];\r\n let yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize;\r\n let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i];\r\n let textAlign = yData.textAlign || \"right\";\r\n //画Y轴刻度及文案\r\n rangesFormat.forEach(function(item, index) {\r\n var pos = points[index];\r\n context.beginPath();\r\n context.setFontSize(yAxisFontSize);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setFillStyle(yData.fontColor || opts.fontColor);\r\n let tmpstrat = 0;\r\n let gapwidth = 4 * opts.pix;\r\n if (yAxisWidth.position == 'left') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartLeft, pos);\r\n context.lineTo(tStartLeft - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartLeft - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartLeft - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartLeft - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n\r\n } else if (yAxisWidth.position == 'right') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartRight, pos);\r\n context.lineTo(tStartRight + 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartRight + gapwidth\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartRight + yAxisWidth.width\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartRight + yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartCenter, pos);\r\n context.lineTo(tStartCenter - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartCenter - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartCenter - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartCenter - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n //画Y轴轴线\r\n if (yData.axisLine !== false) {\r\n context.beginPath();\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n if (yAxisWidth.position == 'left') {\r\n context.moveTo(tStartLeft, opts.height - opts.area[2]);\r\n context.lineTo(tStartLeft, opts.area[0]);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.moveTo(tStartRight, opts.height - opts.area[2]);\r\n context.lineTo(tStartRight, opts.area[0]);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.moveTo(tStartCenter, opts.height - opts.area[2]);\r\n context.lineTo(tStartCenter, opts.area[0]);\r\n }\r\n context.stroke();\r\n }\r\n //画Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let titleFontSize = yData.titleFontSize * opts.pix || config.fontSize;\r\n let title = yData.title;\r\n context.beginPath();\r\n context.setFontSize(titleFontSize);\r\n context.setFillStyle(yData.titleFontColor || opts.fontColor);\r\n if (yAxisWidth.position == 'left') {\r\n context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (yAxisWidth.position == 'left') {\r\n tStartLeft -= (yAxisWidth.width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction drawLegend(series, opts, config, context, chartData) {\r\n if (opts.legend.show === false) {\r\n return;\r\n }\r\n let legendData = chartData.legendData;\r\n let legendList = legendData.points;\r\n let legendArea = legendData.area;\r\n let padding = opts.legend.padding * opts.pix;\r\n let fontSize = opts.legend.fontSize * opts.pix;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let itemGap = opts.legend.itemGap * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n //画背景及边框\r\n context.beginPath();\r\n context.setLineWidth(opts.legend.borderWidth * opts.pix);\r\n context.setStrokeStyle(opts.legend.borderColor);\r\n context.setFillStyle(opts.legend.backgroundColor);\r\n context.moveTo(legendArea.start.x, legendArea.start.y);\r\n context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height);\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n legendList.forEach(function(itemList, listIndex) {\r\n let width = 0;\r\n let height = 0;\r\n width = legendData.widthArr[listIndex];\r\n height = legendData.heightArr[listIndex];\r\n let startX = 0;\r\n let startY = 0;\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n switch (opts.legend.float) {\r\n case 'left':\r\n startX = legendArea.start.x + padding;\r\n break;\r\n case 'right':\r\n startX = legendArea.start.x + legendArea.width - width;\r\n break;\r\n default:\r\n startX = legendArea.start.x + (legendArea.width - width) / 2;\r\n }\r\n startY = legendArea.start.y + padding + listIndex * lineHeight;\r\n } else {\r\n if (listIndex == 0) {\r\n width = 0;\r\n } else {\r\n width = legendData.widthArr[listIndex - 1];\r\n }\r\n startX = legendArea.start.x + padding + width;\r\n startY = legendArea.start.y + padding + (legendArea.height - height) / 2;\r\n }\r\n context.setFontSize(config.fontSize);\r\n for (let i = 0; i < itemList.length; i++) {\r\n let item = itemList[i];\r\n item.area = [0, 0, 0, 0];\r\n item.area[0] = startX;\r\n item.area[1] = startY;\r\n item.area[3] = startY + lineHeight;\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n switch (item.legendShape) {\r\n case 'line':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix);\r\n break;\r\n case 'triangle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'diamond':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'circle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI);\r\n break;\r\n case 'rect':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'square':\r\n context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'none':\r\n break;\r\n default:\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n startX += shapeWidth + shapeRight;\r\n let fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2;\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);\r\n context.fillText(legendText, startX, startY + fontTrans);\r\n context.closePath();\r\n context.stroke();\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n startX += measureText(legendText, fontSize, context) + itemGap;\r\n item.area[2] = startX;\r\n } else {\r\n item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;;\r\n startX -= shapeWidth + shapeRight;\r\n startY += lineHeight;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction drawPieDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var pieOption = assign({}, {\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n ringWidth: 30,\r\n customRadius: 0,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n centerColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.type == \"pie\" ? opts.extra.pie : opts.extra.ring);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = pieOption.activeRadius * opts.pix;\r\n }\r\n\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n if (pieOption.customRadius > 0) {\r\n radius = pieOption.customRadius * opts.pix;\r\n }\r\n series = getPieDataPoints(series, radius, process);\r\n var activeRadius = pieOption.activeRadius * opts.pix;\r\n pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (pieOption.offsetAngle) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(pieOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(pieOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (pieOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (pieOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n if (opts.type === 'ring') {\r\n var innerPieWidth = radius * 0.6;\r\n if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) {\r\n innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(pieOption.centerColor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n if (process === 1 && opts.type === 'ring') {\r\n drawRingTitle(opts, config, context, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawRoseDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var roseOption = assign({}, {\r\n type: 'area',\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.rose);\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = roseOption.activeRadius * opts.pix;\r\n }\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n var minRadius = roseOption.minRadius || radius * 0.5;\r\n if(radius < minRadius){\r\n radius = minRadius + 10;\r\n }\r\n series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process);\r\n var activeRadius = roseOption.activeRadius * opts.pix;\r\n roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(roseOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(roseOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (roseOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (roseOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawArcbarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var arcbarOption = assign({}, {\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n type: 'default',\r\n direction: 'cw',\r\n lineCap: 'round',\r\n width: 12 ,\r\n gap: 2 ,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.arcbar);\r\n series = getArcbarDataPoints(series, arcbarOption, process);\r\n var centerPosition;\r\n if (arcbarOption.centerX || arcbarOption.centerY) {\r\n centerPosition = {\r\n x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2,\r\n y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2\r\n };\r\n } else {\r\n centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n }\r\n var radius;\r\n if (arcbarOption.radius) {\r\n radius = arcbarOption.radius;\r\n } else {\r\n radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= arcbarOption.width / 2;\r\n }\r\n radius = radius < 10 ? 10 : radius;\r\n arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config);\r\n \r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n //背景颜色\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9');\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n if (arcbarOption.type == 'default') {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw');\r\n } else {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw');\r\n }\r\n context.stroke();\r\n //进度条\r\n var fillColor = eachSeries.color\r\n if(arcbarOption.linearType == 'custom'){\r\n var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y);\r\n grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(0, hexToRgb(eachSeries.color, 1))\r\n fillColor = grd;\r\n }\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(fillColor);\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw');\r\n context.stroke();\r\n }\r\n drawRingTitle(opts, config, context, centerPosition);\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawGaugeDataPoints(categories, series, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var gaugeOption = assign({}, {\r\n type: 'default',\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n width: 15,\r\n labelOffset:13,\r\n splitLine: {\r\n fixRadius: 0,\r\n splitNumber: 10,\r\n width: 15,\r\n color: '#FFFFFF',\r\n childNumber: 5,\r\n childWidth: 5\r\n },\r\n pointer: {\r\n width: 15,\r\n color: 'auto'\r\n }\r\n }, opts.extra.gauge);\r\n if (gaugeOption.oldAngle == undefined) {\r\n gaugeOption.oldAngle = gaugeOption.startAngle;\r\n }\r\n if (gaugeOption.oldData == undefined) {\r\n gaugeOption.oldData = 0;\r\n }\r\n categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle);\r\n var centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n var radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= gaugeOption.width / 2;\r\n radius = radius < 10 ? 10 : radius;\r\n var innerRadius = radius - gaugeOption.width;\r\n var totalAngle = 0;\r\n //判断仪表盘的样式:default百度样式,progress新样式\r\n if (gaugeOption.type == 'progress') {\r\n //## 第一步画中心圆形背景和进度条背景\r\n //中心圆形背景\r\n var pieRadius = radius - gaugeOption.width * 3;\r\n context.beginPath();\r\n let gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius);\r\n //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径)\r\n gradient.addColorStop('0', hexToRgb(series[0].color, 0.3));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false);\r\n context.fill();\r\n //画进度条背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false);\r\n context.stroke();\r\n //## 第二步画刻度线\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n let len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1;\r\n let proc = series[0].data * process;\r\n for (let i = 0; i < len; i++) {\r\n context.beginPath();\r\n //刻度线随进度变色\r\n if (proc > (i / len)) {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 1));\r\n } else {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n }\r\n context.setLineWidth(3 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //## 第三步画进度条\r\n series = getGaugeArcbarDataPoints(series, gaugeOption, process);\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(series[0].color);\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false);\r\n context.stroke();\r\n //## 第四步画指针\r\n let pointerRadius = radius - gaugeOption.width * 2.5;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((series[0]._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setLineWidth(gaugeOption.width / 3);\r\n let gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6);\r\n gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0));\r\n gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1));\r\n gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0));\r\n context.setStrokeStyle(gradient3);\r\n context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false);\r\n context.stroke();\r\n context.beginPath();\r\n context.setLineWidth(1);\r\n context.setStrokeStyle(series[0].color);\r\n context.setFillStyle(series[0].color);\r\n context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.stroke();\r\n context.fill();\r\n context.restore();\r\n //default百度样式\r\n } else {\r\n //画背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setLineCap('butt');\r\n for (let i = 0; i < categories.length; i++) {\r\n let eachCategories = categories[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachCategories.color);\r\n context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false);\r\n context.stroke();\r\n }\r\n context.save();\r\n //画刻度线\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n let childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth;\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(2 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(splitAngle * Math.PI);\r\n }\r\n context.restore();\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(childendX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //画指针\r\n series = getGaugeDataPoints(series, categories, gaugeOption, process);\r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((eachSeries._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setFillStyle(eachSeries.color);\r\n context.moveTo(gaugeOption.pointer.width, 0);\r\n context.lineTo(0, -gaugeOption.pointer.width / 2);\r\n context.lineTo(-innerRadius, 0);\r\n context.lineTo(0, gaugeOption.pointer.width / 2);\r\n context.lineTo(gaugeOption.pointer.width, 0);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFillStyle('#FFFFFF');\r\n context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false);\r\n context.fill();\r\n context.restore();\r\n }\r\n if (opts.dataLabel !== false) {\r\n drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context);\r\n }\r\n }\r\n //画仪表盘标题,副标题\r\n drawRingTitle(opts, config, context, centerPosition);\r\n if (process === 1 && opts.type === 'gauge') {\r\n opts.extra.gauge.oldAngle = series[0]._proportion_;\r\n opts.extra.gauge.oldData = series[0].data;\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n innerRadius: innerRadius,\r\n categories: categories,\r\n totalAngle: totalAngle\r\n };\r\n}\r\n\r\nfunction drawRadarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var radarOption = assign({}, {\r\n gridColor: '#cccccc',\r\n gridType: 'radar',\r\n gridEval:1,\r\n axisLabel:false,\r\n axisLabelTofix:0,\r\n labelShow:true,\r\n labelColor:'#666666',\r\n labelPointShow:false,\r\n labelPointRadius:3,\r\n labelPointColor:'#cccccc',\r\n opacity: 0.2,\r\n gridCount: 3,\r\n border:false,\r\n borderWidth:2,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.radar);\r\n var coordinateAngle = getRadarCoordinateSeries(opts.categories.length);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var xr = (opts.width - opts.area[1] - opts.area[3]) / 2\r\n var yr = (opts.height - opts.area[0] - opts.area[2]) / 2\r\n var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin);\r\n radius -= config.radarLabelTextMargin * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n radius = radarOption.radius ? radarOption.radius : radius;\r\n // 画分割线\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n coordinateAngle.forEach(function(angle,index) {\r\n var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n if (index % radarOption.gridEval == 0) {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.stroke();\r\n context.closePath();\r\n \r\n // 画背景网格\r\n var _loop = function _loop(i) {\r\n var startPos = {};\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n if (radarOption.gridType == 'radar') {\r\n coordinateAngle.forEach(function(angle, index) {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius /\r\n radarOption.gridCount * i * Math.sin(angle), centerPosition);\r\n if (index === 0) {\r\n startPos = pos;\r\n context.moveTo(pos.x, pos.y);\r\n } else {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.lineTo(startPos.x, startPos.y);\r\n } else {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition);\r\n context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false);\r\n }\r\n context.stroke();\r\n context.closePath();\r\n };\r\n for (var i = 1; i <= radarOption.gridCount; i++) {\r\n _loop(i);\r\n }\r\n radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config);\r\n var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process);\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setLineWidth(radarOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(eachSeries.color);\r\n \r\n var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity);\r\n if (radarOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, radius)\r\n }\r\n grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity))\r\n fillcolor = grd\r\n }\r\n \r\n context.setFillStyle(fillcolor);\r\n eachSeries.data.forEach(function(item, index) {\r\n if (index === 0) {\r\n context.moveTo(item.position.x, item.position.y);\r\n } else {\r\n context.lineTo(item.position.x, item.position.y);\r\n }\r\n });\r\n context.closePath();\r\n context.fill();\r\n if(radarOption.border === true){\r\n context.stroke();\r\n }\r\n context.closePath();\r\n if (opts.dataPointShape !== false) {\r\n var points = eachSeries.data.map(function(item) {\r\n return item.position;\r\n });\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n // 画刻度值\r\n if(radarOption.axisLabel === true){\r\n const maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n const stepLength = radius / radarOption.gridCount;\r\n const fontSize = opts.fontSize * opts.pix;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(opts.fontColor);\r\n context.setTextAlign('left');\r\n for (var i = 0; i < radarOption.gridCount + 1; i++) {\r\n let label = i * maxData / radarOption.gridCount;\r\n label = label.toFixed(radarOption.axisLabelTofix);\r\n context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2);\r\n }\r\n }\r\n \r\n // draw label text\r\n drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);\r\n \r\n // draw dataLabel\r\n if (opts.dataLabel !== false && process === 1) {\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n context.beginPath();\r\n var fontSize = eachSeries.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(eachSeries.textColor || opts.fontColor);\r\n eachSeries.data.forEach(function(item, index) {\r\n //如果是中心点垂直的上下点位\r\n if(Math.abs(item.position.x - centerPosition.x)<2){\r\n //如果在上面\r\n if(item.position.y < centerPosition.y){\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y - 4);\r\n }else{\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y + fontSize + 2);\r\n }\r\n }else{\r\n //如果在左侧\r\n if(item.position.x < centerPosition.x){\r\n context.setTextAlign('right');\r\n context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2);\r\n }else{\r\n context.setTextAlign('left');\r\n context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2);\r\n }\r\n }\r\n });\r\n context.closePath();\r\n context.stroke();\r\n });\r\n context.setTextAlign('left');\r\n }\r\n \r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n angleList: coordinateAngle\r\n };\r\n}\r\n\r\n// 经纬度转墨卡托\r\nfunction lonlat2mercator(longitude, latitude) {\r\n var mercator = Array(2);\r\n var x = longitude * 20037508.34 / 180;\r\n var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180);\r\n y = y * 20037508.34 / 180;\r\n mercator[0] = x;\r\n mercator[1] = y;\r\n return mercator;\r\n}\r\n\r\n// 墨卡托转经纬度\r\nfunction mercator2lonlat(longitude, latitude) {\r\n var lonlat = Array(2)\r\n var x = longitude / 20037508.34 * 180;\r\n var y = latitude / 20037508.34 * 180;\r\n y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);\r\n lonlat[0] = x;\r\n lonlat[1] = y;\r\n return lonlat;\r\n}\r\n\r\nfunction getBoundingBox(data) {\r\n var bounds = {},coords;\r\n bounds.xMin = 180;\r\n bounds.xMax = 0;\r\n bounds.yMin = 90;\r\n bounds.yMax = 0\r\n for (var i = 0; i < data.length; i++) {\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var longitude = coords[j][0];\r\n var latitude = coords[j][1];\r\n var point = {\r\n x: longitude,\r\n y: latitude\r\n }\r\n bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x;\r\n bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x;\r\n bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y;\r\n bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y;\r\n }\r\n }\r\n }\r\n return bounds;\r\n}\r\n\r\nfunction coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (longitude - bounds.xMin) * scale + xoffset,\r\n y: (bounds.yMax - latitude) * scale + yoffset\r\n };\r\n}\r\n\r\nfunction pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (pointX - xoffset) / scale + bounds.xMin,\r\n y: bounds.yMax - (pointY - yoffset) / scale\r\n };\r\n}\r\n\r\nfunction isRayIntersectsSegment(poi, s_poi, e_poi) {\r\n if (s_poi[1] == e_poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n let xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]);\r\n if (xseg < poi[0]) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\nfunction isPoiWithinPoly(poi, poly, mercator) {\r\n let sinsc = 0;\r\n for (let i = 0; i < poly.length; i++) {\r\n let epoly = poly[i][0];\r\n if (poly.length == 1) {\r\n epoly = poly[i][0]\r\n }\r\n for (let j = 0; j < epoly.length - 1; j++) {\r\n let s_poi = epoly[j];\r\n let e_poi = epoly[j + 1];\r\n if (mercator) {\r\n s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]);\r\n e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]);\r\n }\r\n if (isRayIntersectsSegment(poi, s_poi, e_poi)) {\r\n sinsc += 1;\r\n }\r\n }\r\n }\r\n if (sinsc % 2 == 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\nfunction drawMapDataPoints(series, opts, config, context) {\r\n var mapOption = assign({}, {\r\n border: true,\r\n mercator: false,\r\n borderWidth: 1,\r\n active:true,\r\n borderColor: '#666666',\r\n fillOpacity: 0.6,\r\n activeBorderColor: '#f04864',\r\n activeFillColor: '#facc14',\r\n activeFillOpacity: 1\r\n }, opts.extra.map);\r\n var coords, point;\r\n var data = series;\r\n var bounds = getBoundingBox(data);\r\n if (mapOption.mercator) {\r\n var max = lonlat2mercator(bounds.xMax, bounds.yMax)\r\n var min = lonlat2mercator(bounds.xMin, bounds.yMin)\r\n bounds.xMax = max[0]\r\n bounds.yMax = max[1]\r\n bounds.xMin = min[0]\r\n bounds.yMin = min[1]\r\n }\r\n var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin);\r\n var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin);\r\n var scale = xScale < yScale ? xScale : yScale;\r\n var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale;\r\n var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale;\r\n for (var i = 0; i < data.length; i++) {\r\n context.beginPath();\r\n context.setLineWidth(mapOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(mapOption.borderColor);\r\n context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity||mapOption.fillOpacity));\r\n if (mapOption.active == true && opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.setStrokeStyle(mapOption.activeBorderColor);\r\n context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity));\r\n }\r\n }\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var gaosi = Array(2);\r\n if (mapOption.mercator) {\r\n gaosi = lonlat2mercator(coords[j][0], coords[j][1])\r\n } else {\r\n gaosi = coords[j]\r\n }\r\n point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset)\r\n if (j === 0) {\r\n context.beginPath();\r\n context.moveTo(point.x, point.y);\r\n } else {\r\n context.lineTo(point.x, point.y);\r\n }\r\n }\r\n context.fill();\r\n if (mapOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n }\r\n if (opts.dataLabel == true) {\r\n for (var i = 0; i < data.length; i++) {\r\n var centerPoint = data[i].properties.centroid;\r\n if (centerPoint) {\r\n if (mapOption.mercator) {\r\n centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1])\r\n }\r\n point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset);\r\n let fontSize = data[i].textSize * opts.pix || config.fontSize;\r\n let fontColor = data[i].textColor || opts.fontColor;\r\n if(mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i){\r\n fontColor = mapOption.activeTextColor;\r\n }\r\n let text = data[i].properties.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize)\r\n context.setFillStyle(fontColor)\r\n context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n opts.chartData.mapData = {\r\n bounds: bounds,\r\n scale: scale,\r\n xoffset: xoffset,\r\n yoffset: yoffset,\r\n mercator: mapOption.mercator\r\n }\r\n drawToolTipBridge(opts, config, context, 1);\r\n context.draw();\r\n}\r\n\r\nfunction normalInt(min, max, iter) {\r\n iter = iter == 0 ? 1 : iter;\r\n var arr = [];\r\n for (var i = 0; i < iter; i++) {\r\n arr[i] = Math.random();\r\n };\r\n return Math.floor(arr.reduce(function(i, j) {\r\n return i + j\r\n }) / iter * (max - min)) + min;\r\n};\r\n\r\nfunction collisionNew(area, points, width, height) {\r\n var isIn = false;\r\n for (let i = 0; i < points.length; i++) {\r\n if (points[i].area) {\r\n if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) {\r\n if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) {\r\n isIn = true;\r\n break;\r\n } else {\r\n isIn = false;\r\n }\r\n } else {\r\n isIn = true;\r\n break;\r\n }\r\n }\r\n }\r\n return isIn;\r\n};\r\n\r\nfunction getWordCloudPoint(opts, type, context) {\r\n let points = opts.series;\r\n switch (type) {\r\n case 'normal':\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let x, y;\r\n let area;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 +\r\n opts.height / 2\r\n ];\r\n let isCollision = collisionNew(area, points, opts.width, opts.height);\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-100, -100, -100, -100];\r\n break;\r\n }\r\n };\r\n points[i].area = area;\r\n }\r\n break;\r\n case 'vertical':\r\n function Spin() {\r\n //获取均匀随机值,是否旋转,旋转的概率为(1-0.5)\r\n if (Math.random() > 0.7) {\r\n return true;\r\n } else {\r\n return false\r\n };\r\n };\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let isSpin = Spin();\r\n let x, y, area, areav;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n let isCollision;\r\n if (isSpin) {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [y - 5 - tWidth + opts.width / 2, (-x - 5 + opts.height / 2), y + 5 + opts.width / 2, (-x + tHeight + 5 + opts.height / 2)];\r\n areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) - 5, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) + tHeight, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) + tWidth + 5];\r\n isCollision = collisionNew(areav, points, opts.height, opts.width);\r\n } else {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2];\r\n isCollision = collisionNew(area, points, opts.width, opts.height);\r\n }\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-1000, -1000, -1000, -1000];\r\n break;\r\n }\r\n };\r\n if (isSpin) {\r\n points[i].area = areav;\r\n points[i].areav = area;\r\n } else {\r\n points[i].area = area;\r\n }\r\n points[i].rotate = isSpin;\r\n };\r\n break;\r\n }\r\n return points;\r\n}\r\n\r\nfunction drawWordCloudDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let wordOption = assign({}, {\r\n type: 'normal',\r\n autoColors: true\r\n }, opts.extra.word);\r\n if (!opts.chartData.wordCloudData) {\r\n opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n context.rect(0, 0, opts.width, opts.height);\r\n context.fill();\r\n context.save();\r\n let points = opts.chartData.wordCloudData;\r\n context.translate(opts.width / 2, opts.height / 2);\r\n for (let i = 0; i < points.length; i++) {\r\n context.save();\r\n if (points[i].rotate) {\r\n context.rotate(90 * Math.PI / 180);\r\n }\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n context.beginPath();\r\n context.setStrokeStyle(points[i].color);\r\n context.setFillStyle(points[i].color);\r\n context.setFontSize(tHeight);\r\n if (points[i].rotate) {\r\n if (points[i].areav[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n } else {\r\n if (points[i].area[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n }\r\n context.stroke();\r\n context.restore();\r\n }\r\n context.restore();\r\n}\r\n\r\nfunction drawFunnelDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let funnelOption = assign({}, {\r\n type:'funnel',\r\n activeWidth: 10,\r\n activeOpacity: 0.3,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n fillOpacity: 1,\r\n minSize: 0,\r\n labelAlign: 'right',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.funnel);\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length;\r\n let centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.height - opts.area[2]\r\n };\r\n let activeWidth = funnelOption.activeWidth * opts.pix;\r\n let radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth);\r\n let seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process);\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config);\r\n if(funnelOption.type == 'pyramid'){\r\n for (let i = 0; i < seriesNew.length; i++) {\r\n if (i == seriesNew.length -1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth, -eachSpacing);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, 0);\r\n context.lineTo(seriesNew[i].radius + activeWidth, 0);\r\n context.lineTo(activeWidth, -eachSpacing);\r\n context.lineTo(-activeWidth, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, -eachSpacing);\r\n context.lineTo(-seriesNew[i].radius, 0);\r\n context.lineTo(seriesNew[i].radius, 0);\r\n context.lineTo(0, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, 0);\r\n context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i].radius, 0);\r\n context.lineTo(-seriesNew[i + 1].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, -eachSpacing)\r\n }\r\n }else{\r\n context.translate(0, - (seriesNew.length - 1) * eachSpacing);\r\n for (let i = 0; i < seriesNew.length; i++) {\r\n if (i == seriesNew.length - 1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth - funnelOption.minSize/2, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(activeWidth + funnelOption.minSize/2, 0);\r\n context.lineTo(-activeWidth - funnelOption.minSize/2, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[i].radius, centerPosition.y ];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-funnelOption.minSize/2, 0);\r\n context.lineTo(-seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(funnelOption.minSize/2, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i + 1].radius - activeWidth, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i - 1)];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i + 1].radius, 0);\r\n context.lineTo(-seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, eachSpacing)\r\n }\r\n }\r\n \r\n context.restore();\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\r\n }\r\n if (process === 1) {\r\n drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: seriesNew\r\n };\r\n}\r\n\r\nfunction drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if(item.labelShow === false){\r\n continue;\r\n }\r\n let startX, endX, startY, fontSize;\r\n let text = item.formatter ? item.formatter(item,i,series,opts) : util.toFixed(item._proportion_ * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n if (labelAlign == 'right') {\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[2] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2;\r\n }\r\n endX = startX + activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX + 5, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n if (labelAlign == 'left') {\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[0] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2;\r\n }\r\n endX = startX - activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n }\r\n}\r\n\r\nfunction drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n let startY, fontSize;\r\n if (item.centerText) {\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.centerTextColor || \"#FFFFFF\");\r\n context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction drawCanvas(opts, context) {\r\n context.save();\r\n context.translate(0, 0.5);\r\n context.restore();\r\n context.draw();\r\n}\r\n\r\nvar Timing = {\r\n easeIn: function easeIn(pos) {\r\n return Math.pow(pos, 3);\r\n },\r\n easeOut: function easeOut(pos) {\r\n return Math.pow(pos - 1, 3) + 1;\r\n },\r\n easeInOut: function easeInOut(pos) {\r\n if ((pos /= 0.5) < 1) {\r\n return 0.5 * Math.pow(pos, 3);\r\n } else {\r\n return 0.5 * (Math.pow(pos - 2, 3) + 2);\r\n }\r\n },\r\n linear: function linear(pos) {\r\n return pos;\r\n }\r\n};\r\n\r\nfunction Animation(opts) {\r\n this.isStop = false;\r\n opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration;\r\n opts.timing = opts.timing || 'easeInOut';\r\n var delay = 17;\r\n function createAnimationFrame() {\r\n if (typeof setTimeout !== 'undefined') {\r\n return function(step, delay) {\r\n setTimeout(function() {\r\n var timeStamp = +new Date();\r\n step(timeStamp);\r\n }, delay);\r\n };\r\n } else if (typeof requestAnimationFrame !== 'undefined') {\r\n return requestAnimationFrame;\r\n } else {\r\n return function(step) {\r\n step(null);\r\n };\r\n }\r\n };\r\n var animationFrame = createAnimationFrame();\r\n var startTimeStamp = null;\r\n var _step = function step(timestamp) {\r\n if (timestamp === null || this.isStop === true) {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n return;\r\n }\r\n if (startTimeStamp === null) {\r\n startTimeStamp = timestamp;\r\n }\r\n if (timestamp - startTimeStamp < opts.duration) {\r\n var process = (timestamp - startTimeStamp) / opts.duration;\r\n var timingFunction = Timing[opts.timing];\r\n process = timingFunction(process);\r\n opts.onProcess && opts.onProcess(process);\r\n animationFrame(_step, delay);\r\n } else {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n }\r\n };\r\n _step = _step.bind(this);\r\n animationFrame(_step, delay);\r\n}\r\n\r\nAnimation.prototype.stop = function() {\r\n this.isStop = true;\r\n};\r\n\r\nfunction drawCharts(type, opts, config, context) {\r\n var _this = this;\r\n var series = opts.series;\r\n //兼容ECharts饼图类数据格式\r\n if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') {\r\n series = fixPieSeries(series, opts, config);\r\n }\r\n var categories = opts.categories;\r\n if (type === 'mount') {\r\n categories = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if(series[j].show !== false) categories.push(series[j].name)\r\n }\r\n opts.categories = categories;\r\n }\r\n series = fillSeries(series, opts, config);\r\n var duration = opts.animation ? opts.duration : 0;\r\n _this.animationInstance && _this.animationInstance.stop();\r\n var seriesMA = null;\r\n if (type == 'candle') {\r\n let average = assign({}, opts.extra.candle.average);\r\n if (average.show) {\r\n seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data);\r\n seriesMA = fillSeries(seriesMA, opts, config);\r\n opts.seriesMA = seriesMA;\r\n } else if (opts.seriesMA) {\r\n seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config);\r\n } else {\r\n seriesMA = series;\r\n }\r\n } else {\r\n seriesMA = series;\r\n }\r\n /* 过滤掉show=false的series */\r\n opts._series_ = series = filterSeries(series);\r\n //重新计算图表区域\r\n opts.area = new Array(4);\r\n //复位绘图区域\r\n for (let j = 0; j < 4; j++) {\r\n opts.area[j] = opts.padding[j] * opts.pix;\r\n }\r\n //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域\r\n var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context),\r\n legendHeight = _calLegendData.area.wholeHeight,\r\n legendWidth = _calLegendData.area.wholeWidth;\r\n\r\n switch (opts.legend.position) {\r\n case 'top':\r\n opts.area[0] += legendHeight;\r\n break;\r\n case 'bottom':\r\n opts.area[2] += legendHeight;\r\n break;\r\n case 'left':\r\n opts.area[3] += legendWidth;\r\n break;\r\n case 'right':\r\n opts.area[1] += legendWidth;\r\n break;\r\n }\r\n\r\n let _calYAxisData = {},\r\n yAxisWidth = 0;\r\n if (opts.type === 'line' || opts.type === 'column'|| opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n _calYAxisData = calYAxisData(series, opts, config, context);\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n //如果显示Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let maxTitleHeight = 0;\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize)\r\n }\r\n opts.area[0] += maxTitleHeight;\r\n }\r\n let rightIndex = 0,\r\n leftIndex = 0;\r\n //计算主绘图区域左右位置\r\n for (let i = 0; i < yAxisWidth.length; i++) {\r\n if (yAxisWidth[i].position == 'left') {\r\n if (leftIndex > 0) {\r\n opts.area[3] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[3] += yAxisWidth[i].width;\r\n }\r\n leftIndex += 1;\r\n } else if (yAxisWidth[i].position == 'right') {\r\n if (rightIndex > 0) {\r\n opts.area[1] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[1] += yAxisWidth[i].width;\r\n }\r\n rightIndex += 1;\r\n }\r\n }\r\n } else {\r\n config.yAxisWidth = yAxisWidth;\r\n }\r\n opts.chartData.yAxisData = _calYAxisData;\r\n\r\n if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') {\r\n opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config);\r\n let _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n opts.chartData.xAxisData = calXAxisData(series, opts, config, context);\r\n categories = opts.chartData.xAxisData.rangesFormat;\r\n let _calCategoriesData = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n opts.chartData.xAxisData = {\r\n xAxisPoints: []\r\n };\r\n }\r\n }\r\n\r\n //计算右对齐偏移距离\r\n if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) {\r\n let offsetLeft = 0,\r\n xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n startX = opts.chartData.xAxisData.startX,\r\n endX = opts.chartData.xAxisData.endX,\r\n eachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n _this.scrollOption.currentOffset = offsetLeft;\r\n _this.scrollOption.startTouchX = offsetLeft;\r\n _this.scrollOption.distance = 0;\r\n _this.scrollOption.lastMoveTime = 0;\r\n opts._scrollDistance_ = offsetLeft;\r\n }\r\n\r\n if (type === 'pie' || type === 'ring' || type === 'rose') {\r\n config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts);\r\n }\r\n \r\n switch (type) {\r\n case 'word':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawWordCloudDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'map':\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n drawMapDataPoints(series, opts, config, context);\r\n setTimeout(()=>{\r\n this.uevent.trigger('renderComplete');\r\n },50)\r\n break;\r\n case 'funnel':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'line':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawLineDataPoints.xAxisPoints,\r\n calPoints = _drawLineDataPoints.calPoints,\r\n eachSpacing = _drawLineDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'scatter':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawScatterDataPoints.xAxisPoints,\r\n calPoints = _drawScatterDataPoints.calPoints,\r\n eachSpacing = _drawScatterDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bubble':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawBubbleDataPoints.xAxisPoints,\r\n calPoints = _drawBubbleDataPoints.calPoints,\r\n eachSpacing = _drawBubbleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mix':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMixDataPoints.xAxisPoints,\r\n calPoints = _drawMixDataPoints.calPoints,\r\n eachSpacing = _drawMixDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'column':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawColumnDataPoints.xAxisPoints,\r\n calPoints = _drawColumnDataPoints.calPoints,\r\n eachSpacing = _drawColumnDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mount':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMountDataPoints.xAxisPoints,\r\n calPoints = _drawMountDataPoints.calPoints,\r\n eachSpacing = _drawMountDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process),\r\n yAxisPoints = _drawBarDataPoints.yAxisPoints,\r\n calPoints = _drawBarDataPoints.calPoints,\r\n eachSpacing = _drawBarDataPoints.eachSpacing;\r\n opts.chartData.yAxisPoints = yAxisPoints;\r\n opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'area':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawAreaDataPoints.xAxisPoints,\r\n calPoints = _drawAreaDataPoints.calPoints,\r\n eachSpacing = _drawAreaDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'ring':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'pie':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'rose':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'radar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'arcbar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'gauge':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'candle':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process),\r\n xAxisPoints = _drawCandleDataPoints.xAxisPoints,\r\n calPoints = _drawCandleDataPoints.calPoints,\r\n eachSpacing = _drawCandleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n if (seriesMA) {\r\n drawLegend(seriesMA, opts, config, context, opts.chartData);\r\n } else {\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n }\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n }\r\n}\r\n\r\nfunction uChartsEvent() {\r\n this.events = {};\r\n}\r\n\r\nuChartsEvent.prototype.addEventListener = function(type, listener) {\r\n this.events[type] = this.events[type] || [];\r\n this.events[type].push(listener);\r\n};\r\n\r\nuChartsEvent.prototype.delEventListener = function(type) {\r\n this.events[type] = [];\r\n};\r\n\r\nuChartsEvent.prototype.trigger = function() {\r\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key];\r\n }\r\n var type = args[0];\r\n var params = args.slice(1);\r\n if (!!this.events[type]) {\r\n this.events[type].forEach(function(listener) {\r\n try {\r\n listener.apply(null, params);\r\n } catch (e) {\r\n //console.log('[uCharts] '+e);\r\n }\r\n });\r\n }\r\n};\r\n\r\nvar uCharts = function uCharts(opts) {\r\n opts.pix = opts.pixelRatio ? opts.pixelRatio : 1;\r\n opts.fontSize = opts.fontSize ? opts.fontSize : 13;\r\n opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor;\r\n if (opts.background == \"\" || opts.background == \"none\") {\r\n opts.background = \"#FFFFFF\"\r\n }\r\n opts.title = assign({}, opts.title);\r\n opts.subtitle = assign({}, opts.subtitle);\r\n opts.duration = opts.duration ? opts.duration : 1000;\r\n opts.yAxis = assign({}, {\r\n data: [],\r\n showTitle: false,\r\n disabled: false,\r\n disableGrid: false,\r\n gridSet: 'number',\r\n splitNumber: 5,\r\n gridType: 'solid',\r\n dashLength: 4 * opts.pix,\r\n gridColor: '#cccccc',\r\n padding: 10,\r\n fontColor: '#666666'\r\n }, opts.yAxis);\r\n opts.xAxis = assign({}, {\r\n rotateLabel: false,\r\n rotateAngle:45,\r\n disabled: false,\r\n disableGrid: false,\r\n splitNumber: 5,\r\n calibration:false,\r\n fontColor: '#666666',\r\n fontSize: 13,\r\n lineHeight: 20,\r\n marginTop: 0,\r\n gridType: 'solid',\r\n dashLength: 4,\r\n scrollAlign: 'left',\r\n boundaryGap: 'center',\r\n axisLine: true,\r\n axisLineColor: '#cccccc',\r\n titleFontSize: 13,\r\n titleOffsetY: 0,\r\n titleOffsetX: 0,\r\n titleFontColor: '#666666'\r\n }, opts.xAxis);\r\n opts.xAxis.scrollPosition = opts.xAxis.scrollAlign;\r\n opts.legend = assign({}, {\r\n show: true,\r\n position: 'bottom',\r\n float: 'center',\r\n backgroundColor: 'rgba(0,0,0,0)',\r\n borderColor: 'rgba(0,0,0,0)',\r\n borderWidth: 0,\r\n padding: 5,\r\n margin: 5,\r\n itemGap: 10,\r\n fontSize: opts.fontSize,\r\n lineHeight: opts.fontSize,\r\n fontColor: opts.fontColor,\r\n formatter: {},\r\n hiddenColor: '#CECECE'\r\n }, opts.legend);\r\n opts.extra = assign({\r\n tooltip:{\r\n legendShape: 'auto'\r\n }\r\n }, opts.extra);\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.animation = opts.animation ? true : false;\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.canvas2d = opts.canvas2d ? true : false;\r\n \r\n let config$$1 = assign({}, config);\r\n config$$1.color = opts.color ? opts.color : config$$1.color;\r\n if (opts.type == 'pie') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'ring') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'rose') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix;\r\n\r\n //屏幕旋转\r\n config$$1.rotate = opts.rotate;\r\n if (opts.rotate) {\r\n let tempWidth = opts.width;\r\n let tempHeight = opts.height;\r\n opts.width = tempHeight;\r\n opts.height = tempWidth;\r\n }\r\n\r\n //适配高分屏\r\n opts.padding = opts.padding ? opts.padding : config$$1.padding;\r\n config$$1.yAxisWidth = config.yAxisWidth * opts.pix;\r\n config$$1.fontSize = opts.fontSize * opts.pix;\r\n config$$1.titleFontSize = config.titleFontSize * opts.pix;\r\n config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix;\r\n if(!opts.context){\r\n throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!');\r\n }\r\n this.context = opts.context;\r\n if (!this.context.setTextAlign) {\r\n this.context.setStrokeStyle = function(e) {\r\n return this.strokeStyle = e;\r\n }\r\n this.context.setLineWidth = function(e) {\r\n return this.lineWidth = e;\r\n }\r\n this.context.setLineCap = function(e) {\r\n return this.lineCap = e;\r\n }\r\n this.context.setFontSize = function(e) {\r\n return this.font = e + \"px sans-serif\";\r\n }\r\n this.context.setFillStyle = function(e) {\r\n return this.fillStyle = e;\r\n }\r\n this.context.setTextAlign = function(e) {\r\n return this.textAlign = e;\r\n }\r\n this.context.setTextBaseline = function(e) {\r\n return this.textBaseline = e;\r\n }\r\n this.context.setShadow = function(offsetX,offsetY,blur,color) {\r\n this.shadowColor = color;\r\n this.shadowOffsetX = offsetX;\r\n this.shadowOffsetY = offsetY;\r\n this.shadowBlur = blur;\r\n }\r\n this.context.draw = function() {}\r\n }\r\n //兼容NVUEsetLineDash\r\n if(!this.context.setLineDash){\r\n this.context.setLineDash = function(e) {}\r\n }\r\n opts.chartData = {};\r\n this.uevent = new uChartsEvent();\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts = opts;\r\n this.config = config$$1;\r\n drawCharts.call(this, opts.type, opts, config$$1, this.context);\r\n};\r\n\r\nuCharts.prototype.updateData = function() {\r\n let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n this.opts = assign({}, this.opts, data);\r\n this.opts.updateData = true;\r\n let scrollPosition = data.scrollPosition || 'current';\r\n switch (scrollPosition) {\r\n case 'current':\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n break;\r\n case 'left':\r\n this.opts._scrollDistance_ = 0;\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n break;\r\n case 'right':\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts._scrollDistance_ = offsetLeft;\r\n break;\r\n }\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.zoom = function() {\r\n var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount;\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n //当前屏幕中间点\r\n let centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2);\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = val.itemCount;\r\n //重新计算x轴偏移距离\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context),\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let centerLeft = eachSpacing * centerPoint;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = screenWidth / 2 - centerLeft;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.dobuleZoom = function(e) {\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n const tcs = e.changedTouches;\r\n if (tcs.length < 2) {\r\n return;\r\n }\r\n for (var i = 0; i < tcs.length; i++) {\r\n tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX;\r\n tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY;\r\n }\r\n const ntcs = [getTouches(tcs[0], this.opts, e),getTouches(tcs[1], this.opts, e)]; \r\n const xlength = Math.abs(ntcs[0].x - ntcs[1].x);\r\n // 记录初始的两指之间的数据\r\n if(!this.scrollOption.moveCount){\r\n let cts0 = {changedTouches:[{x:tcs[0].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n let cts1 = {changedTouches:[{x:tcs[1].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n if(this.opts.rotate){\r\n cts0 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[0].y}]};\r\n cts1 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[1].y}]};\r\n }\r\n const moveCurrent1 = this.getCurrentDataIndex(cts0).index;\r\n const moveCurrent2 = this.getCurrentDataIndex(cts1).index;\r\n const moveCount = Math.abs(moveCurrent1 - moveCurrent2);\r\n this.scrollOption.moveCount = moveCount;\r\n this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2);\r\n this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2);\r\n return;\r\n }\r\n \r\n let currentEachSpacing = xlength / this.scrollOption.moveCount;\r\n let itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing;\r\n itemCount = itemCount <= 2 ? 2 : itemCount;\r\n itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount;\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = itemCount;\r\n // 重新计算滚动条偏移距离\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let currentLeft = eachSpacing * this.scrollOption.moveCurrent1;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = -currentLeft+Math.min(ntcs[0].x,ntcs[1].x)-this.opts.area[3]-eachSpacing;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption.currentOffset= offsetLeft;\r\n this.scrollOption.startTouchX= 0;\r\n this.scrollOption.distance=0;\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n}\r\n\r\nuCharts.prototype.stopAnimation = function() {\r\n this.animationInstance && this.animationInstance.stop();\r\n};\r\n\r\nuCharts.prototype.addEventListener = function(type, listener) {\r\n this.uevent.addEventListener(type, listener);\r\n};\r\n\r\nuCharts.prototype.delEventListener = function(type) {\r\n this.uevent.delEventListener(type);\r\n};\r\n\r\nuCharts.prototype.getCurrentDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring') {\r\n return findPieChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'rose') {\r\n return findRoseChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'radar') {\r\n return findRadarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.radarData, this.opts.categories.length);\r\n } else if (this.opts.type === 'funnel') {\r\n return findFunnelChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.funnelData);\r\n } else if (this.opts.type === 'map') {\r\n return findMapChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts);\r\n } else if (this.opts.type === 'word') {\r\n return findWordChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.wordCloudData);\r\n } else if (this.opts.type === 'bar') {\r\n return findBarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n } else {\r\n return findCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.getLegendDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n return findLegendIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.legendData);\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.touchLegend = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var index = this.getLegendDataIndex(e);\r\n if (index >= 0) {\r\n if (this.opts.type == 'candle') {\r\n this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show;\r\n } else {\r\n this.opts.series[index].show = !this.opts.series[index].show;\r\n }\r\n this.opts.animation = option.animation ? true : false;\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n }\r\n }\r\n\r\n};\r\n\r\nuCharts.prototype.showToolTip = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (!touches) {\r\n console.log(\"[uCharts] 未获取到event坐标信息\");\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index,\r\n group: current.group\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mount') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: opts.chartData.calPoints[index].x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n \r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'bar') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.x = _touches$.x;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mix') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option),\r\n textList = _getMixToolTipData.textList,\r\n offset = _getMixToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'candle') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'map') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n seriesData.name = seriesData.properties.name\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'word') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'radar') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var textList = seriesData.map((item) => {\r\n return {\r\n text: option.formatter ? option.formatter(item, this.opts.categories[index], index, this.opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : this.opts.extra.tooltip.legendShape\r\n };\r\n });\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n};\r\n\r\nuCharts.prototype.translate = function(distance) {\r\n this.scrollOption = {\r\n currentOffset: distance,\r\n startTouchX: distance,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n let opts = assign({}, this.opts, {\r\n _scrollDistance_: distance,\r\n animation: false\r\n });\r\n drawCharts.call(this, this.opts.type, opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.scrollStart = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n if (touches && this.opts.enableScroll === true) {\r\n this.scrollOption.startTouchX = _touches$.x;\r\n }\r\n};\r\n\r\nuCharts.prototype.scroll = function(e) {\r\n if (this.scrollOption.lastMoveTime === 0) {\r\n this.scrollOption.lastMoveTime = Date.now();\r\n }\r\n let Limit = this.opts.touchMoveLimit || 60;\r\n let currMoveTime = Date.now();\r\n let duration = currMoveTime - this.scrollOption.lastMoveTime;\r\n if (duration < Math.floor(1000 / Limit)) return;\r\n if (this.scrollOption.startTouchX == 0) return;\r\n this.scrollOption.lastMoveTime = currMoveTime;\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches && this.opts.enableScroll === true) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var _distance;\r\n _distance = _touches$.x - this.scrollOption.startTouchX;\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts);\r\n this.scrollOption.distance = _distance = validDistance - currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset + _distance,\r\n animation: false\r\n });\r\n\t\tthis.opts = opts;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n return currentOffset + _distance;\r\n }\r\n};\r\n\r\nuCharts.prototype.scrollEnd = function(e) {\r\n if (this.opts.enableScroll === true) {\r\n var _scrollOption = this.scrollOption,\r\n currentOffset = _scrollOption.currentOffset,\r\n distance = _scrollOption.distance;\r\n this.scrollOption.currentOffset = currentOffset + distance;\r\n this.scrollOption.distance = 0;\r\n this.scrollOption.moveCount = 0;\r\n }\r\n};\r\n\r\nexport default uCharts;","/*\r\n * uCharts®\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts®官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性\r\nconst color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];\r\n\r\n//事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改\r\nconst formatDateTime = (timeStamp, returnType)=>{\r\n var date = new Date();\r\n date.setTime(timeStamp * 1000);\r\n var y = date.getFullYear();\r\n var m = date.getMonth() + 1;\r\n m = m < 10 ? ('0' + m) : m;\r\n var d = date.getDate();\r\n d = d < 10 ? ('0' + d) : d;\r\n var h = date.getHours();\r\n h = h < 10 ? ('0' + h) : h;\r\n var minute = date.getMinutes();\r\n var second = date.getSeconds();\r\n minute = minute < 10 ? ('0' + minute) : minute;\r\n second = second < 10 ? ('0' + second) : second;\r\n if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;}\r\n if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;}\r\n if(returnType == 'h:m'){return h +':' + minute;}\r\n if(returnType == 'h:m:s'){return h +':' + minute +':' + second;}\r\n return [y, m, d, h, minute, second];\r\n}\r\n\r\nconst cfu = {\r\n //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可\r\n\t\"type\":[\"pie\",\"ring\",\"rose\",\"word\",\"funnel\",\"map\",\"arcbar\",\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"tline\",\"tarea\",\"scatter\",\"bubble\",\"demotype\"],\r\n\t\"range\":[\"饼状图\",\"圆环图\",\"玫瑰图\",\"词云图\",\"漏斗图\",\"地图\",\"圆弧进度条\",\"折线图\",\"柱状图\",\"山峰图\",\"条状图\",\"区域图\",\"雷达图\",\"仪表盘\",\"K线图\",\"混合图\",\"时间轴折线\",\"时间轴区域\",\"散点图\",\"气泡图\",\"自定义类型\"],\r\n //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的\"demotype\"\r\n //自定义类型时需要注意\"tline\",\"tarea\",\"scatter\",\"bubble\"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories\r\n\t\"categories\":[\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"demotype\"],\r\n //instance为实例变量承载属性,不要删除\r\n \"instance\":{},\r\n //option为opts及eopts承载属性,不要删除\r\n \"option\":{},\r\n //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换\r\n \"formatter\":{\r\n \"yAxisDemo1\":function(val, index, opts){return val+'元'},\r\n \"yAxisDemo2\":function(val, index, opts){return val.toFixed(2)},\r\n \"xAxisDemo1\":function(val, index, opts){return val+'年';},\r\n \"xAxisDemo2\":function(val, index, opts){return formatDateTime(val,'h:m')},\r\n \"seriesDemo1\":function(val, index, series, opts){return val+'元'},\r\n \"tooltipDemo1\":function(item, category, index, opts){\r\n if(index==0){\r\n \treturn '随便用'+item.data+'年'\r\n }else{\r\n \treturn '其他我没改'+item.data+'天'\r\n }\r\n },\r\n \"pieDemo\":function(val, index, series, opts){\r\n if(index !== undefined){\r\n return series[index].name+':'+series[index].data+'元'\r\n }\r\n },\r\n },\r\n //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type=\"demotype\" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。\r\n \"demotype\":{\r\n //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置\r\n \"type\": \"line\",\r\n \"color\": color,\r\n \"padding\": [15,10,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": true,\r\n },\r\n \"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"line\": {\r\n \t\t\"type\": \"curve\",\r\n \t\t\"width\": 2\r\n \t},\r\n }\r\n },\r\n //下面是自定义配置,请添加项目所需的通用配置\r\n\t\"pie\":{\r\n\t\t\"type\": \"pie\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"extra\": {\r\n\t\t\t\"pie\": {\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"ring\":{\r\n\t\t\"type\": \"ring\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"rotate\": false,\r\n\t\t\"dataLabel\": true,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"收益率\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"70%\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#7cb5ec\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"ring\": {\r\n\t\t\t\t\"ringWidth\":30,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\t\"rose\":{\r\n\t\t\"type\": \"rose\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"left\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"rose\": {\r\n\t\t\t\t\"type\": \"area\",\r\n\t\t\t\t\"minRadius\": 50,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": false,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"word\":{\r\n\t\t\"type\": \"word\",\r\n \"color\": color,\r\n\t\t\"extra\": {\r\n\t\t\t\"word\": {\r\n\t\t\t\t\"type\": \"normal\",\r\n\t\t\t\t\"autoColors\": false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"funnel\":{\r\n\t\t\"type\": \"funnel\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"extra\": {\r\n\t\t\t\"funnel\": {\r\n\t\t\t\t\"activeOpacity\": 0.3,\r\n\t\t\t\t\"activeWidth\": 10,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\",\r\n\t\t\t\t\"fillOpacity\": 1,\r\n\t\t\t\t\"labelAlign\": \"right\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"map\":{\r\n\t\t\"type\": \"map\",\r\n \"color\": color,\r\n\t\t\"padding\": [0,0,0,0],\r\n \"dataLabel\": true,\r\n\t\t\"extra\": {\r\n\t\t\t\"map\": {\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 1,\r\n\t\t\t\t\"borderColor\": \"#666666\",\r\n\t\t\t\t\"fillOpacity\": 0.6,\r\n\t\t\t\t\"activeBorderColor\": \"#F04864\",\r\n\t\t\t\t\"activeFillColor\": \"#FACC14\",\r\n\t\t\t\t\"activeFillOpacity\": 1\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"arcbar\":{\r\n\t\t\"type\": \"arcbar\",\r\n \"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"百分比\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#00FF00\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"默认标题\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"arcbar\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 12,\r\n\t\t\t\t\"backgroundColor\": \"#E9E9E9\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"gap\": 2\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"line\":{\r\n\t\t\"type\": \"line\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,10,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"width\": 2,\r\n \"activeType\": \"hollow\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"tline\":{\r\n \t\"type\": \"line\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": false,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"line\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"width\": 2,\r\n \"activeType\": \"hollow\"\r\n \t\t},\r\n \t}\r\n },\r\n \"tarea\":{\r\n \t\"type\": \"area\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"area\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"opacity\": 0.2,\r\n \t\t\t\"addLine\": true,\r\n \t\t\t\"width\": 2,\r\n \t\t\t\"gradient\": true,\r\n \"activeType\": \"hollow\"\r\n \t\t},\r\n \t}\r\n },\r\n\t\"column\":{\r\n\t\t\"type\": \"column\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,5],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"column\": {\r\n\t\t\t\t\"type\": \"group\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"activeBgColor\": \"#000000\",\r\n\t\t\t\t\"activeBgOpacity\": 0.08\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"mount\":{\r\n \t\"type\": \"mount\",\r\n \"color\": color,\r\n \t\"padding\": [15,15,0,5],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \t},\r\n \t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"mount\": {\r\n \t\t\t\"type\": \"mount\",\r\n \t\t\t\"widthRatio\": 1.5,\r\n \t\t},\r\n \t}\r\n },\r\n \"bar\":{\r\n \t\"type\": \"bar\",\r\n \"color\": color,\r\n \t\"padding\": [15,30,0,5],\r\n \t\"xAxis\": {\r\n \"boundaryGap\":\"justify\",\r\n \"disableGrid\":false,\r\n \"min\":0,\r\n \"axisLine\":false\r\n \t},\r\n \t\"yAxis\": {\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"bar\": {\r\n \t\t\t\"type\": \"group\",\r\n \t\t\t\"width\": 30,\r\n \t\t\t\"meterBorde\": 1,\r\n \t\t\t\"meterFillColor\": \"#FFFFFF\",\r\n \t\t\t\"activeBgColor\": \"#000000\",\r\n \t\t\t\"activeBgOpacity\": 0.08\r\n \t\t},\r\n \t}\r\n },\r\n\t\"area\":{\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"addLine\": true,\r\n\t\t\t\t\"width\": 2,\r\n\t\t\t\t\"gradient\": false,\r\n \"activeType\": \"hollow\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"radar\":{\r\n\t\t\"type\": \"radar\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n \"dataLabel\": false,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"radar\": {\r\n\t\t\t\t\"gridType\": \"radar\",\r\n\t\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\t\"gridCount\": 3,\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"max\": 200,\r\n\t\t\t\t\"labelShow\": true\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"gauge\":{\r\n\t\t\"type\": \"gauge\",\r\n\t\t\"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"66Km/H\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#2fc25b\",\r\n\t\t\t\"offsetY\": 50\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"实时速度\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#1890ff\",\r\n\t\t\t\"offsetY\": -50\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"gauge\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"labelColor\": \"#666666\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"startNumber\": 0,\r\n\t\t\t\t\"endNumber\": 100,\r\n\t\t\t\t\"labelFormat\": \"\",\r\n\t\t\t\t\"splitLine\": {\r\n\t\t\t\t\t\"fixRadius\": 0,\r\n\t\t\t\t\t\"splitNumber\": 10,\r\n\t\t\t\t\t\"width\": 30,\r\n\t\t\t\t\t\"color\": \"#FFFFFF\",\r\n\t\t\t\t\t\"childNumber\": 5,\r\n\t\t\t\t\t\"childWidth\": 12\r\n\t\t\t\t},\r\n\t\t\t\t\"pointer\": {\r\n\t\t\t\t\t\"width\": 24,\r\n\t\t\t\t\t\"color\": \"auto\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"candle\":{\r\n\t\t\"type\": \"candle\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"enableScroll\": true,\r\n\t\t\"enableMarkLine\": true,\r\n\t\t\"dataLabel\": false,\r\n\t\t\"xAxis\": {\r\n\t\t\t\"labelCount\": 4,\r\n\t\t\t\"itemCount\": 40,\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"gridType\": \"solid\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"scrollShow\": true,\r\n\t\t\t\"scrollAlign\": \"left\",\r\n\t\t\t\"scrollColor\": \"#A6A6A6\",\r\n\t\t\t\"scrollBackgroundColor\": \"#EFEBEF\"\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"candle\": {\r\n\t\t\t\t\"color\": {\r\n\t\t\t\t\t\"upLine\": \"#f04864\",\r\n\t\t\t\t\t\"upFill\": \"#f04864\",\r\n\t\t\t\t\t\"downLine\": \"#2fc25b\",\r\n\t\t\t\t\t\"downFill\": \"#2fc25b\"\r\n\t\t\t\t},\r\n\t\t\t\t\"average\": {\r\n\t\t\t\t\t\"show\": true,\r\n\t\t\t\t\t\"name\": [\"MA5\",\"MA10\",\"MA30\"],\r\n\t\t\t\t\t\"day\": [5,10,20],\r\n\t\t\t\t\t\"color\": [\"#1890ff\",\"#2fc25b\",\"#facc14\"]\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"markLine\": {\r\n\t\t\t\t\"type\": \"dash\",\r\n\t\t\t\t\"dashLength\": 5,\r\n\t\t\t\t\"data\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2150,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2350,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"mix\":{\r\n\t\t\"type\": \"mix\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disabled\": false,\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"padding\": 10,\r\n\t\t\t\"showTitle\": true,\r\n\t\t\t\"data\": []\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"mix\": {\r\n\t\t\t\t\"column\": {\r\n\t\t\t\t\t\"width\": 20\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"scatter\":{\r\n\t\t\"type\": \"scatter\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"dataLabel\":false,\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"scatter\": {\r\n \t},\r\n }\r\n\t},\r\n\t\"bubble\":{\r\n\t\t\"type\": \"bubble\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0,\r\n \"max\":250\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"data\":[{\r\n \"min\":0,\r\n \"max\":150\r\n }]\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"bubble\": {\r\n \"border\":2,\r\n \"opacity\": 0.5,\r\n \t},\r\n }\r\n\t}\r\n}\r\n\r\nexport default cfu;"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/wx.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/global.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/interopRequireDefault.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/slicedToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithHoles.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableRest.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/defineProperty.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPropertyKey.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/typeof.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPrimitive.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/construct.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/setPrototypeOf.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toConsumableArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArray.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableSpread.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/classCallCheck.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/createClass.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","uni-app:///node_modules/uview-ui/index.js","uni-app:///node_modules/uview-ui/libs/mixin/mixin.js","uni-app:///node_modules/uview-ui/libs/request/index.js","uni-app:///node_modules/uview-ui/libs/function/deepMerge.js","uni-app:///node_modules/uview-ui/libs/function/deepClone.js","uni-app:///node_modules/uview-ui/libs/function/test.js","uni-app:///node_modules/uview-ui/libs/function/queryParams.js","uni-app:///node_modules/uview-ui/libs/function/route.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/asyncToGenerator.js","uni-app:///node_modules/uview-ui/libs/function/timeFormat.js","uni-app:///node_modules/uview-ui/libs/function/timeFrom.js","uni-app:///node_modules/uview-ui/libs/function/colorGradient.js","uni-app:///node_modules/uview-ui/libs/function/guid.js","uni-app:///node_modules/uview-ui/libs/function/color.js","uni-app:///node_modules/uview-ui/libs/function/type2icon.js","uni-app:///node_modules/uview-ui/libs/function/randomArray.js","uni-app:///node_modules/uview-ui/libs/function/addUnit.js","uni-app:///node_modules/uview-ui/libs/function/random.js","uni-app:///node_modules/uview-ui/libs/function/trim.js","uni-app:///node_modules/uview-ui/libs/function/toast.js","uni-app:///node_modules/uview-ui/libs/function/getParent.js","uni-app:///node_modules/uview-ui/libs/function/$parent.js","uni-app:///node_modules/uview-ui/libs/function/sys.js","uni-app:///node_modules/uview-ui/libs/function/debounce.js","uni-app:///node_modules/uview-ui/libs/function/throttle.js","uni-app:///node_modules/uview-ui/libs/config/config.js","uni-app:///node_modules/uview-ui/libs/config/zIndex.js","uni-app:///uni.promisify.adaptor.js","uni-app:///mixins/share.js","uni-app:///api/driverapi.js","uni-app:///api/commonVariable.js","uni-app:///api/nvuerequest.js","uni-app:///node_modules/uview-ui/libs/util/emitter.js","uni-app:///node_modules/uview-ui/libs/util/async-validator.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/node-libs-browser/mock/process.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/path-browserify/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/assertThisInitialized.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/inherits.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/getPrototypeOf.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","uni-app:///D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeFunction.js","uni-app:///pages.json","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","atob","str","String","replace","test","Error","slice","length","bitmap","result","r1","r2","i","charAt","fromCharCode","b64DecodeUnicode","decodeURIComponent","split","map","c","charCodeAt","toString","getCurrentUserInfo","token","wx","getStorageSync","tokenArr","uid","role","permission","tokenExpired","userInfo","JSON","parse","error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","assign","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","locale","normalizeLocale","language","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","t","i18nMixin","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","deviceId","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","getUniEmitter","ctx","$on","arguments","$off","$emit","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","cid","cidErrMsg","enabled","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","$children","childVm","$scope","_$vueId","parentVm","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","canIUseApi","apiName","uni","Proxy","uni$1","_interopRequireDefault","__esModule","module","exports","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","arrayLikeToArray","_unsupportedIterableToArray","o","minLen","n","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","_toPropertyKey","_toPrimitive","input","hint","prim","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","bind","a","Constructor","Function","instance","_setPrototypeOf","p","_isNativeReflectConstruct","sham","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","f","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","_defineProperties","descriptor","_createClass","protoProps","staticProps","wranning","$u","queryParams","timeFormat","date","timeFrom","colorGradient","colorToRgba","guid","color","sys","os","type2icon","randomArray","http","post","put","hexToRgb","rgbToHex","deepClone","deepMerge","getParent","addUnit","toast","config","zIndex","debounce","throttle","install","openShare","mpShare","timestamp","getRect","$uGetRect","all","createSelectorQuery","in","boundingClientRect","rect","exec","getParentData","parentName","parentData","preventEvent","onReachBottom","beforeDestroy","array","children","childrenList","child","Request","baseUrl","header","dataType","responseType","showLoading","loadingText","loadingTime","timer","originalData","loadingMask","request","response","customConfig","tmpConfig","interceptorRequest","hideLoading","clearTimeout","resInterceptors","statusCode","validate","setTimeout","mask","source","prop","NaN","email","mobile","dateISO","digits","idCard","carNo","xreg","creg","amount","chinese","reg","letter","enOrNum","contains","range","rangeLength","landline","empty","jsonString","object","code","RegExp","isEmpty","isPrefix","arrayFormat","prefix","_result","_value","commaStr","Router","animationType","animationDuration","intercept","addRootPath","mergeConfig","mixinParam","routeIntercept","isNext","openPage","navigateTo","switchTab","reLaunch","navigateBack","runtime","_regeneratorRuntime","Op","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","padStart","maxLength","fillString","fillLength","times","ceil","dateTime","fmt","opt","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","k","tips","startColor","endColor","step","startRGB","startR","startG","startB","endRGB","endR","endG","endB","sR","sG","sB","colorArr","hex","round","sColor","sColorNew","sColorChange","rgb","_this","aColor","strHex","aNum","numHex","alpha","firstU","radix","chars","uuid","r","shift","primary","primaryDark","primaryDisabled","primaryLight","bgColor","infoDark","infoDisabled","infoLight","warning","warningDark","warningDisabled","warningLight","errorDark","errorDisabled","errorLight","successDark","successDisabled","successLight","mainColor","contentColor","tipsColor","lightColor","borderColor","fill","iconName","unit","validation","min","max","gab","pos","duration","showToast","icon","timeout","func","wait","immediate","callNow","flag","noNetwork","popup","navbar","topTips","sticky","indexListSticky","onShareTimeline","routes","curRoute","onShareAppMessage","variable","user_login","selFs_time","user_logout","user_upload","update_user","sel_user","getFs_rtdata","label","countType","whatType","mapKey","webKey","wxMapKey","socket","myRequest","removeStorage","stopPullDownRefresh","broadcast","componentName","eventName","dispatch","$root","_extends","formatRegExp","window","document","errors","convertFieldsError","fields","field","_len","_key","isNativeStringType","isEmptyValue","asyncParallelArray","results","total","arrLength","count","asyncSerialArray","original","flattenObjArr","objArr","asyncMap","first","_pending","flattenArr","firstFields","objArrKeys","objArrLength","pending","complementError","rule","oe","fullField","s","required","whitespace","pattern","types","integer","float","regexp","getTime","getYear","custom","ruleType","spRegexp","num","ENUM","pattern$1","lastIndex","mismatch","_pattern","rules","string","_boolean","floatFn","ENUM$1","enumerable$1","pattern$2","dateObject","required$1","type$1","any","validators","newMessages","invalid","clone","cloned","Schema","_messages","z","source_","oc","_errors","messages$1","series","transform","validator","getValidationMethod","getType","errorFields","doIt","deep","defaultField","addFullfield","schema","cb","suppressWarning","fieldsSchema","fieldSchema","errs","finalErrors","asyncValidator","messageIndex","register","lib","Base","mixIn","init","$super","WordArray","words","sigBytes","clamp","enc","Hex","u","Latin1","h","Utf8","escape","unescape","l","BufferedBlockAlgorithm","_data","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","d","HMAC","algo","abs","sin","MD5","_hash","g","m","y","w","I","S","b","A","P","T","C","O","HmacMD5","_hasher","_oKey","_iKey","Base64","_map","_reverseMap","createPromise","retryRule","status","needRetry","appid","E","L","_globalUniCloudObj","R","U","N","D","M","reduce","q","F","K","j","$","B","W","H","J","G","V","Y","Q","X","Z","ee","te","errCode","errSubject","subject","cause","requestId","toJson","ne","uploadFile","setStorageSync","removeStorageSync","clearStorageSync","se","re","ie","ae","ce","channel","ue","LOCALE","PLATFORM","OS","APPID","DEVICEID","he","sign","wrappedRequest","toBase64","le","endpoint","spaceId","requestUrl","envType","accessTokenKey","adapter","_getAccessTokenPromiseHub","requestAuth","setupRequest","accessToken","setAccessToken","requestWrapped","hasAccessToken","getAccessToken","rebuildRequest","clientSecret","functionTarget","functionArgs","formData","filePath","fileType","onUploadProgress","onProgressUpdate","loaded","totalBytesSent","totalBytesExpectedToSend","cloudPath","cloudPathAsRealPath","getOSSUploadOptionsFromPath","filename","fileId","cdnDomain","ossPath","securityToken","accessKeyId","signature","policy","ossCallbackUrl","OSSAccessKeyId","Signature","success_action_status","callbackUrl","callbackBody","callbackBodyType","fileName","uploadFileToOSS","fileID","reportOSSUpload","fileList","tempFileURL","de","signInAnonymously","authorize","getLoginState","auth","customAuth","pe","location","fe","local","none","session","ge","me","sqrt","pow","SHA256","HmacSHA256","ye","we","ve","Ie","Se","be","isMatch","genAdapter","WEB","WX_MP","ke","Ae","Pe","root","tcbObject","Te","localStorage","sessionStorage","Ce","_storage","_persistence","primaryStorage","persistence","accessTokenExpireKey","refreshTokenKey","anonymousUuidKey","loginTypeKey","userInfoKey","getItem","setItem","removeItem","content","xe","Oe","Ee","Le","Re","Ue","_listeners","_listens","Ne","on","De","fire","Me","off","qe","Fe","Ke","je","$e","Be","ANONYMOUS","WECHAT","WECHAT_PUBLIC","WECHAT_OPEN","EMAIL","USERNAME","NULL","We","He","ze","headers","append","Je","seqId","Ge","_reqClass","reqClass","timeoutMsg","restrictedMethods","_cache","_localCache","upload","download","_refreshAccessTokenPromise","_refreshAccessToken","_shouldRefreshAccessTokenHook","removeStore","getStore","refresh_token","send","anonymous_uuid","setRefreshToken","access_token","setStore","access_token_expire","accessTokenExpire","refreshAccessToken","action","dataVersion","FormData","inQuery","search","Ve","Ye","Qe","_request","setLocalUserInfo","Xe","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","username","users","wxOpenId","wxPublicId","hasPrimaryUid","nickName","gender","avatarUrl","province","country","city","Ze","credential","refreshToken","user","loginType","et","updatePersistence","_setAnonymousUUID","refresh","_clearAnonymousUUID","tt","refreshUserInfo","nt","password","st","rt","_onAnonymousConverted","_onLoginTypeChanged","hasLoginState","signIn","_anonymousAuthProvider","linkAndRetrieveDataWithTicket","isRegistered","it","authorization","cosFileId","ot","at","fileid_list","delete_list","ct","fileid","max_age","maxAge","file_list","download_list","ut","download_url","encodeURI","ht","function_name","request_data","response_data","lt","dt","pt","authObj","requestClient","ft","gt","mt","yt","clear","_t","useAdapters","wt","vt","It","St","fileUrl","bt","kt","At","functionName","signHeaderKeys","spaceAppId","signedHeaders","body","secretKey","secretId","accessKey","Authorization","Pt","requestID","Tt","trace_id","Ct","substring","xt","file_id","upload_url","form_data","expire","Ot","Et","clientInfo","uniIdToken","Lt","__dev__","initLocalNetwork","localAddress","localPort","aliyun","tencent","alipay","_callCloudFunction","Rt","Ut","Nt","Dt","Mt","qt","Ft","Kt","jt","secretType","uniCloudIns","clientType","scopedGlobalCache","_systemInfo","platformEncryptData","platformDecryptResult","prepare","platformGetSignOption","_uniCloudOptions","isClientKeyNotFound","forceUpdate","encryptData","decryptResult","$t","Bt","Wt","buffer","Uint8Array","Ht","zt","Jt","Gt","toBytes","fromBytes","Vt","Yt","Qt","Xt","Zt","en","tn","nn","sn","rn","an","cn","un","hn","ln","dn","pn","_prepare","_Ke","_Kd","gn","description","_aes","encrypt","decrypt","mn","_lastCipherblock","yn","segmentSize","_shiftRegister","_lastPrecipher","_lastPrecipherIndex","wn","_counter","setValue","setBytes","MAX_SAFE_INTEGER","vn","_remainingCounter","_remainingCounterIndex","increment","In","AES","Counter","ModeOfOperation","ecb","cbc","cfb","ofb","ctr","utils","utf8","padding","pkcs7","pad","strip","_arrayTest","coerceArray","createArray","copyArray","Sn","base64ToArrayBuffer","arrayBufferToBase64","bn","kn","An","Pn","Tn","Cn","xn","On","En","userEncryptKey","mpWeixinCode","mpWeixinOpenid","isLogin","initPromise","expireTime","getUserCryptoManager","getLatestUserKey","getAccountInfoSync","miniProgram","getUserEncryptKey","encryptKey","iv","verifyClientSign","wxAppId","getWxAppId","simulator","encryptKeyId","Ln","Rn","appUtils","requireNativePlugin","systemInfo","hasClientKey","_hasClientKey","encryptGetClientKeyPayload","callFunction","clientKey","setClientKey","initStatus","getAppClientKey","ensureClientKey","Un","Nn","Dn","accessControl","enable","function","Mn","logPvd","debugLog","log","qn","tcb","extraInfo","formatter","debugInfo","forceRemote","_callLocalFunction","wrapEncryptDataCallFunction","wrapVerifyClientCallFunction","Fn","Kn","_internalType","inspect","__ob__","jn","$n","Bn","Wn","$regexp","flags","$date","toISOString","Hn","$method","zn","prevStage","udb","_database","$db","$param","toJSON","Jn","isAggregate","getNextStageFn","_send","isCommand","getAction","getCommand","command","Gn","$newDb","Vn","Yn","_isJQL","multiCommand","queryList","setResult","dataList","_callback","_uniClient","level","_callbackAuth","_parseResult","uniClient","isJQL","_authCallBacks","_dbCallBacks","_isDefault","$env","Geo","serverDate","Qn","Xn","Zn","TOKEN_INVALID_TOKEN_EXPIRED","TOKEN_INVALID_INVALID_CLIENTID","TOKEN_INVALID","TOKEN_INVALID_WRONG_TOKEN","TOKEN_INVALID_ANONYMOUS_USER","es","ts","ns","needLogin","needLoginPage","notNeedLoginPage","ss","rs","list","some","pagePath","as","uniIdRouter","subPackages","tabBar","loginPage","resToLogin","routerNeedLogin","loginPageInTabBar","cs","us","hs","ls","ds","ps","fs","gs","ms","redirect","ys","abortLoginPageJump","autoToLoginPage","uniIdRedirectUrl","ws","vs","onResponse","Is","offResponse","onNeedLogin","offNeedLogin","needLoginInit","onRefreshToken","offRefreshToken","Ss","bs","ks","As","Ps","tempFiles","lastIndexOf","tempFilePaths","onChooseFile","tempFile","tempFilePath","initChooseAndUploadFile","sizeType","sourceType","extension","chooseImage","camera","compressed","maxDuration","chooseVideo","height","width","chooseFile","chooseMessageFile","Ts","Cs","xs","localdata","spaceInfo","collection","orderby","where","pageData","pageCurrent","pageSize","getcount","gettree","gettreepath","startwith","limitlevel","groupby","groupField","distinct","foreignKey","loadtime","manual","mixinDatacomLoading","mixinDatacomHasMore","mixinDatacomResData","mixinDatacomErrorMessage","mixinDatacomPage","created","onMixinDatacomPropsChange","mixinDatacomEasyGet","getone","mixinDatacomGet","database","groupBy","orderBy","getCount","limitLevel","startWith","getTree","getTreePath","skip","limit","Os","customUI","parseSystemError","loadingOptions","errorOptions","secretMethods","retry","interceptorName","getCallbackArgs","newToken","objectName","showCancel","cancelText","confirmText","showModal","confirm","cancel","Es","Ls","openid","callLoginByWeixin","login","importObject","secureNetworkHandshakeByWeixin","Rs","Us","Ns","Ds","_uniPushMessageCallback","_receivePushMessage","_currentMessageId","_payloadQueue","_appId","_pushClientId","_seqId","emit","_initMessageListener","close","payload","_isUniCloudSSE","messageId","_consumMessage","_parseMessagePayload","_end","_appendMessage","pushClientId","_destroy","addListener","removeListener","Ms","qs","address","servePort","port","initialLaunchType","Fs","_initPromiseHub","Ks","private","js","navigator","userAgent","databaseForJQL","_databaseForJQL","chooseAndUploadFile","mixinDatacom","SSEChannel","initSecureNetworkByWeixin","interceptObject","uniCloud","$s","_assertThisInitialized","ReferenceError","_inherits","subClass","superClass","assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","isNativeFunction","_wrapNativeSuper","Map","has","Wrapper","_isNativeFunction","yAxisWidth","xAxisHeight","rotate","fontSize","fontColor","dataPointShape","linearColor","pieChartLinePadding","pieChartTextPadding","titleFontSize","subtitleFontSize","radarLabelTextMargin","varArgs","deepAssign","obj1","obj2","util","toFixed","isFloat","approximatelyEqual","num1","num2","isSameSign","isSameXCoordinateArea","p1","p2","isCollision","end","start","getH5Offset","changedTouches","offsetX","offsetY","hexValue","opc","rgx","findRange","multiple","calCandleMA","dayArr","nameArr","kdata","seriesTemp","seriesItem","sum","calValidDistance","distance","chartData","dataChartAreaWidth","area","dataChartWidth","eachSpacing","xAxisData","xAxisPoints","mount","widthRatio","validDistance","uevent","trigger","scrollOption","xAxis","scrollPosition","isInAngleRange","angle","startAngle","endAngle","adjust","PI","createCurveControlPoints","points","isNotMiddlePoint","isNotMiddlePointX","pAx","pAy","pBx","pBy","last","ctrA","ctrB","convertCoordinateOrigin","avoidCollision","fixPieSeries","pieSeriesArr","_pieSeries_","oldseries","fillSeries","linearIndex","pointShape","legendShape","fillCustomColor","linearType","customColor","newcolor","chazhi","getDataRange","minData","maxData","minRange","maxRange","measureText","setFontSize","dataCombine","dataCombineStack","getTouches","touches","clientX","pix","pageY","offsetTop","getSeriesDataItem","group","newSeries","indexIsArr","tempSeries","filterSeries","tmpindex","style","disableLegend","getMaxTextListLength","lengthList","getRadarCoordinateSeries","eachAngle","CoordinateSeries","getToolTipData","seriesData","categories","calPoints","filterPoints","textList","titleText","tooltip","offset","getMixToolTipData","getCandleToolTipData","upColor","upFill","downColor","downFill","text1","text2","text3","text4","validCalPoints","findCurrentIndex","currentPoints","spacing","boundaryGap","isInExactChartArea","timePoints","pointValue","pointIndex","minValue","findBarChartCurrentIndex","yAxisPoints","findLegendIndex","legendData","gap","isInExactLegendArea","findRadarChartCurrentIndex","radarData","eachAngleArea","isInExactPieChartArea","radius","fixAngle","atan2","angleList","rangeStart","rangeEnd","findFunnelChartCurrentIndex","funnelData","funnelArea","findWordChartCurrentIndex","wordData","findMapChartCurrentIndex","cData","mapData","tmp","pointToCoordinate","bounds","scale","xoffset","yoffset","poi","geometry","coordinates","isPoiWithinPoly","mercator","findRoseChartCurrentIndex","pieData","getRoseDataPoints","_series_","rose","offsetAngle","_start_","_rose_proportion_","findPieChartCurrentIndex","getPieDataPoints","pie","ring","_proportion_","splitPoints","eachSeries","newPoints","items","connectNulls","calLegendData","wholeWidth","wholeHeight","widthArr","heightArr","legend","margin","shapeWidth","shapeRight","lineHeight","legendList","widthCount","widthCountArr","currentRow","legendText","itemWidth","itemGap","legendWidth","maxHeight","lineNum","temp","maxWidth","calCategoriesData","marginTop","categoriesTextLenth","xitem","maxTextLength","rotateLabel","rotateAngle","tempHeight","enableScroll","scrollShow","disabled","getXAxisTextList","stack","sorted","subitem","rangeSpan","eachRange","splitNumber","calXAxisData","columnstyle","bar","ranges","rangesFormat","xAxisScaleValues","getXAxisPoints","textLength","getRadarDataPoints","radarOption","radar","each","listItem","proportion","cos","_radius_","getFunnelDataPoints","minRadius","dataArr","radiusLength","getArcbarDataPoints","arcbarOption","totalAngle","direction","getGaugeArcbarDataPoints","getGaugeAxisPoints","tempStartAngle","_startAngle_","_endAngle_","getGaugeDataPoints","gaugeOption","pointer","_oldAngle_","oldAngle","oldData","getPieTextMaxLength","textSize","fixColumeData","columnLen","seriesGap","categoryGap","mix","column","fixBarData","fixColumeMeterData","border","fixColumeStackData","indexn","fixBarStackData","spacingValid","dataCount","itemCount","startX","endX","getCandleDataPoints","validHeight","cPoints","indexs","point","getDataPoints","validWidth","xranges","xminRange","xmaxRange","getLineDataPoints","lineOption","animation","getColumnDataPoints","zeroPoints","getMountDataPoints","mountOption","mountWidth","getBarDataPoints","getStackDataPoints","seriesIndex","stackSeries","value0","height0","heightc","y0","getBarStackDataPoints","x0","getYAxisTextList","yData","dataRange","yAxis","calYAxisData","YLength","rangesArr","rangesFormatArr","yAxisWidthArr","tofix","yAxisFontSizes","calibration","yAxisFontSize","calTooltipYAxisData","yAxisData","minAxis","maxVal","minVal","calMarkLineData","yAxisIndex","contextRotate","rotateLock","translate","_rotate_","drawPointShape","shape","beginPath","dataPointShapeType","setStrokeStyle","setFillStyle","background","setLineWidth","moveTo","lineTo","arc","closePath","stroke","drawActivePoint","activeType","drawRingTitle","titlefontSize","subtitlefontSize","subtitle","titleFontColor","subtitleFontColor","titleHeight","subtitleHeight","textWidth","startY","fillText","_textWidth","_startX","_startY","drawPointText","textOffset","textColor","formatVal","setTextAlign","drawColumePointText","Position","labelPosition","drawMountPointText","drawBarPointText","drawGaugeLabel","centerPosition","labelOffset","splitAngle","splitLine","totalNumber","endNumber","startNumber","nowAngle","nowNumber","labelText","labelColor","drawRadarLabel","labelPointShow","posPoint","posPointAxis","labelPointColor","labelPointRadius","labelShow","posRelativeCanvas","drawPieText","lineRadius","textObjectCollection","lastTextObject","seriesConvert","orginX1","orginY1","orginX2","orginY2","orginX3","orginY3","textObject","lineStart","lineEnd","lineStartPoistion","lineEndPoistion","textPosition","curveStartX","textStartX","quadraticCurveTo","drawToolTipSplitLine","toolTipOption","gridType","dashLength","endY","setLineDash","gridColor","xAxisLabel","textX","textY","labelBgColor","toolTipBackground","labelBgOpacity","toolTipOpacity","boxPadding","labelFontColor","drawMarkLine","markLineOption","markLine","lineColor","showLabel","labelFontSize","labelPadding","labelAlign","labelOffsetX","labelOffsetY","bgWidth","bgStartX","bgStartY","drawToolTipHorizentalLine","yAxisLabel","tStartLeft","tStartRight","bgEndX","drawToolTipSplitArea","activeBgColor","activeBgOpacity","activeWidth","drawBarToolTipSplitArea","drawToolTip","showBox","showArrow","showCategory","bgOpacity","borderWidth","borderRadius","borderOpacity","legendShow","legendMarginRight","arrowWidth","isOverRightBorder","toolTipWidth","toolTipHeight","_scrollDistance_","fillRect","setTextBaseline","drawColumnDataPoints","columnOption","meterBorder","meterFillColor","barBorderCircle","barBorderRadius","linearOpacity","colorStop","save","leftNum","rightNum","zeroHeight","tooltipPoints","fillColor","strokeColor","grd","createLinearGradient","addColorStop","r0","r3","dataLabel","restore","drawMountDataPoints","bezierCurveTo","drawBarDataPoints","drawCandleDataPoints","seriesMA","candleOption","average","candle","upLine","downLine","day","leftSpace","rightSpace","splitPointList","startPoint","ctrlPoint","drawAreaDataPoints","areaOption","opacity","addLine","gradient","firstPoint","lastPoint","lineType","drawScatterDataPoints","scatterOption","scatter","drawBubbleDataPoints","bubbleOption","bubble","drawLineDataPoints","onShadow","line","setShadow","drawMixDataPoints","columnIndex","columnLength","addPoint","drawToolTipBridge","horizentalLine","drawXAxis","scrollY","scrollScreenWidth","scrollTotalWidth","scrollWidth","scrollLeft","setLineCap","scrollBackgroundColor","scrollColor","disableGrid","gridEval","maxXAxisListLength","labelCount","ratio","newCategories","cgLength","xAxisFontSize","_xAxisTextAngle_","scrollHeight","truePoints","titleOffsetX","titleOffsetY","axisLine","axisLineColor","drawYAxisGrid","xAxiseachSpacing","TotalWidth","drawYAxis","tStartCenter","textAlign","tmpstrat","gapwidth","showTitle","drawLegend","legendArea","backgroundColor","itemList","listIndex","hiddenColor","fontTrans","drawPieDataPoints","pieOption","activeOpacity","activeRadius","labelWidth","ringWidth","customRadius","centerColor","_pieTextMaxLength_","lineJoin","fillcolor","createCircularGradient","createRadialGradient","innerPieWidth","drawRoseDataPoints","roseOption","drawArcbarDataPoints","lineCap","arcbar","centerX","centerY","drawGaugeDataPoints","fixRadius","childNumber","childWidth","gauge","innerRadius","pieRadius","childAngle","proc","pointerRadius","gradient3","eachCategories","childendX","drawRadarDataPoints","axisLabel","axisLabelTofix","gridCount","coordinateAngle","xr","yr","_loop","startPos","radarDataPoints","stepLength","lonlat2mercator","longitude","latitude","tan","mercator2lonlat","lonlat","atan","getBoundingBox","coords","xMin","xMax","yMin","yMax","coorda","coordinateToPoint","pointY","pointX","isRayIntersectsSegment","s_poi","e_poi","xseg","poly","sinsc","epoly","drawMapDataPoints","mapOption","active","fillOpacity","activeBorderColor","activeFillColor","activeFillOpacity","xScale","yScale","gaosi","centerPoint","centroid","activeTextColor","draw","normalInt","collisionNew","isIn","getWordCloudPoint","tHeight","tWidth","breaknum","Spin","isSpin","areav","drawWordCloudDataPoints","wordOption","autoColors","word","wordCloudData","strokeText","drawFunnelDataPoints","funnelOption","minSize","funnel","seriesNew","drawFunnelText","drawFunnelCenterText","centerText","centerTextSize","centerTextColor","drawCanvas","Timing","easeIn","easeOut","easeInOut","linear","Animation","isStop","timing","delay","createAnimationFrame","timeStamp","requestAnimationFrame","animationFrame","startTimeStamp","_step","onProcess","onAnimationFinish","timingFunction","drawCharts","animationInstance","_calLegendData","legendHeight","_calYAxisData","maxTitleHeight","rightIndex","leftIndex","_calCategoriesData","categoriesData","scrollAlign","offsetLeft","totalWidth","screenWidth","currentOffset","startTouchX","lastMoveTime","clearRect","_drawLineDataPoints","enableMarkLine","_drawScatterDataPoints","_drawBubbleDataPoints","_drawMixDataPoints","_drawColumnDataPoints","_drawMountDataPoints","_drawBarDataPoints","_drawAreaDataPoints","arcbarData","gaugeData","_drawCandleDataPoints","uChartsEvent","events","addEventListener","listener","delEventListener","uCharts","gridSet","canvas2d","config$$1","tempWidth","strokeStyle","lineWidth","font","fillStyle","textBaseline","blur","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","updateData","_getXAxisPoints0","zoom","centerLeft","MaxLeft","dobuleZoom","tcs","clientY","ntcs","xlength","moveCount","cts0","cts1","moveCurrent1","getCurrentDataIndex","moveCurrent2","currentEachSpacing","currentLeft","stopAnimation","_touches$","getLegendDataIndex","touchLegend","showToolTip","_getToolTipData","_getMixToolTipData","scrollStart","scroll","Limit","touchMoveLimit","currMoveTime","_distance","scrollEnd","_scrollOption","formatDateTime","returnType","setTime","minute","second","cfu","category"],"mappings":"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C,OAAO,CAAC,SAAS,CAAC,GAAGD,MAAM,CAACC,OAAO,C;;;;;;;;;;;AClB3G;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,sCAAsC;AACtC,8C;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,sJAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,sJAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,sJAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,sJAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE,SAAS;AACtH;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEe,kEAAG,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC97LnB;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpHA;AAIA;AAqBA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AAEA;AAEA;AAEA;AAEA;AAEA;AAIA;AAEA;AAEA;AAIA;AAEA;AA3EA;;AAEA;AACA;AACA;;AAGA,SAAS6H,QAAQ,CAAC1yB,GAAG,EAAE;EACtB;EACA;EACA;EACA,IAAI+R,IAAsC,EAAE;IAC3CgE,OAAO,CAACC,IAAI,CAAChW,GAAG,CAAC;EAClB;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAoDA,IAAM2yB,EAAE,GAAG;EACVC,WAAW,EAAEA,oBAAW;EACxB3Y,KAAK,EAAEA,cAAK;EACZ4Y,UAAU,EAAEA,mBAAU;EACtBC,IAAI,EAAED,mBAAU;EAAE;EAClBE,QAAQ,EAARA,iBAAQ;EACRC,aAAa,EAAEA,sBAAa,CAACA,aAAa;EAC1CC,WAAW,EAAED,sBAAa,CAACC,WAAW;EACtCC,IAAI,EAAJA,aAAI;EACJC,KAAK,EAALA,cAAK;EACLC,GAAG,EAAHA,QAAG;EACHC,EAAE,EAAFA,OAAE;EACFC,SAAS,E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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AA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AAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC;EAACC,EAAE,GAAC,CAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,CAAC;EAACC,EAAE,GAAC,CAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACxN,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACyN,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n } else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res, options).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(\r\n wrapperOptions(getApiInterceptorHooks(method), options),\r\n ...params\r\n )\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name) || !isFn(api)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n if (isFn(getApp)) {\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = isFn(getApp) ? getApp() : false;\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n const extraParam = {};\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n args (fromArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n fromArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n fromArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n }\r\n};\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting,\r\n compressImage\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n shareVideoMessage: shareVideoMessage,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector) || [];\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || toSkip(component);\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n const oldKeys = new Set(...Object.keys(refs));\r\n const newKeys = Object.keys(newRefs);\r\n newKeys.forEach(key => {\r\n const oldValue = refs[key];\r\n const newValue = newRefs[key];\r\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n return\r\n }\r\n refs[key] = newValue;\r\n oldKeys.delete(key);\r\n });\r\n oldKeys.forEach(key => {\r\n delete refs[key];\r\n });\r\n return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n const refs = {};\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || toSkip(component));\r\n });\r\n return syncRefs(refs, $refs)\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n // 在 Vue 中标记为小程序组件\r\n const IS_MP = '__v_isMPComponent';\r\n Object.defineProperty(component, IS_MP, {\r\n configurable: true,\r\n enumerable: false,\r\n value: true\r\n });\r\n return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n const OB = '__ob__';\r\n const SKIP = '__v_skip';\r\n if (isObject(obj) && Object.isExtensible(obj)) {\r\n // 避免被 @vue/composition-api 观测\r\n Object.defineProperty(obj, OB, {\r\n configurable: true,\r\n enumerable: false,\r\n value: {\r\n [SKIP]: true\r\n }\r\n });\r\n }\r\n return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n event = customize(event);\r\n } else {\r\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n const newEvent = customize(event);\r\n if (newEvent !== event) {\r\n oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n }\r\n }\r\n return oldTriggerEvent.apply(this, [event, ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n options[name] = function (...args) {\r\n markMPComponent(this);\r\n initTriggerEvent(this);\r\n if (oldHook) {\r\n return oldHook.apply(this, args)\r\n }\r\n };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n hooks.push(name);\r\n }\r\n });\r\n }\r\n return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) { }\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) { }\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n // fixed 用户直接触发 mpInstance.triggerEvent\r\n const __args__ = isPlainObject(event.detail)\r\n ? event.detail.__args__ || [event.detail]\r\n : [event.detail];\r\n\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return __args__\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n function currentId (fn) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n fn(vueId);\r\n }\r\n }\r\n\r\n Vue.prototype.$hasSSP = function (vueId) {\r\n const slot = center[vueId];\r\n if (!slot) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return slot\r\n };\r\n\r\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n const slot = center[vueId];\r\n if (slot) {\r\n const params = slot[name] || [];\r\n if (needAll) {\r\n return params\r\n }\r\n return params[0]\r\n }\r\n };\r\n\r\n Vue.prototype.$setSSP = function (name, value) {\r\n let index = 0;\r\n currentId.call(this, vueId => {\r\n const slot = center[vueId];\r\n const params = slot[name] = slot[name] || [];\r\n params.push(value);\r\n index = params.length - 1;\r\n });\r\n return index\r\n };\r\n\r\n Vue.prototype.$initSSP = function () {\r\n currentId.call(this, vueId => {\r\n center[vueId] = {};\r\n });\r\n };\r\n\r\n Vue.prototype.$callSSP = function () {\r\n currentId.call(this, vueId => {\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n });\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (this.mpType === 'page' && typeof getApp === 'function') { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n initUnknownHooks(appOptions, vm.$options);\r\n\r\n return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}, needVueOptions) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (needVueOptions) {\r\n return [componentOptions, vueOptions, VueComponent]\r\n }\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n {\r\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n }\r\n {\r\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n }\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, extraApi[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. , , v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page\n if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){\n (slots['page'] || (slots['page'] = [])).push(child);\n }else{\n (slots.default || (slots.default = [])).push(child);\n }\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i, i, i); // fixed by xxxxxx\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i, i); // fixed by xxxxxx\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering \n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n // fixed by xxxxxx app-plus scopedSlot\n nodes = scopedSlotFn(props, this, props._i) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n callHook(componentInstance, 'onServiceCreated');\n callHook(componentInstance, 'onServiceAttached');\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n \n // fixed by xxxxxx update properties(mp runtime)\n vm._$updateProperties && vm._$updateProperties(vm);\n \n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n {\n if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn\n return\n }\n //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n if(\n key === 'value' && \n Array.isArray(vm.$options.behaviors) &&\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\n ){\n return\n }\n if(vm._getFormData){\n return\n }\n var $parent = vm.$parent;\n while($parent){\n if($parent.__next_tick_pending){\n return \n }\n $parent = $parent.$parent;\n }\n }\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.SharedObject.target) {// fixed by xxxxxx\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n !vm._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\nvar NULLTYPE = '[object Null]';\nvar UNDEFINEDTYPE = '[object Undefined]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n var result = {};\n syncKeys(current, pre);\n _diff(current, pre, '', result);\n return result\n}\n\nfunction syncKeys(current, pre) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n if(Object.keys(current).length >= Object.keys(pre).length){\n for (var key in pre) {\n var currentValue = current[key];\n if (currentValue === undefined) {\n current[key] = null;\n } else {\n syncKeys(currentValue, pre[key]);\n }\n }\n }\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n if (current.length >= pre.length) {\n pre.forEach(function (item, index) {\n syncKeys(current[index], item);\n });\n }\n }\n}\n\nfunction nullOrUndefined(currentType, preType) {\n if(\n (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) && \n (preType === NULLTYPE || preType === UNDEFINEDTYPE)\n ) {\n return false\n }\n return true\n}\n\nfunction _diff(current, pre, path, result) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE) {\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n setResult(result, path, current);\n } else {\n var loop = function ( key ) {\n var currentValue = current[key];\n var preValue = pre[key];\n var currentType = type(currentValue);\n var preType = type(preValue);\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n }\n } else if (currentType == ARRAYTYPE) {\n if (preType != ARRAYTYPE) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n if (currentValue.length < preValue.length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n currentValue.forEach(function (item, index) {\n _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n });\n }\n }\n } else if (currentType == OBJECTTYPE) {\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n for (var subKey in currentValue) {\n _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n }\n }\n }\n };\n\n for (var key in current) loop( key );\n }\n } else if (rootCurrentType == ARRAYTYPE) {\n if (rootPreType != ARRAYTYPE) {\n setResult(result, path, current);\n } else {\n if (current.length < pre.length) {\n setResult(result, path, current);\n } else {\n current.forEach(function (item, index) {\n _diff(item, pre[index], path + '[' + index + ']', result);\n });\n }\n }\n } else {\n setResult(result, path, current);\n }\n}\n\nfunction setResult(result, k, v) {\n // if (type(v) != FUNCTIONTYPE) {\n result[k] = v;\n // }\n}\n\nfunction type(obj) {\n return Object.prototype.toString.call(obj)\n}\n\n/* */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n var mpInstance = vm.$scope;\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n }\r\n var copies = vm.__next_tick_callbacks.slice(0);\r\n vm.__next_tick_callbacks.length = 0;\r\n for (var i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n //2.nextTick 之前存在 render watcher\r\n if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n if(process.env.VUE_APP_DEBUG){\n var mpInstance = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n ']:nextVueTick');\n }\r\n return nextTick(cb, vm)\r\n }else{\n if(process.env.VUE_APP_DEBUG){\n var mpInstance$1 = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n ']:nextMPTick');\n }\n }\r\n var _resolve;\r\n if (!vm.__next_tick_callbacks) {\r\n vm.__next_tick_callbacks = [];\r\n }\r\n vm.__next_tick_callbacks.push(function () {\r\n if (cb) {\r\n try {\r\n cb.call(vm);\r\n } catch (e) {\r\n handleError(e, vm, 'nextTick');\r\n }\r\n } else if (_resolve) {\r\n _resolve(vm);\r\n }\r\n });\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(function (resolve) {\r\n _resolve = resolve;\r\n })\r\n }\r\n}\n\n/* */\r\n\r\nfunction clearInstance(key, value) {\r\n // 简易去除 Vue 和小程序组件实例\r\n if (value) {\r\n if (value._isVue || value.__v_isMPComponent) {\r\n return {}\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction cloneWithData(vm) {\r\n // 确保当前 vm 所有数据被同步\r\n var ret = Object.create(null);\r\n var dataKeys = [].concat(\r\n Object.keys(vm._data || {}),\r\n Object.keys(vm._computedWatchers || {}));\r\n\r\n dataKeys.reduce(function(ret, key) {\r\n ret[key] = vm[key];\r\n return ret\r\n }, ret);\r\n\r\n // vue-composition-api\r\n var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;\r\n var rawBindings = compositionApiState && compositionApiState.rawBindings;\r\n if (rawBindings) {\r\n Object.keys(rawBindings).forEach(function (key) {\r\n ret[key] = vm[key];\r\n });\r\n }\r\n\r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret, clearInstance))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err, vm, info) {\r\n Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\r\n console.error(err);\r\n /* eslint-disable no-undef */\r\n var app = typeof getApp === 'function' && getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];\r\n if (triggerEvent) {\r\n try {\r\n triggerEvent.call(this.$scope, event, {\r\n __args__: toArray(arguments, 1)\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n return oldEmit.apply(this, arguments)\r\n };\r\n\r\n Vue.prototype.$nextTick = function(fn) {\r\n return nextTick$1(this, fn)\r\n };\r\n\r\n MP_METHODS.forEach(function (method) {\r\n Vue.prototype[method] = function(args) {\r\n if (this.$scope && this.$scope[method]) {\r\n return this.$scope[method](args)\r\n }\r\n // mp-alipay\r\n if (typeof my === 'undefined') {\r\n return\r\n }\r\n if (method === 'createSelectorQuery') {\r\n /* eslint-disable no-undef */\r\n return my.createSelectorQuery(args)\r\n } else if (method === 'createIntersectionObserver') {\r\n /* eslint-disable no-undef */\r\n return my.createIntersectionObserver(args)\r\n }\r\n // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n };\r\n });\r\n\r\n Vue.prototype.__init_provide = initProvide;\r\n\r\n Vue.prototype.__init_injections = initInjections;\r\n\r\n Vue.prototype.__call_hook = function(hook, args) {\r\n var vm = this;\r\n // #7573 disable dep collection when invoking lifecycle hooks\r\n pushTarget();\r\n var handlers = vm.$options[hook];\r\n var info = hook + \" hook\";\r\n var ret;\r\n if (handlers) {\r\n for (var i = 0, j = handlers.length; i < j; i++) {\r\n ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n }\r\n }\r\n if (vm._hasHookEvent) {\r\n vm.$emit('hook:' + hook, args);\r\n }\r\n popTarget();\r\n return ret\r\n };\r\n\r\n Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n if (Array.isArray(modifiers)) {\r\n if (modifiers.indexOf('trim') !== -1) {\r\n value = value.trim();\r\n }\r\n if (modifiers.indexOf('number') !== -1) {\r\n value = this._n(value);\r\n }\r\n }\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__set_sync = function(target, key, value) {\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__get_orig = function(item) {\r\n if (isPlainObject(item)) {\r\n return item['$orig'] || item\r\n }\r\n return item\r\n };\r\n\r\n Vue.prototype.__get_value = function(dataPath, target) {\r\n return getTarget(target || this, dataPath)\r\n };\r\n\r\n\r\n Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n return renderClass(staticClass, dynamicClass)\r\n };\r\n\r\n Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n if (!dynamicStyle && !staticStyle) {\r\n return ''\r\n }\r\n var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n };\r\n\r\n Vue.prototype.__map = function(val, iteratee) {\r\n //TODO 暂不考虑 string\r\n var ret, i, l, keys, key;\r\n if (Array.isArray(val)) {\r\n ret = new Array(val.length);\r\n for (i = 0, l = val.length; i < l; i++) {\r\n ret[i] = iteratee(val[i], i);\r\n }\r\n return ret\r\n } else if (isObject(val)) {\r\n keys = Object.keys(val);\r\n ret = Object.create(null);\r\n for (i = 0, l = keys.length; i < l; i++) {\r\n key = keys[i];\r\n ret[key] = iteratee(val[key], key, i);\r\n }\r\n return ret\r\n } else if (typeof val === 'number') {\r\n ret = new Array(val);\r\n for (i = 0, l = val; i < l; i++) {\r\n // 第一个参数暂时仍和小程序一致\r\n ret[i] = iteratee(i, i);\r\n }\r\n return ret\r\n }\r\n return []\r\n };\r\n\r\n}\n\n/* */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n //App\r\n 'onLaunch',\r\n 'onShow',\r\n 'onHide',\r\n 'onUniNViewMessage',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onError',\r\n 'onUnhandledRejection',\r\n //Page\r\n 'onInit',\r\n 'onLoad',\r\n // 'onShow',\r\n 'onReady',\r\n // 'onHide',\r\n 'onUnload',\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onTabItemTap',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\r\n 'onUploadDouyinVideo',\r\n 'onNFCReadMessage',\r\n //Component\r\n // 'onReady', // 兼容旧版本,应该移除该事件\r\n 'onPageShow',\r\n 'onPageHide',\r\n 'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n //fixed vue-class-component\r\n var oldExtend = Vue.extend;\r\n Vue.extend = function(extendOptions) {\r\n extendOptions = extendOptions || {};\r\n\r\n var methods = extendOptions.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(function (methodName) {\r\n if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n extendOptions[methodName] = methods[methodName];\r\n delete methods[methodName];\r\n }\r\n });\r\n }\r\n\r\n return oldExtend.call(this, extendOptions)\r\n };\r\n\r\n var strategies = Vue.config.optionMergeStrategies;\r\n var mergeHook = strategies.created;\r\n LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n strategies[hook] = mergeHook;\r\n });\r\n\r\n Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/* */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n el ,\r\n hydrating \r\n) {\r\n return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/* */\n\nexport default Vue;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode, /* vue-cli only */\n components, // fixed by xxxxxx auto components\n renderjs // fixed by xxxxxx renderjs\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // fixed by xxxxxx auto components\n if (components) {\n if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n if(typeof renderjs.beforeCreate === 'function'){\n\t\t\trenderjs.beforeCreate = [renderjs.beforeCreate]\n\t\t}\n (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n this[renderjs.__module] = this\n });\n (options.mixins || (options.mixins = [])).push(renderjs)\n }\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","// 引入全局mixin\nimport mixin from './libs/mixin/mixin.js'\n// 引入关于是否mixin集成小程序分享的配置\n// import wxshare from './libs/mixin/mpShare.js'\n// 全局挂载引入http相关请求拦截插件\nimport http from './libs/request'\n\nfunction wranning(str) {\n\t// 开发环境进行信息输出,主要是一些报错信息\n\t// 这个环境的来由是在程序编写时候,点击hx编辑器运行调试代码的时候,详见:\n\t// \thttps://uniapp.dcloud.io/frame?id=%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%92%8c%e7%94%9f%e4%ba%a7%e7%8e%af%e5%a2%83\n\tif (process.env.NODE_ENV === 'development') {\n\t\tconsole.warn(str)\n\t}\n}\n\n// 尝试判断在根目录的/store中是否有$u.mixin.js,此文件uView默认为需要挂在到全局的vuex的state变量\n// HX2.6.11版本,放到try中,控制台依然会警告,暂时不用此方式,\n// let vuexStore = {};\n// try {\n// \tvuexStore = require(\"@/store/$u.mixin.js\");\n// } catch (e) {\n// \t//TODO handle the exception\n// }\n\n// post类型对象参数转为get类型url参数\nimport queryParams from './libs/function/queryParams.js'\n// 路由封装\nimport route from './libs/function/route.js'\n// 时间格式化\nimport timeFormat from './libs/function/timeFormat.js'\n// 时间戳格式化,返回多久之前\nimport timeFrom from './libs/function/timeFrom.js'\n// 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制\nimport colorGradient from './libs/function/colorGradient.js'\n// 生成全局唯一guid字符串\nimport guid from './libs/function/guid.js'\n// 主题相关颜色,info|success|warning|primary|default|error,此颜色已在uview.scss中定义,但是为js中也能使用,故也定义一份\nimport color from './libs/function/color.js'\n// 根据type获取图标名称\nimport type2icon from './libs/function/type2icon.js'\n// 打乱数组的顺序\nimport randomArray from './libs/function/randomArray.js'\n// 对象和数组的深度克隆\nimport deepClone from './libs/function/deepClone.js'\n// 对象深度拷贝\nimport deepMerge from './libs/function/deepMerge.js'\n// 添加单位\nimport addUnit from './libs/function/addUnit.js'\n\n// 规则检验\nimport test from './libs/function/test.js'\n// 随机数\nimport random from './libs/function/random.js'\n// 去除空格\nimport trim from './libs/function/trim.js'\n// toast提示,对uni.showToast的封装\nimport toast from './libs/function/toast.js'\n// 获取父组件参数\nimport getParent from './libs/function/getParent.js'\n// 获取整个父组件\nimport $parent from './libs/function/$parent.js'\n// 获取sys()和os()工具方法\n// 获取设备信息,挂载到$u的sys()(system的缩写)属性中,\n// 同时把安卓和ios平台的名称\"ios\"和\"android\"挂到$u.os()中,方便取用\nimport {sys, os} from './libs/function/sys.js'\n// 防抖方法\nimport debounce from './libs/function/debounce.js'\n// 节流方法\nimport throttle from './libs/function/throttle.js'\n\n\n// 配置信息\nimport config from './libs/config/config.js'\n// 各个需要fixed的地方的z-index配置文件\nimport zIndex from './libs/config/zIndex.js'\n\nconst $u = {\n\tqueryParams: queryParams,\n\troute: route,\n\ttimeFormat: timeFormat,\n\tdate: timeFormat, // 另名date\n\ttimeFrom,\n\tcolorGradient: colorGradient.colorGradient,\n\tcolorToRgba: colorGradient.colorToRgba,\n\tguid,\n\tcolor,\n\tsys,\n\tos,\n\ttype2icon,\n\trandomArray,\n\twranning,\n\tget: http.get,\n\tpost: http.post,\n\tput: http.put,\n\t'delete': http.delete,\n\thexToRgb: colorGradient.hexToRgb,\n\trgbToHex: colorGradient.rgbToHex,\n\ttest,\n\trandom,\n\tdeepClone,\n\tdeepMerge,\n\tgetParent,\n\t$parent,\n\taddUnit,\n\ttrim,\n\ttype: ['primary', 'success', 'error', 'warning', 'info'],\n\thttp,\n\ttoast,\n\tconfig, // uView配置信息相关,比如版本号\n\tzIndex,\n\tdebounce,\n\tthrottle,\n}\n\n// $u挂载到uni对象上\nuni.$u = $u\n\nconst install = Vue => {\n\tVue.mixin(mixin) \n\tif (Vue.prototype.openShare) {\n\t\tVue.mixin(mpShare);\n\t}\n\t// Vue.mixin(vuexStore);\n\t// 时间格式化,同时两个名称,date和timeFormat\n\tVue.filter('timeFormat', (timestamp, format) => {\n\t\treturn timeFormat(timestamp, format)\n\t})\n\tVue.filter('date', (timestamp, format) => {\n\t\treturn timeFormat(timestamp, format)\n\t})\n\t// 将多久以前的方法,注入到全局过滤器\n\tVue.filter('timeFrom', (timestamp, format) => {\n\t\treturn timeFrom(timestamp, format)\n\t})\n\tVue.prototype.$u = $u\n}\n\nexport default {\n\tinstall\n}","module.exports = {\n\tdata() {\n\t\treturn {}\n\t},\n\tonLoad() {\n\t\t// getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出\n\t\tthis.$u.getRect = this.$uGetRect\n\t},\n\tmethods: {\n\t\t// 查询节点信息\n\t\t// 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21)\n\t\t// 解决办法为在组件根部再套一个没有任何作用的view元素\n\t\t$uGetRect(selector, all) {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\tuni.createSelectorQuery().\n\t\t\t\tin(this)[all ? 'selectAll' : 'select'](selector)\n\t\t\t\t\t.boundingClientRect(rect => {\n\t\t\t\t\t\tif (all && Array.isArray(rect) && rect.length) {\n\t\t\t\t\t\t\tresolve(rect)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!all && rect) {\n\t\t\t\t\t\t\tresolve(rect)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.exec()\n\t\t\t})\n\t\t},\n\t\tgetParentData(parentName = '') {\n\t\t\t// 避免在created中去定义parent变量\n\t\t\tif(!this.parent) this.parent = false;\n\t\t\t// 这里的本质原理是,通过获取父组件实例(也即u-radio-group的this)\n\t\t\t// 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性\n\t\t\t// 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化\n\t\t\tthis.parent = this.$u.$parent.call(this, parentName);\n\t\t\tif(this.parent) {\n\t\t\t\t// 历遍parentData中的属性,将parent中的同名属性赋值给parentData\n\t\t\t\tObject.keys(this.parentData).map(key => {\n\t\t\t\t\tthis.parentData[key] = this.parent[key];\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t// 阻止事件冒泡\n\t\tpreventEvent(e) {\n\t\t\te && e.stopPropagation && e.stopPropagation()\n\t\t}\n\t},\n\tonReachBottom() {\n\t\tuni.$emit('uOnReachBottom')\n\t},\n\tbeforeDestroy() {\n\t\t// 判断当前页面是否存在parent和children,一般在checkbox和checkbox-group父子联动的场景会有此情况\n\t\t// 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱\n\t\tif(this.parent && uni.$u.test.array(this.parent.children)) {\n\t\t\t// 组件销毁时,移除父组件中的children数组中对应的实例\n\t\t\tconst childrenList = this.parent.children\n\t\t\tchildrenList.map((child, index) => {\n\t\t\t\t// 如果相等,则移除\n\t\t\t\tif(child === this) {\n\t\t\t\t\tchildrenList.splice(index, 1)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n}\n","import deepMerge from \"../function/deepMerge\";\nimport validate from \"../function/test\";\nclass Request {\n\t// 设置全局默认配置\n\tsetConfig(customConfig) {\n\t\t// 深度合并对象,否则会造成对象深层属性丢失\n\t\tthis.config = deepMerge(this.config, customConfig);\n\t}\n\n\t// 主要请求部分\n\trequest(options = {}) {\n\t\t// 检查请求拦截\n\t\tif (this.interceptor.request && typeof this.interceptor.request === 'function') {\n\t\t\tlet tmpConfig = {};\n\t\t\tlet interceptorRequest = this.interceptor.request(options);\n\t\t\tif (interceptorRequest === false) {\n\t\t\t\t// 返回一个处于pending状态中的Promise,来取消原promise,避免进入then()回调\n\t\t\t\treturn new Promise(()=>{});\n\t\t\t}\n\t\t\tthis.options = interceptorRequest;\n\t\t}\n\t\toptions.dataType = options.dataType || this.config.dataType;\n\t\toptions.responseType = options.responseType || this.config.responseType;\n\t\toptions.url = options.url || '';\n\t\toptions.params = options.params || {};\n\t\toptions.header = Object.assign({}, this.config.header, options.header);\n\t\toptions.method = options.method || this.config.method;\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\toptions.complete = (response) => {\n\t\t\t\t// 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading)\n\t\t\t\tuni.hideLoading();\n\t\t\t\t// 清除定时器,如果请求回来了,就无需loading\n\t\t\t\tclearTimeout(this.config.timer);\n\t\t\t\tthis.config.timer = null;\n\t\t\t\t// 判断用户对拦截返回数据的要求,如果originalData为true,返回所有的数据(response)到拦截器,否则只返回response.data\n\t\t\t\tif(this.config.originalData) {\n\t\t\t\t\t// 判断是否存在拦截器\n\t\t\t\t\tif (this.interceptor.response && typeof this.interceptor.response === 'function') {\n\t\t\t\t\t\tlet resInterceptors = this.interceptor.response(response);\n\t\t\t\t\t\t// 如果拦截器不返回false,就将拦截器返回的内容给this.$u.post的then回调\n\t\t\t\t\t\tif (resInterceptors !== false) {\n\t\t\t\t\t\t\tresolve(resInterceptors);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// 如果拦截器返回false,意味着拦截器定义者认为返回有问题,直接接入catch回调\n\t\t\t\t\t\t\treject(response);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 如果要求返回原始数据,就算没有拦截器,也返回最原始的数据\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (response.statusCode == 200) {\n\t\t\t\t\t\tif (this.interceptor.response && typeof this.interceptor.response === 'function') {\n\t\t\t\t\t\t\tlet resInterceptors = this.interceptor.response(response.data);\n\t\t\t\t\t\t\tif (resInterceptors !== false) {\n\t\t\t\t\t\t\t\tresolve(resInterceptors);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treject(response.data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// 如果不是返回原始数据(originalData=false),且没有拦截器的情况下,返回纯数据给then回调\n\t\t\t\t\t\t\tresolve(response.data);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 不返回原始数据的情况下,服务器状态码不为200,modal弹框提示\n\t\t\t\t\t\t// if(response.errMsg) {\n\t\t\t\t\t\t// \tuni.showModal({\n\t\t\t\t\t\t// \t\ttitle: response.errMsg\n\t\t\t\t\t\t// \t});\n\t\t\t\t\t\t// }\n\t\t\t\t\t\treject(response)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// 判断用户传递的URL是否/开头,如果不是,加上/,这里使用了uView的test.js验证库的url()方法\n\t\t\toptions.url = validate.url(options.url) ? options.url : (this.config.baseUrl + (options.url.indexOf('/') == 0 ?\n\t\t\t\toptions.url : '/' + options.url));\n\t\t\t\n\t\t\t// 是否显示loading\n\t\t\t// 加一个是否已有timer定时器的判断,否则有两个同时请求的时候,后者会清除前者的定时器id\n\t\t\t// 而没有清除前者的定时器,导致前者超时,一直显示loading\n\t\t\tif(this.config.showLoading && !this.config.timer) {\n\t\t\t\tthis.config.timer = setTimeout(() => {\n\t\t\t\t\tuni.showLoading({\n\t\t\t\t\t\ttitle: this.config.loadingText,\n\t\t\t\t\t\tmask: this.config.loadingMask\n\t\t\t\t\t})\n\t\t\t\t\tthis.config.timer = null;\n\t\t\t\t}, this.config.loadingTime);\n\t\t\t}\n\t\t\tuni.request(options);\n\t\t})\n\t\t// .catch(res => {\n\t\t// \t// 如果返回reject(),不让其进入this.$u.post().then().catch()后面的catct()\n\t\t// \t// 因为很多人都会忘了写后面的catch(),导致报错捕获不到catch\n\t\t// \treturn new Promise(()=>{});\n\t\t// })\n\t}\n\n\tconstructor() {\n\t\tthis.config = {\n\t\t\tbaseUrl: '', // 请求的根域名\n\t\t\t// 默认的请求头\n\t\t\theader: {},\n\t\t\tmethod: 'POST',\n\t\t\t// 设置为json,返回后uni.request会对数据进行一次JSON.parse\n\t\t\tdataType: 'json',\n\t\t\t// 此参数无需处理,因为5+和支付宝小程序不支持,默认为text即可\n\t\t\tresponseType: 'text',\n\t\t\tshowLoading: true, // 是否显示请求中的loading\n\t\t\tloadingText: '请求中...',\n\t\t\tloadingTime: 800, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms\n\t\t\ttimer: null, // 定时器\n\t\t\toriginalData: false, // 是否在拦截器中返回服务端的原始数据,见文档说明\n\t\t\tloadingMask: true, // 展示loading的时候,是否给一个透明的蒙层,防止触摸穿透\n\t\t}\n\t\n\t\t// 拦截器\n\t\tthis.interceptor = {\n\t\t\t// 请求前的拦截\n\t\t\trequest: null,\n\t\t\t// 请求后的拦截\n\t\t\tresponse: null\n\t\t}\n\n\t\t// get请求\n\t\tthis.get = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl,\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\n\t\t// post请求\n\t\tthis.post = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\turl,\n\t\t\t\tmethod: 'POST',\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\t\t\n\t\t// put请求,不支持支付宝小程序(HX2.6.15)\n\t\tthis.put = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\turl,\n\t\t\t\tmethod: 'PUT',\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\t\t\n\t\t// delete请求,不支持支付宝和头条小程序(HX2.6.15)\n\t\tthis.delete = (url, data = {}, header = {}) => {\n\t\t\treturn this.request({\n\t\t\t\turl,\n\t\t\t\tmethod: 'DELETE',\n\t\t\t\theader,\n\t\t\t\tdata\n\t\t\t})\n\t\t}\n\t}\n}\nexport default new Request\n","import deepClone from \"./deepClone\";\n\n// JS对象深度合并\nfunction deepMerge(target = {}, source = {}) {\n\ttarget = deepClone(target);\n\tif (typeof target !== 'object' || typeof source !== 'object') return false;\n\tfor (var prop in source) {\n\t\tif (!source.hasOwnProperty(prop)) continue;\n\t\tif (prop in target) {\n\t\t\tif (typeof target[prop] !== 'object') {\n\t\t\t\ttarget[prop] = source[prop];\n\t\t\t} else {\n\t\t\t\tif (typeof source[prop] !== 'object') {\n\t\t\t\t\ttarget[prop] = source[prop];\n\t\t\t\t} else {\n\t\t\t\t\tif (target[prop].concat && source[prop].concat) {\n\t\t\t\t\t\ttarget[prop] = target[prop].concat(source[prop]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget[prop] = deepMerge(target[prop], source[prop]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\ttarget[prop] = source[prop];\n\t\t}\n\t}\n\treturn target;\n}\n\nexport default deepMerge;","// 判断arr是否为一个数组,返回一个bool值\nfunction isArray (arr) {\n return Object.prototype.toString.call(arr) === '[object Array]';\n}\n\n// 深度克隆\nfunction deepClone (obj) {\n\t// 对常见的“非”值,直接返回原来值\n\tif([null, undefined, NaN, false].includes(obj)) return obj;\n if(typeof obj !== \"object\" && typeof obj !== 'function') {\n\t\t//原始类型直接返回\n return obj;\n }\n var o = isArray(obj) ? [] : {};\n for(let i in obj) {\n if(obj.hasOwnProperty(i)){\n o[i] = typeof obj[i] === \"object\" ? deepClone(obj[i]) : obj[i];\n }\n }\n return o;\n}\n\nexport default deepClone;\n","/**\n * 验证电子邮箱格式\n */\nfunction email(value) {\n\treturn /[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?/.test(value);\n}\n\n/**\n * 验证手机格式\n */\nfunction mobile(value) {\n\treturn /^1[3-9]\\d{9}$/.test(value)\n}\n\n/**\n * 验证URL格式\n */\nfunction url(value) {\n\treturn /http(s)?:\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w-.\\/?%&=]*)?/.test(value)\n}\n\n/**\n * 验证日期格式\n */\nfunction date(value) {\n\treturn !/Invalid|NaN/.test(new Date(value).toString())\n}\n\n/**\n * 验证ISO类型的日期格式\n */\nfunction dateISO(value) {\n\treturn /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)\n}\n\n/**\n * 验证十进制数字\n */\nfunction number(value) {\n\treturn /^[\\+-]?(\\d+\\.?\\d*|\\.\\d+|\\d\\.\\d+e\\+\\d+)$/.test(value)\n}\n\n/**\n * 验证整数\n */\nfunction digits(value) {\n\treturn /^\\d+$/.test(value)\n}\n\n/**\n * 验证身份证号码\n */\nfunction idCard(value) {\n\treturn /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/.test(\n\t\tvalue)\n}\n\n/**\n * 是否车牌号\n */\nfunction carNo(value) {\n\t// 新能源车牌\n\tconst xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;\n\t// 旧车牌\n\tconst creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;\n\tif (value.length === 7) {\n\t\treturn creg.test(value);\n\t} else if (value.length === 8) {\n\t\treturn xreg.test(value);\n\t} else {\n\t\treturn false;\n\t}\n}\n\n/**\n * 金额,只允许2位小数\n */\nfunction amount(value) {\n\t//金额,只允许保留两位小数\n\treturn /^[1-9]\\d*(,\\d{3})*(\\.\\d{1,2})?$|^0\\.\\d{1,2}$/.test(value);\n}\n\n/**\n * 中文\n */\nfunction chinese(value) {\n\tlet reg = /^[\\u4e00-\\u9fa5]+$/gi;\n\treturn reg.test(value);\n}\n\n/**\n * 只能输入字母\n */\nfunction letter(value) {\n\treturn /^[a-zA-Z]*$/.test(value);\n}\n\n/**\n * 只能是字母或者数字\n */\nfunction enOrNum(value) {\n\t//英文或者数字\n\tlet reg = /^[0-9a-zA-Z]*$/g;\n\treturn reg.test(value);\n}\n\n/**\n * 验证是否包含某个值\n */\nfunction contains(value, param) {\n\treturn value.indexOf(param) >= 0\n}\n\n/**\n * 验证一个值范围[min, max]\n */\nfunction range(value, param) {\n\treturn value >= param[0] && value <= param[1]\n}\n\n/**\n * 验证一个长度范围[min, max]\n */\nfunction rangeLength(value, param) {\n\treturn value.length >= param[0] && value.length <= param[1]\n}\n\n/**\n * 是否固定电话\n */\nfunction landline(value) {\n\tlet reg = /^\\d{3,4}-\\d{7,8}(-\\d{3,4})?$/;\n\treturn reg.test(value);\n}\n\n/**\n * 判断是否为空\n */\nfunction empty(value) {\n\tswitch (typeof value) {\n\t\tcase 'undefined':\n\t\t\treturn true;\n\t\tcase 'string':\n\t\t\tif (value.replace(/(^[ \\t\\n\\r]*)|([ \\t\\n\\r]*$)/g, '').length == 0) return true;\n\t\t\tbreak;\n\t\tcase 'boolean':\n\t\t\tif (!value) return true;\n\t\t\tbreak;\n\t\tcase 'number':\n\t\t\tif (0 === value || isNaN(value)) return true;\n\t\t\tbreak;\n\t\tcase 'object':\n\t\t\tif (null === value || value.length === 0) return true;\n\t\t\tfor (var i in value) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * 是否json字符串\n */\nfunction jsonString(value) {\n\tif (typeof value == 'string') {\n\t\ttry {\n\t\t\tvar obj = JSON.parse(value);\n\t\t\tif (typeof obj == 'object' && obj) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n}\n\n\n/**\n * 是否数组\n */\nfunction array(value) {\n\tif (typeof Array.isArray === \"function\") {\n\t\treturn Array.isArray(value);\n\t} else {\n\t\treturn Object.prototype.toString.call(value) === \"[object Array]\";\n\t}\n}\n\n/**\n * 是否对象\n */\nfunction object(value) {\n\treturn Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * 是否短信验证码\n */\nfunction code(value, len = 6) {\n\treturn new RegExp(`^\\\\d{${len}}$`).test(value);\n}\n\n\nexport default {\n\temail,\n\tmobile,\n\turl,\n\tdate,\n\tdateISO,\n\tnumber,\n\tdigits,\n\tidCard,\n\tcarNo,\n\tamount,\n\tchinese,\n\tletter,\n\tenOrNum,\n\tcontains,\n\trange,\n\trangeLength,\n\tempty,\n\tisEmpty: empty,\n\tjsonString,\n\tlandline,\n\tobject,\n\tarray,\n\tcode\n}\n","/**\n * 对象转url参数\n * @param {*} data,对象\n * @param {*} isPrefix,是否自动加上\"?\"\n */\nfunction queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') {\n\tlet prefix = isPrefix ? '?' : ''\n\tlet _result = []\n\tif (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets';\n\tfor (let key in data) {\n\t\tlet value = data[key]\n\t\t// 去掉为空的参数\n\t\tif (['', undefined, null].indexOf(value) >= 0) {\n\t\t\tcontinue;\n\t\t}\n\t\t// 如果值为数组,另行处理\n\t\tif (value.constructor === Array) {\n\t\t\t// e.g. {ids: [1, 2, 3]}\n\t\t\tswitch (arrayFormat) {\n\t\t\t\tcase 'indices':\n\t\t\t\t\t// 结果: ids[0]=1&ids[1]=2&ids[2]=3\n\t\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\t\t_result.push(key + '[' + i + ']=' + value[i])\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'brackets':\n\t\t\t\t\t// 结果: ids[]=1&ids[]=2&ids[]=3\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\t_result.push(key + '[]=' + _value)\n\t\t\t\t\t})\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'repeat':\n\t\t\t\t\t// 结果: ids=1&ids=2&ids=3\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\t_result.push(key + '=' + _value)\n\t\t\t\t\t})\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'comma':\n\t\t\t\t\t// 结果: ids=1,2,3\n\t\t\t\t\tlet commaStr = \"\";\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\tcommaStr += (commaStr ? \",\" : \"\") + _value;\n\t\t\t\t\t})\n\t\t\t\t\t_result.push(key + '=' + commaStr)\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvalue.forEach(_value => {\n\t\t\t\t\t\t_result.push(key + '[]=' + _value)\n\t\t\t\t\t})\n\t\t\t}\n\t\t} else {\n\t\t\t_result.push(key + '=' + value)\n\t\t}\n\t}\n\treturn _result.length ? prefix + _result.join('&') : ''\n}\n\nexport default queryParams;\n","/**\n * 路由跳转方法,该方法相对于直接使用uni.xxx的好处是使用更加简单快捷\n * 并且带有路由拦截功能\n */\n\nclass Router {\n\tconstructor() {\n\t\t// 原始属性定义\n\t\tthis.config = {\n\t\t\ttype: 'navigateTo',\n\t\t\turl: '',\n\t\t\tdelta: 1, // navigateBack页面后退时,回退的层数\n\t\t\tparams: {}, // 传递的参数\n\t\t\tanimationType: 'pop-in', // 窗口动画,只在APP有效\n\t\t\tanimationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效\n\t\t\tintercept: false, // 是否需要拦截\n\t\t}\n\t\t// 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文\n\t\t// 这里在构造函数中进行this绑定\n\t\tthis.route = this.route.bind(this)\n\t}\n\n\t// 判断url前面是否有\"/\",如果没有则加上,否则无法跳转\n\taddRootPath(url) {\n\t\treturn url[0] === '/' ? url : `/${url}`\n\t}\n\n\t// 整合路由参数\n\tmixinParam(url, params) {\n\t\turl = url && this.addRootPath(url)\n\t\t\n\t\t// 使用正则匹配,主要依据是判断是否有\"/\",\"?\",\"=\"等,如“/page/index/index?name=mary\"\n\t\t// 如果有url中有get参数,转换后无需带上\"?\"\n\t\tlet query = ''\n\t\tif (/.*\\/.*\\?.*=.*/.test(url)) {\n\t\t\t// object对象转为get类型的参数\n\t\t\tquery = uni.$u.queryParams(params, false);\n\t\t\t// 因为已有get参数,所以后面拼接的参数需要带上\"&\"隔开\n\t\t\treturn url += \"&\" + query\n\t\t} else {\n\t\t\t// 直接拼接参数,因为此处url中没有后面的query参数,也就没有\"?/&\"之类的符号\n\t\t\tquery = uni.$u.queryParams(params);\n\t\t\treturn url += query\n\t\t}\n\t}\n\n\t// 对外的方法名称\n\tasync route(options = {}, params = {}) {\n\t\t// 合并用户的配置和内部的默认配置\n\t\tlet mergeConfig = {}\n\n\t\tif (typeof options === 'string') {\n\t\t\t// 如果options为字符串,则为route(url, params)的形式\n\t\t\tmergeConfig.url = this.mixinParam(options, params)\n\t\t\tmergeConfig.type = 'navigateTo'\n\t\t} else {\n\t\t\tmergeConfig = uni.$u.deepClone(options, this.config)\n\t\t\t// 否则正常使用mergeConfig中的url和params进行拼接\n\t\t\tmergeConfig.url = this.mixinParam(options.url, options.params)\n\t\t}\n\t\t\n\t\tif(params.intercept) {\n\t\t\tthis.config.intercept = params.intercept\n\t\t}\n\t\t// params参数也带给拦截器\n\t\tmergeConfig.params = params\n\t\t// 合并内外部参数\n\t\tmergeConfig = uni.$u.deepMerge(this.config, mergeConfig)\n\t\t// 判断用户是否定义了拦截器\n\t\tif (typeof uni.$u.routeIntercept === 'function') {\n\t\t\t// 定一个promise,根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转\n\t\t\tconst isNext = await new Promise((resolve, reject) => {\n\t\t\t\tuni.$u.routeIntercept(mergeConfig, resolve)\n\t\t\t})\n\t\t\t// 如果isNext为true,则执行路由跳转\n\t\t\tisNext && this.openPage(mergeConfig)\n\t\t} else {\n\t\t\tthis.openPage(mergeConfig)\n\t\t}\n\t}\n\n\t// 执行路由跳转\n\topenPage(config) {\n\t\t// 解构参数\n\t\tconst {\n\t\t\turl,\n\t\t\ttype,\n\t\t\tdelta,\n\t\t\tanimationType,\n\t\t\tanimationDuration\n\t\t} = config\n\t\tif (config.type == 'navigateTo' || config.type == 'to') {\n\t\t\tuni.navigateTo({\n\t\t\t\turl,\n\t\t\t\tanimationType,\n\t\t\t\tanimationDuration\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'redirectTo' || config.type == 'redirect') {\n\t\t\tuni.redirectTo({\n\t\t\t\turl\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'switchTab' || config.type == 'tab') {\n\t\t\tuni.switchTab({\n\t\t\t\turl\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'reLaunch' || config.type == 'launch') {\n\t\t\tuni.reLaunch({\n\t\t\t\turl\n\t\t\t});\n\t\t}\n\t\tif (config.type == 'navigateBack' || config.type == 'back') {\n\t\t\tuni.navigateBack({\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport default (new Router()).route","// TODO(Babel 8): Remove this file.\n\nvar runtime = require('@babel/runtime/helpers/regeneratorRuntime')()\nmodule.exports = runtime\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) {\n keys.push(key);\n }\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序\n// 所以这里做一个兼容polyfill的兼容处理\nif (!String.prototype.padStart) {\n\t// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解\n\tString.prototype.padStart = function(maxLength, fillString = ' ') {\n\t\tif (Object.prototype.toString.call(fillString) !== \"[object String]\") throw new TypeError(\n\t\t\t'fillString must be String')\n\t\tlet str = this\n\t\t// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉\n\t\tif (str.length >= maxLength) return String(str)\n\n\t\tlet fillLength = maxLength - str.length,\n\t\t\ttimes = Math.ceil(fillLength / fillString.length)\n\t\twhile (times >>= 1) {\n\t\t\tfillString += fillString\n\t\t\tif (times === 1) {\n\t\t\t\tfillString += fillString\n\t\t\t}\n\t\t}\n\t\treturn fillString.slice(0, fillLength) + str;\n\t}\n}\n\n// 其他更多是格式化有如下:\n// yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合\nfunction timeFormat(dateTime = null, fmt = 'yyyy-mm-dd') {\n\t// 如果为null,则格式化当前时间\n\tif (!dateTime) dateTime = Number(new Date());\n\t// 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式\n\tif (dateTime.toString().length == 10) dateTime *= 1000;\n\tlet date = new Date(dateTime);\n\tlet ret;\n\tlet opt = {\n\t\t\"y+\": date.getFullYear().toString(), // 年\n\t\t\"m+\": (date.getMonth() + 1).toString(), // 月\n\t\t\"d+\": date.getDate().toString(), // 日\n\t\t\"h+\": date.getHours().toString(), // 时\n\t\t\"M+\": date.getMinutes().toString(), // 分\n\t\t\"s+\": date.getSeconds().toString() // 秒\n\t\t// 有其他格式化字符需求可以继续添加,必须转化成字符串\n\t};\n\tfor (let k in opt) {\n\t\tret = new RegExp(\"(\" + k + \")\").exec(fmt);\n\t\tif (ret) {\n\t\t\tfmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, \"0\")))\n\t\t};\n\t};\n\treturn fmt;\n}\n\nexport default timeFormat\n","import timeFormat from '../../libs/function/timeFormat.js';\n\n/**\n * 时间戳转为多久之前\n * @param String timestamp 时间戳\n * @param String | Boolean format 如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;\n * 如果为布尔值false,无论什么时间,都返回多久以前的格式\n */\nfunction timeFrom(dateTime = null, format = 'yyyy-mm-dd') {\n\t// 如果为null,则格式化当前时间\n\tif (!dateTime) dateTime = Number(new Date());\n\t// 如果dateTime长度为10或者13,则为秒和毫秒的时间戳,如果超过13位,则为其他的时间格式\n\tif (dateTime.toString().length == 10) dateTime *= 1000;\n\tlet timestamp = + new Date(Number(dateTime));\n\n\tlet timer = (Number(new Date()) - timestamp) / 1000;\n\t// 如果小于5分钟,则返回\"刚刚\",其他以此类推\n\tlet tips = '';\n\tswitch (true) {\n\t\tcase timer < 300:\n\t\t\ttips = '刚刚';\n\t\t\tbreak;\n\t\tcase timer >= 300 && timer < 3600:\n\t\t\ttips = parseInt(timer / 60) + '分钟前';\n\t\t\tbreak;\n\t\tcase timer >= 3600 && timer < 86400:\n\t\t\ttips = parseInt(timer / 3600) + '小时前';\n\t\t\tbreak;\n\t\tcase timer >= 86400 && timer < 2592000:\n\t\t\ttips = parseInt(timer / 86400) + '天前';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// 如果format为false,则无论什么时间戳,都显示xx之前\n\t\t\tif(format === false) {\n\t\t\t\tif(timer >= 2592000 && timer < 365 * 86400) {\n\t\t\t\t\ttips = parseInt(timer / (86400 * 30)) + '个月前';\n\t\t\t\t} else {\n\t\t\t\t\ttips = parseInt(timer / (86400 * 365)) + '年前';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttips = timeFormat(timestamp, format);\n\t\t\t}\n\t}\n\treturn tips;\n}\n\nexport default timeFrom;\n","/**\n * 求两个颜色之间的渐变值\n * @param {string} startColor 开始的颜色\n * @param {string} endColor 结束的颜色\n * @param {number} step 颜色等分的份额\n * */\nfunction colorGradient(startColor = 'rgb(0, 0, 0)', endColor = 'rgb(255, 255, 255)', step = 10) {\n\tlet startRGB = hexToRgb(startColor, false); //转换为rgb数组模式\n\tlet startR = startRGB[0];\n\tlet startG = startRGB[1];\n\tlet startB = startRGB[2];\n\n\tlet endRGB = hexToRgb(endColor, false);\n\tlet endR = endRGB[0];\n\tlet endG = endRGB[1];\n\tlet endB = endRGB[2];\n\n\tlet sR = (endR - startR) / step; //总差值\n\tlet sG = (endG - startG) / step;\n\tlet sB = (endB - startB) / step;\n\tlet colorArr = [];\n\tfor (let i = 0; i < step; i++) {\n\t\t//计算每一步的hex值 \n\t\tlet hex = rgbToHex('rgb(' + Math.round((sR * i + startR)) + ',' + Math.round((sG * i + startG)) + ',' + Math.round((sB *\n\t\t\ti + startB)) + ')');\n\t\tcolorArr.push(hex);\n\t}\n\treturn colorArr;\n}\n\n// 将hex表示方式转换为rgb表示方式(这里返回rgb数组模式)\nfunction hexToRgb(sColor, str = true) {\n\tlet reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n\tsColor = sColor.toLowerCase();\n\tif (sColor && reg.test(sColor)) {\n\t\tif (sColor.length === 4) {\n\t\t\tlet sColorNew = \"#\";\n\t\t\tfor (let i = 1; i < 4; i += 1) {\n\t\t\t\tsColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\n\t\t\t}\n\t\t\tsColor = sColorNew;\n\t\t}\n\t\t//处理六位的颜色值\n\t\tlet sColorChange = [];\n\t\tfor (let i = 1; i < 7; i += 2) {\n\t\t\tsColorChange.push(parseInt(\"0x\" + sColor.slice(i, i + 2)));\n\t\t}\n\t\tif(!str) {\n\t\t\treturn sColorChange;\n\t\t} else {\n\t\t\treturn `rgb(${sColorChange[0]},${sColorChange[1]},${sColorChange[2]})`;\n\t\t}\n\t} else if (/^(rgb|RGB)/.test(sColor)) {\n\t\tlet arr = sColor.replace(/(?:\\(|\\)|rgb|RGB)*/g, \"\").split(\",\")\n\t\treturn arr.map(val => Number(val));\n\t} else {\n\t\treturn sColor;\n\t}\n};\n\n// 将rgb表示方式转换为hex表示方式\nfunction rgbToHex(rgb) {\n\tlet _this = rgb;\n\tlet reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n\tif (/^(rgb|RGB)/.test(_this)) {\n\t\tlet aColor = _this.replace(/(?:\\(|\\)|rgb|RGB)*/g, \"\").split(\",\");\n\t\tlet strHex = \"#\";\n\t\tfor (let i = 0; i < aColor.length; i++) {\n\t\t\tlet hex = Number(aColor[i]).toString(16);\n\t\t\thex = String(hex).length == 1 ? 0 + '' + hex : hex; // 保证每个rgb的值为2位\n\t\t\tif (hex === \"0\") {\n\t\t\t\thex += hex;\n\t\t\t}\n\t\t\tstrHex += hex;\n\t\t}\n\t\tif (strHex.length !== 7) {\n\t\t\tstrHex = _this;\n\t\t}\n\t\treturn strHex;\n\t} else if (reg.test(_this)) {\n\t\tlet aNum = _this.replace(/#/, \"\").split(\"\");\n\t\tif (aNum.length === 6) {\n\t\t\treturn _this;\n\t\t} else if (aNum.length === 3) {\n\t\t\tlet numHex = \"#\";\n\t\t\tfor (let i = 0; i < aNum.length; i += 1) {\n\t\t\t\tnumHex += (aNum[i] + aNum[i]);\n\t\t\t}\n\t\t\treturn numHex;\n\t\t}\n\t} else {\n\t\treturn _this;\n\t}\n}\n\n\n/**\n* JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\n* sHex为传入的十六进制的色值\n* alpha为rgba的透明度\n*/\nfunction colorToRgba(color, alpha = 0.3) {\n\tcolor = rgbToHex(color)\n\t// 十六进制颜色值的正则表达式\n\tvar reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\n\t/* 16进制颜色转为RGB格式 */\n\tlet sColor = color.toLowerCase()\n\tif (sColor && reg.test(sColor)) {\n\t\tif (sColor.length === 4) {\n\t\t\tvar sColorNew = '#'\n\t\t\tfor (let i = 1; i < 4; i += 1) {\n\t\t\t\tsColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1))\n\t\t\t}\n\t\t\tsColor = sColorNew\n\t\t}\n\t\t// 处理六位的颜色值\n\t\tvar sColorChange = []\n\t\tfor (let i = 1; i < 7; i += 2) {\n\t\t\tsColorChange.push(parseInt('0x' + sColor.slice(i, i + 2)))\n\t\t}\n\t\t// return sColorChange.join(',')\n\t\treturn 'rgba(' + sColorChange.join(',') + ',' + alpha + ')'\n\t} \n\telse {\n\t\treturn sColor\n\t}\n}\n\nexport default {\n\tcolorGradient,\n\thexToRgb,\n\trgbToHex,\n\tcolorToRgba\n}","/**\n * 本算法来源于简书开源代码,详见:https://www.jianshu.com/p/fdbf293d0a85\n * 全局唯一标识符(uuid,Globally Unique Identifier),也称作 uuid(Universally Unique IDentifier) \n * 一般用于多个组件之间,给它一个唯一的标识符,或者v-for循环的时候,如果使用数组的index可能会导致更新列表出现问题\n * 最可能的情况是左滑删除item或者对某条信息流\"不喜欢\"并去掉它的时候,会导致组件内的数据可能出现错乱\n * v-for的时候,推荐使用后端返回的id而不是循环的index\n * @param {Number} len uuid的长度\n * @param {Boolean} firstU 将返回的首字母置为\"u\"\n * @param {Number} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制\n */\nfunction guid(len = 32, firstU = true, radix = null) {\n\tlet chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');\n\tlet uuid = [];\n\tradix = radix || chars.length;\n\n\tif (len) {\n\t\t// 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位\n\t\tfor (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];\n\t} else {\n\t\tlet r;\n\t\t// rfc4122标准要求返回的uuid中,某些位为固定的字符\n\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\n\t\tuuid[14] = '4';\n\n\t\tfor (let i = 0; i < 36; i++) {\n\t\t\tif (!uuid[i]) {\n\t\t\t\tr = 0 | Math.random() * 16;\n\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\n\t\t\t}\n\t\t}\n\t}\n\t// 移除第一个字符,并用u替代,因为第一个字符为数值时,该guid不能用作id或者class\n\tif (firstU) {\n\t\tuuid.shift();\n\t\treturn 'u' + uuid.join('');\n\t} else {\n\t\treturn uuid.join('');\n\t}\n}\n\nexport default guid;\n","// 为了让用户能够自定义主题,会逐步弃用此文件,各颜色通过css提供\n// 为了给某些特殊场景使用和向后兼容,无需删除此文件(2020-06-20)\nlet color = {\n\tprimary: \"#2979ff\",\n\tprimaryDark: \"#2b85e4\",\n\tprimaryDisabled: \"#a0cfff\",\n\tprimaryLight: \"#ecf5ff\",\n\tbgColor: \"#f3f4f6\",\n\t\n\tinfo: \"#909399\",\n\tinfoDark: \"#82848a\",\n\tinfoDisabled: \"#c8c9cc\",\n\tinfoLight: \"#f4f4f5\",\n\t\n\twarning: \"#ff9900\",\n\twarningDark: \"#f29100\",\n\twarningDisabled: \"#fcbd71\",\n\twarningLight: \"#fdf6ec\",\n\t\n\terror: \"#fa3534\",\n\terrorDark: \"#dd6161\",\n\terrorDisabled: \"#fab6b6\",\n\terrorLight: \"#fef0f0\",\n\t\n\tsuccess: \"#19be6b\",\n\tsuccessDark: \"#18b566\",\n\tsuccessDisabled: \"#71d5a1\",\n\tsuccessLight: \"#dbf1e1\",\n\t\n\tmainColor: \"#303133\",\n\tcontentColor: \"#606266\",\n\ttipsColor: \"#909399\",\n\tlightColor: \"#c0c4cc\",\n\tborderColor: \"#e4e7ed\"\n}\n\nexport default color;","/**\n * 根据主题type值,获取对应的图标\n * @param String type 主题名称,primary|info|error|warning|success\n * @param String fill 是否使用fill填充实体的图标 \n */\nfunction type2icon(type = 'success', fill = false) {\n\t// 如果非预置值,默认为success\n\tif (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success';\n\tlet iconName = '';\n\t// 目前(2019-12-12),info和primary使用同一个图标\n\tswitch (type) {\n\t\tcase 'primary':\n\t\t\ticonName = 'info-circle';\n\t\t\tbreak;\n\t\tcase 'info':\n\t\t\ticonName = 'info-circle';\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\ticonName = 'close-circle';\n\t\t\tbreak;\n\t\tcase 'warning':\n\t\t\ticonName = 'error-circle';\n\t\t\tbreak;\n\t\tcase 'success':\n\t\t\ticonName = 'checkmark-circle';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ticonName = 'checkmark-circle';\n\t}\n\t// 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的\n\tif (fill) iconName += '-fill';\n\treturn iconName;\n}\n\nexport default type2icon\n","// 打乱数组\nfunction randomArray(array = []) {\n\t// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0\n\treturn array.sort(() => Math.random() - 0.5);\n}\n\nexport default randomArray\n","import validation from './test.js';\n\n// 添加单位,如果有rpx,%,px等单位结尾或者值为auto,直接返回,否则加上rpx单位结尾\nexport default function addUnit(value = 'auto', unit = 'rpx') {\n value = String(value);\n\t// 用uView内置验证规则中的number判断是否为数值\n return validation.number(value) ? `${value}${unit}` : value;\n}","function random(min, max) {\n\tif (min >= 0 && max > 0 && max >= min) {\n\t\tlet gab = max - min + 1;\n\t\treturn Math.floor(Math.random() * gab + min);\n\t} else {\n\t\treturn 0;\n\t}\n}\n\nexport default random;\n","function trim(str, pos = 'both') {\n\tif (pos == 'both') {\n\t\treturn str.replace(/^\\s+|\\s+$/g, \"\");\n\t} else if (pos == \"left\") {\n\t\treturn str.replace(/^\\s*/, '');\n\t} else if (pos == 'right') {\n\t\treturn str.replace(/(\\s*$)/g, \"\");\n\t} else if (pos == 'all') {\n\t\treturn str.replace(/\\s+/g, \"\");\n\t} else {\n\t\treturn str;\n\t}\n}\n\nexport default trim\n","function toast(title, duration = 1500) {\n\tuni.showToast({\n\t\ttitle: title,\n\t\ticon: 'none',\n\t\tduration: duration\n\t})\n}\n\nexport default toast\n","// 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法\n// this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx\nexport default function getParent(name, keys) {\n\tlet parent = this.$parent;\n\t// 通过while历遍,这里主要是为了H5需要多层解析的问题\n\twhile (parent) {\n\t\t// 父组件\n\t\tif (parent.$options.name !== name) {\n\t\t\t// 如果组件的name不相等,继续上一级寻找\n\t\t\tparent = parent.$parent;\n\t\t} else {\n\t\t\tlet data = {};\n\t\t\t// 判断keys是否数组,如果传过来的是一个数组,那么直接使用数组元素值当做键值去父组件寻找\n\t\t\tif(Array.isArray(keys)) {\n\t\t\t\tkeys.map(val => {\n\t\t\t\t\tdata[val] = parent[val] ? parent[val] : '';\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\t// 历遍传过来的对象参数\n\t\t\t\tfor(let i in keys) {\n\t\t\t\t\t// 如果子组件有此值则用,无此值则用父组件的值\n\t\t\t\t\t// 判断是否空数组,如果是,则用父组件的值,否则用子组件的值\n\t\t\t\t\tif(Array.isArray(keys[i])) {\n\t\t\t\t\t\tif(keys[i].length) {\n\t\t\t\t\t\t\tdata[i] = keys[i];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdata[i] = parent[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(keys[i].constructor === Object) {\n\t\t\t\t\t\t// 判断是否对象,如果是对象,且有属性,那么使用子组件的值,否则使用父组件的值\n\t\t\t\t\t\tif(Object.keys(keys[i]).length) {\n\t\t\t\t\t\t\tdata[i] = keys[i];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdata[i] = parent[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// 只要子组件有传值,即使是false值,也是“传值”了,也需要覆盖父组件的同名参数\n\t\t\t\t\t\tdata[i] = (keys[i] || keys[i] === false) ? keys[i] : parent[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn data;\n\t\t}\n\t}\n\n\treturn {};\n}","// 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法\n// this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx\n// 这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name\n// 值(默认为undefined),就是查找最顶层的$parent\nexport default function $parent(name = undefined) {\n\tlet parent = this.$parent;\n\t// 通过while历遍,这里主要是为了H5需要多层解析的问题\n\twhile (parent) {\n\t\t// 父组件\n\t\tif (parent.$options && parent.$options.name !== name) {\n\t\t\t// 如果组件的name不相等,继续上一级寻找\n\t\t\tparent = parent.$parent;\n\t\t} else {\n\t\t\treturn parent;\n\t\t}\n\t}\n\treturn false;\n}","export function os() {\n\treturn uni.getSystemInfoSync().platform;\n};\n\nexport function sys() {\n\treturn uni.getSystemInfoSync();\n}\n\n\n","let timeout = null;\n\n/**\n * 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数\n * \n * @param {Function} func 要执行的回调函数 \n * @param {Number} wait 延时的时间\n * @param {Boolean} immediate 是否立即执行 \n * @return null\n */\nfunction debounce(func, wait = 500, immediate = false) {\n\t// 清除定时器\n\tif (timeout !== null) clearTimeout(timeout);\n\t// 立即执行,此类情况一般用不到\n\tif (immediate) {\n\t\tvar callNow = !timeout;\n\t\ttimeout = setTimeout(function() {\n\t\t\ttimeout = null;\n\t\t}, wait);\n\t\tif (callNow) typeof func === 'function' && func();\n\t} else {\n\t\t// 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时wait毫秒后执行func回调方法\n\t\ttimeout = setTimeout(function() {\n\t\t\ttypeof func === 'function' && func();\n\t\t}, wait);\n\t}\n}\n\nexport default debounce\n","let timer, flag;\n/**\n * 节流原理:在一定时间内,只能触发一次\n * \n * @param {Function} func 要执行的回调函数 \n * @param {Number} wait 延时的时间\n * @param {Boolean} immediate 是否立即执行\n * @return null\n */\nfunction throttle(func, wait = 500, immediate = true) {\n\tif (immediate) {\n\t\tif (!flag) {\n\t\t\tflag = true;\n\t\t\t// 如果是立即执行,则在wait毫秒内开始时执行\n\t\t\ttypeof func === 'function' && func();\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tflag = false;\n\t\t\t}, wait);\n\t\t}\n\t} else {\n\t\tif (!flag) {\n\t\t\tflag = true\n\t\t\t// 如果是非立即执行,则在wait毫秒内的结束处执行\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tflag = false\n\t\t\t\ttypeof func === 'function' && func();\n\t\t\t}, wait);\n\t\t}\n\t\t\n\t}\n};\nexport default throttle\n","// 此版本发布于2022-04-19\nlet version = '1.8.6';\n\nexport default {\n\tv: version,\n\tversion: version,\n\t// 主题名称\n\ttype: [\n\t\t'primary',\n\t\t'success',\n\t\t'info',\n\t\t'error',\n\t\t'warning'\n\t]\n}\n","// uniapp在H5中各API的z-index值如下:\n/**\n * actionsheet: 999\n * modal: 999\n * navigate: 998\n * tabbar: 998\n * toast: 999\n */\n\nexport default {\n\ttoast: 10090,\n\tnoNetwork: 10080,\n\t// popup包含popup,actionsheet,keyboard,picker的值\n\tpopup: 10075,\n\tmask: 10070,\n\tnavbar: 980,\n\ttopTips: 975,\n\tsticky: 970,\n\tindexListSticky: 965,\n}","uni.addInterceptor({\r\n returnValue (res) {\r\n if (!(!!res && (typeof res === \"object\" || typeof res === \"function\") && typeof res.then === \"function\")) {\r\n return res;\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then((res) => res[0] ? reject(res[0]) : resolve(res[1]));\r\n });\r\n },\r\n});","export default {\r\n\tonShareTimeline() {\r\n\t\tlet routes = getCurrentPages(); // 获取当前打开过的页面路由数组\r\n\t\tlet curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由\r\n\r\n\t\treturn {\r\n\t\t\tpath: '/pages/timeEnvironment/timeEnvironment',\r\n\t\t\t// path:\"/pages/index/index\", //不设置默认当前页面\r\n\t\t\ttitle: \"温室智慧云\",\r\n\t\t}\r\n\t},\r\n\tonShareAppMessage(res) {\r\n\t\t// console.log(res)\r\n\t\tlet routes = getCurrentPages(); // 获取当前打开过的页面路由数组\r\n\t\tlet curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由\r\n\t\t// console.log(curRoute+'?u_id='+uni.getStorageSync('u_id'))\r\n\t\treturn {\r\n\t\t\tpath: '/pages/timeEnvironment/timeEnvironment',\r\n\r\n\t\t\ttitle: \"温室智慧云\",\r\n\r\n\t\t\t// imageUrl: '',\r\n\t\t\t// query:'u_id='+uni.getStorageSync('u_id'),\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '分享成功'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '分享失败',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","import variable from '@/api/commonVariable.js'\r\n\r\n// 司机端接口\r\nlet api = {\r\n\r\n\t// 公共key\r\n\tbaseUrl: variable.baseUrl,\r\n\r\n\r\n\tuser_login: '/user/login', // 登录\r\n\tselFs_time: '/selFs/time', //主页查看施肥机历史数据\r\n\tuser_logout: '/user/logout', //退出\r\n\tuser_upload: '/user/upload', //上传logo\r\n\tupdate_user: \"/api/update/user\", //用户更新个人信息,修改昵称密码等\r\n\tsel_user: \"/api/sel/user\", //根据id查询用户信息\r\n\tgetFs_rtdata: \"/getFs/rtdata\", //主页查看施肥机实时数据\r\n\tselFs_time: \"/selFs/time\", //主页查看施肥机历史数据\r\n\tsel_eqbyid: \"/sel/eqbyid/\", //根据用户id查询对应的设备数据\r\n\tchart_fsdata: \"/chart/fsdata\", //实时数据折线图\r\n\tuser_update_pwd: \"/user/update/pwd\", //用户修改密码\r\n\r\n\treadFs_state: \"/readFs/state\", //根据设备ID获取实时数据\r\n\twriteFs: \"/writeFs\", //根据设备ID获取实时数据\r\n\treadFs_reg: \"/readFs/reg\", //根据设备ID获取实时数据\r\n\treadJinHuaControl_reg: \"/readJinHuaControl/reg\", //读取所有寄存器的状态值\r\n\twriteJinHuaControl_write: \"/writeJinHuaControl/write\", //控制器写入数据(金华)\r\n\tgetcontrol_rtdata: \"/getcontrol/rtdata\", //主页查看控制器实时数据\r\n\tgetcontrol_fsdata: \"/getcontrol/fsdata\", //控制器实时数据折线图\r\n\r\n\tgetcontrol_cpermission: '/getcontrol/cpermission', //根据设备id查询控制器权限\r\n\tgetControl_getState: '/readControl/getState', //控制器 设备运行状态\r\n\tgetReadControlliShuiControl: '/readControl/liShuiControl', //控制器 顶模和风机\r\n\t\r\n\treadControl_fiveControl:'/readControl/fiveControl',//读取(五防项目)控制器\r\n\tgetcontrol_wxgetpermission:'/getcontrol/wxgetpermission',//小程序手机控制权限数据\r\n\t\r\n\treadControl_solenoidValve1:'/readControl/solenoidValve1',//1#电磁阀\r\n\treadControl_solenoidValve2:'/readControl/solenoidValve2',//2#电磁阀\r\n\treadControl_solenoidValve3:'/readControl/solenoidValve3',//3#电磁阀\r\n\treadControl_solenoidValve4:'/readControl/solenoidValve4',//4#电磁阀\r\n\treadControl_solenoidValve5:'/readControl/solenoidValve5',//5#电磁阀\r\n\treadControl_solenoidValve6:'/readControl/solenoidValve6',//6#电磁阀\r\n\treadControl_solenoidValve7:'/readControl/solenoidValve7',//7#电磁阀\r\n\treadControl_solenoidValve8:'/readControl/solenoidValve8',//8#电磁阀\r\n\t\r\n\treadControl_readfilllight:'/readControl/readfilllight',//读取(补光灯)控制器\r\n\treadControl_readcirculationfan:'/readControl/readcirculationfan',//读取(环流风扇)控制器\r\n\treadControl_fanwetcurtain:'/readControl/fanwetcurtain',//读取(风机湿帘)控制器\r\n\t\r\n\treadControl_innercurtain:'/readControl/innercurtain',//内遮阳\r\n\treadControl_externalsunshade:'/readControl/externalsunshade',//外遮阳\r\n\treadControl_readskylight:'/readControl/readskylight',//通风窗\r\n\t\r\n\tcamera_gethls:'/camera/gethls',//获取摄像头得地址\r\n\tcamera_getphonehls:'/camera/getphonehls',//获取摄像头得地址 Copy Copy Copy Copy\r\n\t\r\n\treadFs_byid:'/readFs/byid',//查看用户施肥机名称信息\r\n\t\r\n\tgetcontrol_geteqetdata:'/getcontrol/geteqetdata',//小程序气象站显示\r\n\t\r\n\tgetcontrol_rtDatastation:'/getcontrol/rtDatastation',//主页查看控制器气象站实时数据 \r\n\t\r\n\treadControl_interiorthermalinsulation:'/readControl/interiorthermalinsulation',//读取(内保温)控制器 \r\n\r\n\r\n\t//countType计算类型 0是原数据 1是原数据-400 2是原数据/10 3是(原数据-400) / 10 4是(原数据-1000)/10\r\n\ttypeList: [{\r\n\t\t\tlabel: '无意义的传感器',\r\n\t\t\tvalue: 0,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '空气温度',\r\n\t\t\tvalue: 1,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '空气湿度',\r\n\t\t\tvalue: 2,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '光亮度',\r\n\t\t\tvalue: 3,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'Klux'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '二氧化碳',\r\n\t\t\tvalue: 4,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤温度',\r\n\t\t\tvalue: 5,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤湿度',\r\n\t\t\tvalue: 6,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '水温',\r\n\t\t\tvalue: 7,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '水肥PH',\r\n\t\t\tvalue: 8,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '水肥EC',\r\n\t\t\tvalue: 9,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mS/cm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '压差',\r\n\t\t\tvalue: 10,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'Pa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '风速',\r\n\t\t\tvalue: 11,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'm/s'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '风向',\r\n\t\t\tvalue: 12,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: '°'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '雨雪信号',\r\n\t\t\tvalue: 13,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '降雨量',\r\n\t\t\tvalue: 14,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '光合有效辐射',\r\n\t\t\tvalue: 15,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'umol/m2.s'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '太阳总辐射',\r\n\t\t\tvalue: 16,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'W/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '流量',\r\n\t\t\tvalue: 17,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'L/H'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '大气压强',\r\n\t\t\tvalue: 18,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'KPa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤PH',\r\n\t\t\tvalue: 19,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: ''\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤EC',\r\n\t\t\tvalue: 20,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'uS/cm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '叶面温度',\r\n\t\t\tvalue: 21,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '叶面湿度',\r\n\t\t\tvalue: 22,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '果实直径',\r\n\t\t\tvalue: 23,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '茎秆直径',\r\n\t\t\tvalue: 24,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '流速',\r\n\t\t\tvalue: 25,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'm/s'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '瞬时流量',\r\n\t\t\tvalue: 26,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'm3'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '当日流量',\r\n\t\t\tvalue: 27,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'T'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '累计流量',\r\n\t\t\tvalue: 28,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'T'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线气象站电池电压',\r\n\t\t\tvalue: 29,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'V'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线气象站无线信号强度',\r\n\t\t\tvalue: 30,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dBm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线气象站信噪比(SNR)',\r\n\t\t\tvalue: 31,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dB'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'PM1.0',\r\n\t\t\tvalue: 32,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'μg/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'PM2.5',\r\n\t\t\tvalue: 33,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'μg/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'PM10',\r\n\t\t\tvalue: 34,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'μg/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '紫外辐射',\r\n\t\t\tvalue: 35,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'W/m2'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '蒸发量',\r\n\t\t\tvalue: 36,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '负氧离子',\r\n\t\t\tvalue: 37,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: '个/cm3'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '露点温度',\r\n\t\t\tvalue: 38,\r\n\t\t\tcountType: 3,\r\n\t\t\tunit: '℃'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '设备电压',\r\n\t\t\tvalue: 39,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'V'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '设备电流',\r\n\t\t\tvalue: 40,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'A'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤氮含量',\r\n\t\t\tvalue: 41,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤磷含量',\r\n\t\t\tvalue: 42,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤钾含量',\r\n\t\t\tvalue: 43,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '管道压力',\r\n\t\t\tvalue: 44,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'Kpa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '一氧化碳',\r\n\t\t\tvalue: 45,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '氨气',\r\n\t\t\tvalue: 46,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '硫化氢',\r\n\t\t\tvalue: 47,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'ppm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '氧气',\r\n\t\t\tvalue: 48,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: '%vol'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '土壤张力',\r\n\t\t\tvalue: 49,\r\n\t\t\tcountType: 4,\r\n\t\t\tunit: 'KPa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '铜(CU)',\r\n\t\t\tvalue: 50,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '镉(CD)',\r\n\t\t\tvalue: 51,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '铅(PB)',\r\n\t\t\tvalue: 52,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mg/kg'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '噪声',\r\n\t\t\tvalue: 53,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'dB'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '叶面面积',\r\n\t\t\tvalue: 54,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: 'mm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '虫数量',\r\n\t\t\tvalue: 55,\r\n\t\t\tcountType: 0,\r\n\t\t\tunit: '个'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线传感器电池电压',\r\n\t\t\tvalue: 56,\r\n\t\t\tcountType: 2,\r\n\t\t\tunit: 'V'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线传感器无线信号强度',\r\n\t\t\tvalue: 57,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dBm'\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: '无线传感器信噪比(SNR)',\r\n\t\t\tvalue: 58,\r\n\t\t\tcountType: 1,\r\n\t\t\tunit: 'dB'\r\n\t\t},\r\n\t]\r\n}\r\n\r\n\r\nexport default api","// 可修改的公共变量\r\nlet type = 'app'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\ntype = \"wxMini\"\r\n\r\n\t\r\n\t// 在maps里面有一个地图的key,需要手动改变\r\nconst variable = {\r\n\r\n name: \"\", //应用名字\r\n whatType: type, //判断当前是哪端\r\n\t// baseUrl: \"http://hy.ecbeauty.cn\", //线上测试接口的基础路径\r\n\t\tbaseUrl: \"https://api.lihe-control.com\", //线上接口的基础路径\r\n\t\r\n\t\r\n mapKey: \"\", //jsapi\r\n webKey: '', //webApi\r\n wxMapKey: \"\", //小程序key\r\n socket: ''\r\n\r\n}\r\nexport default variable","import api from './driverapi.js'\r\nimport variable from '@/api/commonVariable.js'\r\n\r\nexport const myRequest = (options) => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tuni.request({\r\n\t\t\turl: api.baseUrl + options.url,\r\n\t\t\tmethod: options.method || 'POST',\r\n\t\t\theader: {\r\n\t\t\t\ttoken: uni.getStorageSync('token'),\r\n\t\t\t\t// terminal: variable.whatType,\r\n\t\t\t\t// 'Content-Type': 'application/x-www-form-urlencoded'\r\n\t\t\t},\r\n\t\t\tdata: options.data || {},\r\n\t\t\tsuccess: (res) => {\r\n\t\t\t\t\tresolve(res.data)\r\n\t\t\t\t\tif(res.data.code==200){\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (res.data.code == 401) {\r\n\t\t\t\t\r\n\t\t\t\t\t\tuni.reLaunch({\r\n\t\t\t\t\t\t\turl: '/pages/login/login'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tuni.removeStorage({\r\n\t\t\t\t\t\t\tkey: 'token',\r\n\t\t\t\t\t\t\tsuccess() {\r\n\t\t\t\t\t\t\t\tuni.removeStorage({\r\n\t\t\t\t\t\t\t\t\tkey: 'user_info',\r\n\t\t\t\t\t\t\t\t\tsuccess() {\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tuni.hideLoading()\r\n\t\t\t\t\t\tuni.stopPullDownRefresh();\r\n\t\t\t\t\t\t// uni.showToast({\r\n\t\t\t\t\t\t// \ticon:'none',\r\n\t\t\t\t\t\t// \ttitle: res.data.msg,\r\n\t\t\t\t\t\t// \tduration: 2000,\r\n\t\t\t\t\t\t// })\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 接口成功可以在此写成功需要的步骤\r\n\t\t\t\t\tif (res.data.code != 1) {\r\n\t\t\t\t\t\t// uni.showToast({\r\n\t\t\t\t\t\t// \ttitle: res.data.msg,\r\n\t\t\t\t\t\t// \ticon: 'none'\r\n\t\t\t\t\t\t// });\r\n\t\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tfail: (err) => {\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '请求接口失败',\r\n\t\t\t\t\ticon: 'none'\r\n\t\t\t\t})\r\n\t\t\t\treject(err)\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n","/**\n * 递归使用 call 方式this指向\n * @param componentName // 需要找的组件的名称\n * @param eventName // 事件名称\n * @param params // 需要传递的参数\n */\nfunction broadcast(componentName, eventName, params) {\n // 循环子节点找到名称一样的子节点 否则 递归 当前子节点\n this.$children.map(child=>{\n if (componentName===child.$options.name) {\n child.$emit.apply(child,[eventName].concat(params))\n }else {\n broadcast.apply(child,[componentName,eventName].concat(params))\n }\n })\n}\nexport default {\n methods: {\n /**\n * 派发 (向上查找) (一个)\n * @param componentName // 需要找的组件的名称\n * @param eventName // 事件名称\n * @param params // 需要传递的参数\n */\n dispatch(componentName, eventName, params) {\n let parent = this.$parent || this.$root;//$parent 找到最近的父节点 $root 根节点\n let name = parent.$options.name; // 获取当前组件实例的name\n // 如果当前有节点 && 当前没名称 且 当前名称等于需要传进来的名称的时候就去查找当前的节点\n // 循环出当前名称的一样的组件实例\n while (parent && (!name||name!==componentName)) {\n parent = parent.$parent;\n if (parent) {\n name = parent.$options.name;\n }\n }\n // 有节点表示当前找到了name一样的实例\n if (parent) {\n parent.$emit.apply(parent,[eventName].concat(params))\n }\n },\n /**\n * 广播 (向下查找) (广播多个)\n * @param componentName // 需要找的组件的名称\n * @param eventName // 事件名称\n * @param params // 需要传递的参数\n */\n broadcast(componentName, eventName, params) {\n broadcast.call(this,componentName, eventName, params)\n }\n }\n}\n","function _extends() {\n\t_extends = Object.assign || function(target) {\n\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\tvar source = arguments[i];\n\n\t\t\tfor (var key in source) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\t\t\ttarget[key] = source[key];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t};\n\n\treturn _extends.apply(this, arguments);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !==\n\t'undefined' && typeof document !== 'undefined') {\n\twarning = function warning(type, errors) {\n\t\tif (typeof console !== 'undefined' && console.warn) {\n\t\t\tif (errors.every(function(e) {\n\t\t\t\t\treturn typeof e === 'string';\n\t\t\t\t})) {\n\t\t\t\tconsole.warn(type, errors);\n\t\t\t}\n\t\t}\n\t};\n}\n\nfunction convertFieldsError(errors) {\n\tif (!errors || !errors.length) return null;\n\tvar fields = {};\n\terrors.forEach(function(error) {\n\t\tvar field = error.field;\n\t\tfields[field] = fields[field] || [];\n\t\tfields[field].push(error);\n\t});\n\treturn fields;\n}\n\nfunction format() {\n\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n\t\targs[_key] = arguments[_key];\n\t}\n\n\tvar i = 1;\n\tvar f = args[0];\n\tvar len = args.length;\n\n\tif (typeof f === 'function') {\n\t\treturn f.apply(null, args.slice(1));\n\t}\n\n\tif (typeof f === 'string') {\n\t\tvar str = String(f).replace(formatRegExp, function(x) {\n\t\t\tif (x === '%%') {\n\t\t\t\treturn '%';\n\t\t\t}\n\n\t\t\tif (i >= len) {\n\t\t\t\treturn x;\n\t\t\t}\n\n\t\t\tswitch (x) {\n\t\t\t\tcase '%s':\n\t\t\t\t\treturn String(args[i++]);\n\n\t\t\t\tcase '%d':\n\t\t\t\t\treturn Number(args[i++]);\n\n\t\t\t\tcase '%j':\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn JSON.stringify(args[i++]);\n\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\treturn '[Circular]';\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn x;\n\t\t\t}\n\t\t});\n\n\t\tfor (var arg = args[i]; i < len; arg = args[++i]) {\n\t\t\tstr += \" \" + arg;\n\t\t}\n\n\t\treturn str;\n\t}\n\n\treturn f;\n}\n\nfunction isNativeStringType(type) {\n\treturn type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n\tif (value === undefined || value === null) {\n\t\treturn true;\n\t}\n\n\tif (type === 'array' && Array.isArray(value) && !value.length) {\n\t\treturn true;\n\t}\n\n\tif (isNativeStringType(type) && typeof value === 'string' && !value) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n\tvar results = [];\n\tvar total = 0;\n\tvar arrLength = arr.length;\n\n\tfunction count(errors) {\n\t\tresults.push.apply(results, errors);\n\t\ttotal++;\n\n\t\tif (total === arrLength) {\n\t\t\tcallback(results);\n\t\t}\n\t}\n\n\tarr.forEach(function(a) {\n\t\tfunc(a, count);\n\t});\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n\tvar index = 0;\n\tvar arrLength = arr.length;\n\n\tfunction next(errors) {\n\t\tif (errors && errors.length) {\n\t\t\tcallback(errors);\n\t\t\treturn;\n\t\t}\n\n\t\tvar original = index;\n\t\tindex = index + 1;\n\n\t\tif (original < arrLength) {\n\t\t\tfunc(arr[original], next);\n\t\t} else {\n\t\t\tcallback([]);\n\t\t}\n\t}\n\n\tnext([]);\n}\n\nfunction flattenObjArr(objArr) {\n\tvar ret = [];\n\tObject.keys(objArr).forEach(function(k) {\n\t\tret.push.apply(ret, objArr[k]);\n\t});\n\treturn ret;\n}\n\nfunction asyncMap(objArr, option, func, callback) {\n\tif (option.first) {\n\t\tvar _pending = new Promise(function(resolve, reject) {\n\t\t\tvar next = function next(errors) {\n\t\t\t\tcallback(errors);\n\t\t\t\treturn errors.length ? reject({\n\t\t\t\t\terrors: errors,\n\t\t\t\t\tfields: convertFieldsError(errors)\n\t\t\t\t}) : resolve();\n\t\t\t};\n\n\t\t\tvar flattenArr = flattenObjArr(objArr);\n\t\t\tasyncSerialArray(flattenArr, func, next);\n\t\t});\n\n\t\t_pending[\"catch\"](function(e) {\n\t\t\treturn e;\n\t\t});\n\n\t\treturn _pending;\n\t}\n\n\tvar firstFields = option.firstFields || [];\n\n\tif (firstFields === true) {\n\t\tfirstFields = Object.keys(objArr);\n\t}\n\n\tvar objArrKeys = Object.keys(objArr);\n\tvar objArrLength = objArrKeys.length;\n\tvar total = 0;\n\tvar results = [];\n\tvar pending = new Promise(function(resolve, reject) {\n\t\tvar next = function next(errors) {\n\t\t\tresults.push.apply(results, errors);\n\t\t\ttotal++;\n\n\t\t\tif (total === objArrLength) {\n\t\t\t\tcallback(results);\n\t\t\t\treturn results.length ? reject({\n\t\t\t\t\terrors: results,\n\t\t\t\t\tfields: convertFieldsError(results)\n\t\t\t\t}) : resolve();\n\t\t\t}\n\t\t};\n\n\t\tif (!objArrKeys.length) {\n\t\t\tcallback(results);\n\t\t\tresolve();\n\t\t}\n\n\t\tobjArrKeys.forEach(function(key) {\n\t\t\tvar arr = objArr[key];\n\n\t\t\tif (firstFields.indexOf(key) !== -1) {\n\t\t\t\tasyncSerialArray(arr, func, next);\n\t\t\t} else {\n\t\t\t\tasyncParallelArray(arr, func, next);\n\t\t\t}\n\t\t});\n\t});\n\tpending[\"catch\"](function(e) {\n\t\treturn e;\n\t});\n\treturn pending;\n}\n\nfunction complementError(rule) {\n\treturn function(oe) {\n\t\tif (oe && oe.message) {\n\t\t\toe.field = oe.field || rule.fullField;\n\t\t\treturn oe;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: typeof oe === 'function' ? oe() : oe,\n\t\t\tfield: oe.field || rule.fullField\n\t\t};\n\t};\n}\n\nfunction deepMerge(target, source) {\n\tif (source) {\n\t\tfor (var s in source) {\n\t\t\tif (source.hasOwnProperty(s)) {\n\t\t\t\tvar value = source[s];\n\n\t\t\t\tif (typeof value === 'object' && typeof target[s] === 'object') {\n\t\t\t\t\ttarget[s] = _extends({}, target[s], {}, value);\n\t\t\t\t} else {\n\t\t\t\t\ttarget[s] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn target;\n}\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction required(rule, value, source, errors, options, type) {\n\tif (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n\t\terrors.push(format(options.messages.required, rule.fullField));\n\t}\n}\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n\tif (/^\\s+$/.test(value) || value === '') {\n\t\terrors.push(format(options.messages.whitespace, rule.fullField));\n\t}\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n\t// http://emailregex.com/\n\temail: /^(([^<>()\\[\\]\\\\.,;:\\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,}))$/,\n\turl: new RegExp(\n\t\t\"^(?!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]*)?$\",\n\t\t'i'),\n\thex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n\tinteger: function integer(value) {\n\t\treturn types.number(value) && parseInt(value, 10) === value;\n\t},\n\t\"float\": function float(value) {\n\t\treturn types.number(value) && !types.integer(value);\n\t},\n\tarray: function array(value) {\n\t\treturn Array.isArray(value);\n\t},\n\tregexp: function regexp(value) {\n\t\tif (value instanceof RegExp) {\n\t\t\treturn true;\n\t\t}\n\n\t\ttry {\n\t\t\treturn !!new RegExp(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t},\n\tdate: function date(value) {\n\t\treturn typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear ===\n\t\t\t'function';\n\t},\n\tnumber: function number(value) {\n\t\tif (isNaN(value)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// 修改源码,将字符串数值先转为数值\n\t\treturn typeof +value === 'number';\n\t},\n\tobject: function object(value) {\n\t\treturn typeof value === 'object' && !types.array(value);\n\t},\n\tmethod: function method(value) {\n\t\treturn typeof value === 'function';\n\t},\n\temail: function email(value) {\n\t\treturn typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n\t},\n\turl: function url(value) {\n\t\treturn typeof value === 'string' && !!value.match(pattern.url);\n\t},\n\thex: function hex(value) {\n\t\treturn typeof value === 'string' && !!value.match(pattern.hex);\n\t}\n};\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction type(rule, value, source, errors, options) {\n\tif (rule.required && value === undefined) {\n\t\trequired(rule, value, source, errors, options);\n\t\treturn;\n\t}\n\n\tvar custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n\tvar ruleType = rule.type;\n\n\tif (custom.indexOf(ruleType) > -1) {\n\t\tif (!types[ruleType](value)) {\n\t\t\terrors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n\t\t} // straight typeof check\n\n\t} else if (ruleType && typeof value !== rule.type) {\n\t\terrors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n\t}\n}\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction range(rule, value, source, errors, options) {\n\tvar len = typeof rule.len === 'number';\n\tvar min = typeof rule.min === 'number';\n\tvar max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n\tvar spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\tvar val = value;\n\tvar key = null;\n\tvar num = typeof value === 'number';\n\tvar str = typeof value === 'string';\n\tvar arr = Array.isArray(value);\n\n\tif (num) {\n\t\tkey = 'number';\n\t} else if (str) {\n\t\tkey = 'string';\n\t} else if (arr) {\n\t\tkey = 'array';\n\t} // if the value is not of a supported type for range validation\n\t// the validation rule rule should use the\n\t// type property to also test for a particular type\n\n\n\tif (!key) {\n\t\treturn false;\n\t}\n\n\tif (arr) {\n\t\tval = value.length;\n\t}\n\n\tif (str) {\n\t\t// 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".length !== 3\n\t\tval = value.replace(spRegexp, '_').length;\n\t}\n\n\tif (len) {\n\t\tif (val !== rule.len) {\n\t\t\terrors.push(format(options.messages[key].len, rule.fullField, rule.len));\n\t\t}\n\t} else if (min && !max && val < rule.min) {\n\t\terrors.push(format(options.messages[key].min, rule.fullField, rule.min));\n\t} else if (max && !min && val > rule.max) {\n\t\terrors.push(format(options.messages[key].max, rule.fullField, rule.max));\n\t} else if (min && max && (val < rule.min || val > rule.max)) {\n\t\terrors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n\t}\n}\n\nvar ENUM = 'enum';\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n\trule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n\tif (rule[ENUM].indexOf(value) === -1) {\n\t\terrors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n\t}\n}\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n\tif (rule.pattern) {\n\t\tif (rule.pattern instanceof RegExp) {\n\t\t\t// if a RegExp instance is passed, reset `lastIndex` in case its `global`\n\t\t\t// flag is accidentally set to `true`, which in a validation scenario\n\t\t\t// is not necessary and the result might be misleading\n\t\t\trule.pattern.lastIndex = 0;\n\n\t\t\tif (!rule.pattern.test(value)) {\n\t\t\t\terrors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n\t\t\t}\n\t\t} else if (typeof rule.pattern === 'string') {\n\t\t\tvar _pattern = new RegExp(rule.pattern);\n\n\t\t\tif (!_pattern.test(value)) {\n\t\t\t\terrors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar rules = {\n\trequired: required,\n\twhitespace: whitespace,\n\ttype: type,\n\trange: range,\n\t\"enum\": enumerable,\n\tpattern: pattern$1\n};\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction string(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, 'string') && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options, 'string');\n\n\t\tif (!isEmptyValue(value, 'string')) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t\trules.pattern(rule, value, source, errors, options);\n\n\t\t\tif (rule.whitespace === true) {\n\t\t\t\trules.whitespace(rule, value, source, errors, options);\n\t\t\t}\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction method(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction number(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (value === '') {\n\t\t\tvalue = undefined;\n\t\t}\n\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction regexp(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (!isEmptyValue(value)) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction integer(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction array(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, 'array') && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options, 'array');\n\n\t\tif (!isEmptyValue(value, 'array')) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t\trules.range(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction object(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\nvar ENUM$1 = 'enum';\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (value !== undefined) {\n\t\t\trules[ENUM$1](rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, 'string') && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (!isEmptyValue(value, 'string')) {\n\t\t\trules.pattern(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\nfunction date(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); \n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\n\t\tif (!isEmptyValue(value)) {\n\t\t\tvar dateObject;\n\n\t\t\tif (typeof value === 'number') {\n\t\t\t\tdateObject = new Date(value);\n\t\t\t} else {\n\t\t\t\tdateObject = value;\n\t\t\t}\n\n\t\t\trules.type(rule, dateObject, source, errors, options);\n\n\t\t\tif (dateObject) {\n\t\t\t\trules.range(rule, dateObject.getTime(), source, errors, options);\n\t\t\t}\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar type = Array.isArray(value) ? 'array' : typeof value;\n\trules.required(rule, value, source, errors, options, type);\n\tcallback(errors);\n}\n\nfunction type$1(rule, value, callback, source, options) {\n\tvar ruleType = rule.type;\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value, ruleType) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options, ruleType);\n\n\t\tif (!isEmptyValue(value, ruleType)) {\n\t\t\trules.type(rule, value, source, errors, options);\n\t\t}\n\t}\n\n\tcallback(errors);\n}\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction any(rule, value, callback, source, options) {\n\tvar errors = [];\n\tvar validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n\tif (validate) {\n\t\tif (isEmptyValue(value) && !rule.required) {\n\t\t\treturn callback();\n\t\t}\n\n\t\trules.required(rule, value, source, errors, options);\n\t}\n\n\tcallback(errors);\n}\n\nvar validators = {\n\tstring: string,\n\tmethod: method,\n\tnumber: number,\n\t\"boolean\": _boolean,\n\tregexp: regexp,\n\tinteger: integer,\n\t\"float\": floatFn,\n\tarray: array,\n\tobject: object,\n\t\"enum\": enumerable$1,\n\tpattern: pattern$2,\n\tdate: date,\n\turl: type$1,\n\thex: type$1,\n\temail: type$1,\n\trequired: required$1,\n\tany: any\n};\n\nfunction newMessages() {\n\treturn {\n\t\t\"default\": 'Validation error on field %s',\n\t\trequired: '%s is required',\n\t\t\"enum\": '%s must be one of %s',\n\t\twhitespace: '%s cannot be empty',\n\t\tdate: {\n\t\t\tformat: '%s date %s is invalid for format %s',\n\t\t\tparse: '%s date could not be parsed, %s is invalid ',\n\t\t\tinvalid: '%s date %s is invalid'\n\t\t},\n\t\ttypes: {\n\t\t\tstring: '%s is not a %s',\n\t\t\tmethod: '%s is not a %s (function)',\n\t\t\tarray: '%s is not an %s',\n\t\t\tobject: '%s is not an %s',\n\t\t\tnumber: '%s is not a %s',\n\t\t\tdate: '%s is not a %s',\n\t\t\t\"boolean\": '%s is not a %s',\n\t\t\tinteger: '%s is not an %s',\n\t\t\t\"float\": '%s is not a %s',\n\t\t\tregexp: '%s is not a valid %s',\n\t\t\temail: '%s is not a valid %s',\n\t\t\turl: '%s is not a valid %s',\n\t\t\thex: '%s is not a valid %s'\n\t\t},\n\t\tstring: {\n\t\t\tlen: '%s must be exactly %s characters',\n\t\t\tmin: '%s must be at least %s characters',\n\t\t\tmax: '%s cannot be longer than %s characters',\n\t\t\trange: '%s must be between %s and %s characters'\n\t\t},\n\t\tnumber: {\n\t\t\tlen: '%s must equal %s',\n\t\t\tmin: '%s cannot be less than %s',\n\t\t\tmax: '%s cannot be greater than %s',\n\t\t\trange: '%s must be between %s and %s'\n\t\t},\n\t\tarray: {\n\t\t\tlen: '%s must be exactly %s in length',\n\t\t\tmin: '%s cannot be less than %s in length',\n\t\t\tmax: '%s cannot be greater than %s in length',\n\t\t\trange: '%s must be between %s and %s in length'\n\t\t},\n\t\tpattern: {\n\t\t\tmismatch: '%s value %s does not match pattern %s'\n\t\t},\n\t\tclone: function clone() {\n\t\t\tvar cloned = JSON.parse(JSON.stringify(this));\n\t\t\tcloned.clone = this.clone;\n\t\t\treturn cloned;\n\t\t}\n\t};\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n\tthis.rules = null;\n\tthis._messages = messages;\n\tthis.define(descriptor);\n}\n\nSchema.prototype = {\n\tmessages: function messages(_messages) {\n\t\tif (_messages) {\n\t\t\tthis._messages = deepMerge(newMessages(), _messages);\n\t\t}\n\n\t\treturn this._messages;\n\t},\n\tdefine: function define(rules) {\n\t\tif (!rules) {\n\t\t\tthrow new Error('Cannot configure a schema with no rules');\n\t\t}\n\n\t\tif (typeof rules !== 'object' || Array.isArray(rules)) {\n\t\t\tthrow new Error('Rules must be an object');\n\t\t}\n\n\t\tthis.rules = {};\n\t\tvar z;\n\t\tvar item;\n\n\t\tfor (z in rules) {\n\t\t\tif (rules.hasOwnProperty(z)) {\n\t\t\t\titem = rules[z];\n\t\t\t\tthis.rules[z] = Array.isArray(item) ? item : [item];\n\t\t\t}\n\t\t}\n\t},\n\tvalidate: function validate(source_, o, oc) {\n\t\tvar _this = this;\n\n\t\tif (o === void 0) {\n\t\t\to = {};\n\t\t}\n\n\t\tif (oc === void 0) {\n\t\t\toc = function oc() {};\n\t\t}\n\n\t\tvar source = source_;\n\t\tvar options = o;\n\t\tvar callback = oc;\n\n\t\tif (typeof options === 'function') {\n\t\t\tcallback = options;\n\t\t\toptions = {};\n\t\t}\n\n\t\tif (!this.rules || Object.keys(this.rules).length === 0) {\n\t\t\tif (callback) {\n\t\t\t\tcallback();\n\t\t\t}\n\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tfunction complete(results) {\n\t\t\tvar i;\n\t\t\tvar errors = [];\n\t\t\tvar fields = {};\n\n\t\t\tfunction add(e) {\n\t\t\t\tif (Array.isArray(e)) {\n\t\t\t\t\tvar _errors;\n\n\t\t\t\t\terrors = (_errors = errors).concat.apply(_errors, e);\n\t\t\t\t} else {\n\t\t\t\t\terrors.push(e);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0; i < results.length; i++) {\n\t\t\t\tadd(results[i]);\n\t\t\t}\n\n\t\t\tif (!errors.length) {\n\t\t\t\terrors = null;\n\t\t\t\tfields = null;\n\t\t\t} else {\n\t\t\t\tfields = convertFieldsError(errors);\n\t\t\t}\n\n\t\t\tcallback(errors, fields);\n\t\t}\n\n\t\tif (options.messages) {\n\t\t\tvar messages$1 = this.messages();\n\n\t\t\tif (messages$1 === messages) {\n\t\t\t\tmessages$1 = newMessages();\n\t\t\t}\n\n\t\t\tdeepMerge(messages$1, options.messages);\n\t\t\toptions.messages = messages$1;\n\t\t} else {\n\t\t\toptions.messages = this.messages();\n\t\t}\n\n\t\tvar arr;\n\t\tvar value;\n\t\tvar series = {};\n\t\tvar keys = options.keys || Object.keys(this.rules);\n\t\tkeys.forEach(function(z) {\n\t\t\tarr = _this.rules[z];\n\t\t\tvalue = source[z];\n\t\t\tarr.forEach(function(r) {\n\t\t\t\tvar rule = r;\n\n\t\t\t\tif (typeof rule.transform === 'function') {\n\t\t\t\t\tif (source === source_) {\n\t\t\t\t\t\tsource = _extends({}, source);\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = source[z] = rule.transform(value);\n\t\t\t\t}\n\n\t\t\t\tif (typeof rule === 'function') {\n\t\t\t\t\trule = {\n\t\t\t\t\t\tvalidator: rule\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\trule = _extends({}, rule);\n\t\t\t\t}\n\n\t\t\t\trule.validator = _this.getValidationMethod(rule);\n\t\t\t\trule.field = z;\n\t\t\t\trule.fullField = rule.fullField || z;\n\t\t\t\trule.type = _this.getType(rule);\n\n\t\t\t\tif (!rule.validator) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tseries[z] = series[z] || [];\n\t\t\t\tseries[z].push({\n\t\t\t\t\trule: rule,\n\t\t\t\t\tvalue: value,\n\t\t\t\t\tsource: source,\n\t\t\t\t\tfield: z\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tvar errorFields = {};\n\t\treturn asyncMap(series, options, function(data, doIt) {\n\t\t\tvar rule = data.rule;\n\t\t\tvar deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField ===\n\t\t\t\t'object');\n\t\t\tdeep = deep && (rule.required || !rule.required && data.value);\n\t\t\trule.field = data.field;\n\n\t\t\tfunction addFullfield(key, schema) {\n\t\t\t\treturn _extends({}, schema, {\n\t\t\t\t\tfullField: rule.fullField + \".\" + key\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tfunction cb(e) {\n\t\t\t\tif (e === void 0) {\n\t\t\t\t\te = [];\n\t\t\t\t}\n\n\t\t\t\tvar errors = e;\n\n\t\t\t\tif (!Array.isArray(errors)) {\n\t\t\t\t\terrors = [errors];\n\t\t\t\t}\n\n\t\t\t\tif (!options.suppressWarning && errors.length) {\n\t\t\t\t\tSchema.warning('async-validator:', errors);\n\t\t\t\t}\n\n\t\t\t\tif (errors.length && rule.message) {\n\t\t\t\t\terrors = [].concat(rule.message);\n\t\t\t\t}\n\n\t\t\t\terrors = errors.map(complementError(rule));\n\n\t\t\t\tif (options.first && errors.length) {\n\t\t\t\t\terrorFields[rule.field] = 1;\n\t\t\t\t\treturn doIt(errors);\n\t\t\t\t}\n\n\t\t\t\tif (!deep) {\n\t\t\t\t\tdoIt(errors);\n\t\t\t\t} else {\n\t\t\t\t\t// if rule is required but the target object\n\t\t\t\t\t// does not exist fail at the rule level and don't\n\t\t\t\t\t// go deeper\n\t\t\t\t\tif (rule.required && !data.value) {\n\t\t\t\t\t\tif (rule.message) {\n\t\t\t\t\t\t\terrors = [].concat(rule.message).map(complementError(rule));\n\t\t\t\t\t\t} else if (options.error) {\n\t\t\t\t\t\t\terrors = [options.error(rule, format(options.messages.required, rule.field))];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrors = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn doIt(errors);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar fieldsSchema = {};\n\n\t\t\t\t\tif (rule.defaultField) {\n\t\t\t\t\t\tfor (var k in data.value) {\n\t\t\t\t\t\t\tif (data.value.hasOwnProperty(k)) {\n\t\t\t\t\t\t\t\tfieldsSchema[k] = rule.defaultField;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfieldsSchema = _extends({}, fieldsSchema, {}, data.rule.fields);\n\n\t\t\t\t\tfor (var f in fieldsSchema) {\n\t\t\t\t\t\tif (fieldsSchema.hasOwnProperty(f)) {\n\t\t\t\t\t\t\tvar fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n\t\t\t\t\t\t\tfieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar schema = new Schema(fieldsSchema);\n\t\t\t\t\tschema.messages(options.messages);\n\n\t\t\t\t\tif (data.rule.options) {\n\t\t\t\t\t\tdata.rule.options.messages = options.messages;\n\t\t\t\t\t\tdata.rule.options.error = options.error;\n\t\t\t\t\t}\n\n\t\t\t\t\tschema.validate(data.value, data.rule.options || options, function(errs) {\n\t\t\t\t\t\tvar finalErrors = [];\n\n\t\t\t\t\t\tif (errors && errors.length) {\n\t\t\t\t\t\t\tfinalErrors.push.apply(finalErrors, errors);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (errs && errs.length) {\n\t\t\t\t\t\t\tfinalErrors.push.apply(finalErrors, errs);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdoIt(finalErrors.length ? finalErrors : null);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar res;\n\n\t\t\tif (rule.asyncValidator) {\n\t\t\t\tres = rule.asyncValidator(rule, data.value, cb, data.source, options);\n\t\t\t} else if (rule.validator) {\n\t\t\t\tres = rule.validator(rule, data.value, cb, data.source, options);\n\n\t\t\t\tif (res === true) {\n\t\t\t\t\tcb();\n\t\t\t\t} else if (res === false) {\n\t\t\t\t\tcb(rule.message || rule.field + \" fails\");\n\t\t\t\t} else if (res instanceof Array) {\n\t\t\t\t\tcb(res);\n\t\t\t\t} else if (res instanceof Error) {\n\t\t\t\t\tcb(res.message);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (res && res.then) {\n\t\t\t\tres.then(function() {\n\t\t\t\t\treturn cb();\n\t\t\t\t}, function(e) {\n\t\t\t\t\treturn cb(e);\n\t\t\t\t});\n\t\t\t}\n\t\t}, function(results) {\n\t\t\tcomplete(results);\n\t\t});\n\t},\n\tgetType: function getType(rule) {\n\t\tif (rule.type === undefined && rule.pattern instanceof RegExp) {\n\t\t\trule.type = 'pattern';\n\t\t}\n\n\t\tif (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n\t\t\tthrow new Error(format('Unknown rule type %s', rule.type));\n\t\t}\n\n\t\treturn rule.type || 'string';\n\t},\n\tgetValidationMethod: function getValidationMethod(rule) {\n\t\tif (typeof rule.validator === 'function') {\n\t\t\treturn rule.validator;\n\t\t}\n\n\t\tvar keys = Object.keys(rule);\n\t\tvar messageIndex = keys.indexOf('message');\n\n\t\tif (messageIndex !== -1) {\n\t\t\tkeys.splice(messageIndex, 1);\n\t\t}\n\n\t\tif (keys.length === 1 && keys[0] === 'required') {\n\t\t\treturn validators.required;\n\t\t}\n\n\t\treturn validators[this.getType(rule)] || false;\n\t}\n};\n\nSchema.register = function register(type, validator) {\n\tif (typeof validator !== 'function') {\n\t\tthrow new Error('Cannot register a validator by type, validator is not a function');\n\t}\n\n\tvalidators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\n\nexport default Schema;\n//# sourceMappingURL=index.js.map\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","import e from\"@/pages.json\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var s=n((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},r=s.lib={},i=r.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=i.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(var i=0;i>>2]>>>24-i%4*8&255;t[s+i>>>2]|=o<<24-(s+i)%4*8}else for(i=0;i>>2]=n[i>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,s=[],r=function(t){t=t;var n=987654321,s=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},i=0;i>>2]>>>24-r%4*8&255;s.push((i>>>4).toString(16)),s.push((15&i).toString(16))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new o.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(i))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new o.init(n,t)}},h=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},l=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,r=n.sigBytes,i=this.blockSize,a=r/(4*i),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*i,u=e.min(4*c,r);if(c){for(var h=0;h>>24)|4278255360&(r<<24|r>>>8)}var i=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],f=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],v=e[t+9],I=e[t+10],S=e[t+11],b=e[t+12],k=e[t+13],A=e[t+14],P=e[t+15],T=i[0],C=i[1],x=i[2],O=i[3];T=u(T,C,x,O,o,7,a[0]),O=u(O,T,C,x,c,12,a[1]),x=u(x,O,T,C,p,17,a[2]),C=u(C,x,O,T,f,22,a[3]),T=u(T,C,x,O,g,7,a[4]),O=u(O,T,C,x,m,12,a[5]),x=u(x,O,T,C,y,17,a[6]),C=u(C,x,O,T,_,22,a[7]),T=u(T,C,x,O,w,7,a[8]),O=u(O,T,C,x,v,12,a[9]),x=u(x,O,T,C,I,17,a[10]),C=u(C,x,O,T,S,22,a[11]),T=u(T,C,x,O,b,7,a[12]),O=u(O,T,C,x,k,12,a[13]),x=u(x,O,T,C,A,17,a[14]),T=h(T,C=u(C,x,O,T,P,22,a[15]),x,O,c,5,a[16]),O=h(O,T,C,x,y,9,a[17]),x=h(x,O,T,C,S,14,a[18]),C=h(C,x,O,T,o,20,a[19]),T=h(T,C,x,O,m,5,a[20]),O=h(O,T,C,x,I,9,a[21]),x=h(x,O,T,C,P,14,a[22]),C=h(C,x,O,T,g,20,a[23]),T=h(T,C,x,O,v,5,a[24]),O=h(O,T,C,x,A,9,a[25]),x=h(x,O,T,C,f,14,a[26]),C=h(C,x,O,T,w,20,a[27]),T=h(T,C,x,O,k,5,a[28]),O=h(O,T,C,x,p,9,a[29]),x=h(x,O,T,C,_,14,a[30]),T=l(T,C=h(C,x,O,T,b,20,a[31]),x,O,m,4,a[32]),O=l(O,T,C,x,w,11,a[33]),x=l(x,O,T,C,S,16,a[34]),C=l(C,x,O,T,A,23,a[35]),T=l(T,C,x,O,c,4,a[36]),O=l(O,T,C,x,g,11,a[37]),x=l(x,O,T,C,_,16,a[38]),C=l(C,x,O,T,I,23,a[39]),T=l(T,C,x,O,k,4,a[40]),O=l(O,T,C,x,o,11,a[41]),x=l(x,O,T,C,f,16,a[42]),C=l(C,x,O,T,y,23,a[43]),T=l(T,C,x,O,v,4,a[44]),O=l(O,T,C,x,b,11,a[45]),x=l(x,O,T,C,P,16,a[46]),T=d(T,C=l(C,x,O,T,p,23,a[47]),x,O,o,6,a[48]),O=d(O,T,C,x,_,10,a[49]),x=d(x,O,T,C,A,15,a[50]),C=d(C,x,O,T,m,21,a[51]),T=d(T,C,x,O,b,6,a[52]),O=d(O,T,C,x,f,10,a[53]),x=d(x,O,T,C,I,15,a[54]),C=d(C,x,O,T,c,21,a[55]),T=d(T,C,x,O,w,6,a[56]),O=d(O,T,C,x,P,10,a[57]),x=d(x,O,T,C,y,15,a[58]),C=d(C,x,O,T,k,21,a[59]),T=d(T,C,x,O,g,6,a[60]),O=d(O,T,C,x,S,10,a[61]),x=d(x,O,T,C,p,15,a[62]),C=d(C,x,O,T,v,21,a[63]),i[0]=i[0]+T|0,i[1]=i[1]+C|0,i[2]=i[2]+x|0,i[3]=i[3]+O|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var i=e.floor(s/4294967296),o=s;n[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var h=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return a},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,r,i,o){var a=e+(t&n|~t&s)+r+o;return(a<>>32-i)+t}function h(e,t,n,s,r,i,o){var a=e+(t&s|n&~s)+r+o;return(a<>>32-i)+t}function l(e,t,n,s,r,i,o){var a=e+(t^n^s)+r+o;return(a<>>32-i)+t}function d(e,t,n,s,r,i,o){var a=e+(n^(t|~s))+r+o;return(a<>>32-i)+t}t.MD5=i._createHelper(c),t.HmacMD5=i._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n;e.exports=(n=r,void function(){var e=n,t=e.lib.Base,s=e.enc.Utf8;e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),a=i.words,c=o.words,u=0;u>>6-o%4*2;r[i>>>2]|=(a|c)<<24-i%4*8,i++}return t.create(r,i)}e.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,s=this._map;e.clamp();for(var r=[],i=0;i>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a>>6*(3-a)&63));var c=s.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join(\"\")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var i=0;i(this.status=d,Promise.resolve(e))),(e=>(this.status=p,Promise.reject(e)))),this.promise):this.promise}}function I(e){return e&&\"string\"==typeof e?JSON.parse(e):e}const S=\"development\"===process.env.NODE_ENV,b=process.env.VUE_APP_PLATFORM,k=\"true\"===process.env.UNI_SECURE_NETWORK_ENABLE||!0===process.env.UNI_SECURE_NETWORK_ENABLE,A=I(process.env.UNI_SECURE_NETWORK_CONFIG),P=\"h5\"===b?\"web\":\"app-plus\"===b?\"app\":b,T=I(process.env.UNICLOUD_DEBUG),C=I(process.env.UNI_CLOUD_PROVIDER)||[],x=process.env.RUN_BY_HBUILDERX;let O=\"\";try{O=(require(\"uni-stat-config\").default||require(\"uni-stat-config\")).appid}catch(e){}let E={};function L(e,t={}){var n,s;return n=E,s=e,Object.prototype.hasOwnProperty.call(n,s)||(E[e]=t),E[e]}\"app\"===P&&(E=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={});const R=[\"invoke\",\"success\",\"fail\",\"complete\"],U=L(\"_globalUniCloudInterceptor\");function N(e,t){U[e]||(U[e]={}),g(t)&&Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){let s=U[e][t];s||(s=U[e][t]=[]),-1===s.indexOf(n)&&m(n)&&s.push(n)}(e,n,t[n])}))}function D(e,t){U[e]||(U[e]={}),g(t)?Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){const s=U[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete U[e]}function M(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function q(e,t){return U[e]&&U[e][t]||[]}function F(e){N(\"callObject\",e)}const K=L(\"_globalUniCloudListener\"),j=\"response\",$=\"needLogin\",B=\"refreshToken\",W=\"clientdb\",H=\"cloudfunction\",z=\"cloudobject\";function J(e){return K[e]||(K[e]=[]),K[e]}function G(e,t){const n=J(e);n.includes(t)||n.push(t)}function V(e,t){const n=J(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function Y(e,t){const n=J(e);for(let e=0;e{X&&e(),function t(){if(\"function\"==typeof getCurrentPages){const t=getCurrentPages();t&&t[0]&&(X=!0,e())}X||setTimeout((()=>{t()}),30)}()})),Q)}function ee(e){const t={};for(const n in e){const s=e[n];m(s)&&(t[n]=y(s))}return t}class te extends Error{constructor(e){super(e.message),this.errMsg=e.message||e.errMsg||\"unknown system error\",this.code=this.errCode=e.code||e.errCode||\"SYSTEM_ERROR\",this.errSubject=this.subject=e.subject||e.errSubject,this.cause=e.cause,this.requestId=e.requestId}toJson(e=0){if(!(e>=10))return e++,{errCode:this.errCode,errMsg:this.errMsg,errSubject:this.errSubject,cause:this.cause&&this.cause.toJson?this.cause.toJson(e):this.cause}}}var ne={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};function se(){return{token:ne.getStorageSync(\"uni_id_token\")||ne.getStorageSync(\"uniIdToken\"),tokenExpired:ne.getStorageSync(\"uni_id_token_expired\")}}function re({token:e,tokenExpired:t}={}){e&&ne.setStorageSync(\"uni_id_token\",e),t&&ne.setStorageSync(\"uni_id_token_expired\",t)}let ie,oe;function ae(){return ie||(ie=uni.getSystemInfoSync()),ie}function ce(){let e,t;try{if(uni.getLaunchOptionsSync){if(uni.getLaunchOptionsSync.toString().indexOf(\"not yet implemented\")>-1)return;const{scene:n,channel:s}=uni.getLaunchOptionsSync();e=s,t=n}}catch(e){}return{channel:e,scene:t}}function ue(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(oe)return{...oe,locale:e,LOCALE:e};const t=ae(),{deviceId:n,osName:s,uniPlatform:r,appId:i}=t,o=[\"pixelRatio\",\"brand\",\"model\",\"system\",\"language\",\"version\",\"platform\",\"host\",\"SDKVersion\",\"swanNativeVersion\",\"app\",\"AppPlatform\",\"fontSizeSetting\"];for(let e=0;e{t(Object.assign(e,{complete(e){e||(e={}),S&&\"web\"===P&&e.errMsg&&0===e.errMsg.indexOf(\"request:fail\")&&console.warn(\"发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5\");const t=e.data&&e.data.header&&e.data.header[\"x-serverless-request-id\"]||e.header&&e.header[\"request-id\"];if(!e.statusCode||e.statusCode>=400)return s(new te({code:\"SYS_ERR\",message:e.errMsg||\"request:fail\",requestId:t}));const r=e.data;if(r.error)return s(new te({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},toBase64:function(e){return a.stringify(o.parse(e))}};var le=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),this.config=Object.assign({},{endpoint:0===e.spaceId.indexOf(\"mp-\")?\"https://api.next.bspapp.com\":\"https://api.bspapp.com\"},e),this.config.provider=\"aliyun\",this.config.requestUrl=this.config.endpoint+\"/client\",this.config.envType=this.config.envType||\"public\",this.config.accessTokenKey=\"access_token_\"+this.config.spaceId,this.adapter=ne,this._getAccessTokenPromiseHub=new v({createPromise:()=>this.requestAuth(this.setupRequest({method:\"serverless.auth.user.anonymousAuthorize\",params:\"{}\"},\"auth\")).then((e=>{if(!e.result||!e.result.accessToken)throw new te({code:\"AUTH_FAILED\",message:\"获取accessToken失败\"});this.setAccessToken(e.result.accessToken)})),retryRule:w})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return he.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return Promise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>new Promise(((e,n)=>{!t||\"GATEWAY_INVALID_TOKEN\"!==t.code&&\"InvalidParameter.InvalidToken\"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})))):this.getAccessToken().then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)}))))}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header[\"x-basement-token\"]=this.accessToken,t.header[\"x-serverless-sign\"]=he.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};return\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=he.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:s}}getAccessToken(){return this._getAccessTokenPromiseHub.exec()}async authorize(){await this.getAccessToken()}callFunction(e){const t={method:\"serverless.function.runtime.invoke\",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:\"serverless.file.resource.generateProximalSign\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,header:{\"X-OSS-server-side-encrpytion\":\"AES256\"},success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){const t={method:\"serverless.file.resource.report\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}async uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",cloudPathAsRealPath:s=!1,onUploadProgress:r,config:i}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const o=i&&i.envType||this.config.envType;if(s&&(\"/\"!==t[0]&&(t=\"/\"+t),t.indexOf(\"\\\\\")>-1))throw new te({code:\"INVALID_PARAM\",message:\"使用cloudPath作为路径时,cloudPath不可包含“\\\\”\"});const a=(await this.getOSSUploadOptionsFromPath({env:o,filename:s?t.split(\"/\").pop():t,fileId:s?t:void 0})).result,c=\"https://\"+a.cdnDomain+\"/\"+a.ossPath,{securityToken:u,accessKeyId:h,signature:l,host:d,ossPath:p,id:g,policy:m,ossCallbackUrl:y}=a,_={\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:h,Signature:l,host:d,id:g,key:p,policy:m,success_action_status:200};if(u&&(_[\"x-oss-security-token\"]=u),y){const e=JSON.stringify({callbackUrl:y,callbackBody:JSON.stringify({fileId:g,spaceId:this.config.spaceId}),callbackBodyType:\"application/json\"});_.callback=he.toBase64(e)}const w={url:\"https://\"+a.host,formData:_,fileName:\"file\",name:\"file\",filePath:e,fileType:n};if(await this.uploadFileToOSS(Object.assign({},w,{onUploadProgress:r})),y)return{success:!0,filePath:e,fileID:c};if((await this.reportOSSUpload({id:g})).success)return{success:!0,filePath:e,fileID:c};throw new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}async getFileInfo({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const t={method:\"serverless.file.resource.info\",params:JSON.stringify({id:e.map((e=>e.split(\"?\")[0])).join(\",\")})};return{fileList:(await this.request(this.setupRequest(t))).result}}};var de={init(e){const t=new le(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};const pe=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var fe;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(fe||(fe={}));var ge=function(){},me=n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[],c=[];!function(){function t(t){for(var n=e.sqrt(t),s=2;s<=n;s++)if(!(t%s))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(a[r]=n(e.pow(s,.5))),c[r]=n(e.pow(s,1/3)),r++),s++}();var u=[],h=o.SHA256=i.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,s=n[0],r=n[1],i=n[2],o=n[3],a=n[4],h=n[5],l=n[6],d=n[7],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var f=u[p-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-16]}var _=s&r^s&i^r&i,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&h^~a&l)+c[p]+u[p];d=l,l=h,h=a,a=o+v|0,o=i,i=r,r=s,s=v+(w+_)|0}n[0]=n[0]+s|0,n[1]=n[1]+r|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+a|0,n[5]=n[5]+h|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(s/4294967296),n[15+(r+64>>>9<<4)]=s,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(h),t.HmacSHA256=i._createHmacHelper(h)}(Math),n.SHA256)})),ye=me,_e=n((function(e,t){e.exports=r.HmacSHA256}));const we=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new te({message:'Your Node runtime does support ES6 Promises. Set \"global.Promise\" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,\"then\",{get:t}),Object.defineProperty(e.promise,\"catch\",{get:t}),e}const t=new Promise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));return e.promise=t,e};function ve(e){return void 0===e}function Ie(e){return\"[object Null]\"===Object.prototype.toString.call(e)}var Se;function be(e){const t=(n=e,\"[object Array]\"===Object.prototype.toString.call(n)?e:[e]);var n;for(const e of t){const{isMatch:t,genAdapter:n,runtime:s}=e;if(t())return{adapter:n(),runtime:s}}}!function(e){e.WEB=\"web\",e.WX_MP=\"wx_mp\"}(Se||(Se={}));const ke={adapter:null,runtime:void 0},Ae=[\"anonymousUuidKey\"];class Pe extends ge{constructor(){super(),ke.adapter.root.tcbObject||(ke.adapter.root.tcbObject={})}setItem(e,t){ke.adapter.root.tcbObject[e]=t}getItem(e){return ke.adapter.root.tcbObject[e]}removeItem(e){delete ke.adapter.root.tcbObject[e]}clear(){delete ke.adapter.root.tcbObject}}function Te(e,t){switch(e){case\"local\":return t.localStorage||new Pe;case\"none\":return new Pe;default:return t.sessionStorage||new Pe}}class Ce{constructor(e){if(!this._storage){this._persistence=ke.adapter.primaryStorage||e.persistence,this._storage=Te(this._persistence,ke.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,i=`login_type_${e.env}`,o=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:i,userInfoKey:o}}}updatePersistence(e){if(e===this._persistence)return;const t=\"local\"===this._persistence;this._persistence=e;const n=Te(e,ke.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&Ae.includes(e))continue;const r=this._storage.getItem(s);ve(r)||Ie(r)||(n.setItem(s,r),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||\"localCachev1\",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}catch(e){throw e}}getStore(e,t){try{if(!this._storage)return}catch(e){return\"\"}t=t||\"localCachev1\";const n=this._storage.getItem(e);if(!n)return\"\";if(n.indexOf(t)>=0){return JSON.parse(n).content}return\"\"}removeStore(e){this._storage.removeItem(e)}}const xe={},Oe={};function Ee(e){return xe[e]}class Le{constructor(e,t){this.data=t||null,this.name=e}}class Re extends Le{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const Ue=new class{constructor(){this._listeners={}}on(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}off(e,t){return function(e,t,n){if(n&&n[e]){const s=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(e instanceof Re)return console.error(e.error),this;const n=\"string\"==typeof e?new Le(e,t||{}):e;const s=n.name;if(this._listens(s)){n.target=this;const e=this._listeners[s]?[...this._listeners[s]]:[];for(const t of e)t.call(this,n)}return this}_listens(e){return this._listeners[e]&&this._listeners[e].length>0}};function Ne(e,t){Ue.on(e,t)}function De(e,t={}){Ue.fire(e,t)}function Me(e,t){Ue.off(e,t)}const qe=\"loginStateChanged\",Fe=\"loginStateExpire\",Ke=\"loginTypeChanged\",je=\"anonymousConverted\",$e=\"refreshAccessToken\";var Be;!function(e){e.ANONYMOUS=\"ANONYMOUS\",e.WECHAT=\"WECHAT\",e.WECHAT_PUBLIC=\"WECHAT-PUBLIC\",e.WECHAT_OPEN=\"WECHAT-OPEN\",e.CUSTOM=\"CUSTOM\",e.EMAIL=\"EMAIL\",e.USERNAME=\"USERNAME\",e.NULL=\"NULL\"}(Be||(Be={}));const We=[\"auth.getJwt\",\"auth.logout\",\"auth.signInWithTicket\",\"auth.signInAnonymously\",\"auth.signIn\",\"auth.fetchAccessTokenWithRefreshToken\",\"auth.signUpWithEmailAndPassword\",\"auth.activateEndUserMail\",\"auth.sendPasswordResetEmail\",\"auth.resetPasswordWithToken\",\"auth.isUsernameRegistered\"],He={\"X-SDK-Version\":\"1.3.5\"};function ze(e,t,n){const s=e[t];e[t]=function(t){const r={},i={};n.forEach((n=>{const{data:s,headers:o}=n.call(e,t);Object.assign(r,s),Object.assign(i,o)}));const o=t.data;return o&&(()=>{var e;if(e=o,\"[object FormData]\"!==Object.prototype.toString.call(e))t.data={...o,...r};else for(const e in r)o.append(e,r[e])})(),t.headers={...t.headers||{},...i},s.call(e,t)}}function Je(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...He,\"x-seqid\":e}}}class Ge{constructor(e={}){var t;this.config=e,this._reqClass=new ke.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]}),this._cache=Ee(this.config.env),this._localCache=(t=this.config.env,Oe[t]),ze(this._reqClass,\"post\",[Je]),ze(this._reqClass,\"upload\",[Je]),ze(this._reqClass,\"download\",[Je])}async post(e){return await this._reqClass.post(e)}async upload(e){return await this._reqClass.upload(e)}async download(e){return await this._reqClass.download(e)}async refreshAccessToken(){let e,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=await this._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throw t;return e}async _refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let i=this._cache.getStore(n);if(!i)throw new te({message:\"未登录CloudBase\"});const o={refresh_token:i},a=await this.request(\"auth.fetchAccessTokenWithRefreshToken\",o);if(a.data.code){const{code:e}=a.data;if(\"SIGN_PARAM_INVALID\"===e||\"REFRESH_TOKEN_EXPIRED\"===e||\"INVALID_REFRESH_TOKEN\"===e){if(this._cache.getStore(s)===Be.ANONYMOUS&&\"INVALID_REFRESH_TOKEN\"===e){const e=this._cache.getStore(r),t=this._cache.getStore(n),s=await this.send(\"auth.signInAnonymously\",{anonymous_uuid:e,refresh_token:t});return this.setRefreshToken(s.refresh_token),this._refreshAccessToken()}De(Fe),this._cache.removeStore(n)}throw new te({code:a.data.code,message:`刷新access token失败:${a.data.code}`})}if(a.data.access_token)return De($e),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,a.data.refresh_token),this._refreshAccessToken())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new te({message:\"refresh token不存在,登录状态异常\"});let s=this._cache.getStore(e),r=this._cache.getStore(t),i=!0;return this._shouldRefreshAccessTokenHook&&!await this._shouldRefreshAccessTokenHook(s,r)&&(i=!1),(!s||!r||r{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){return this._request.send(\"auth.setPrimaryUid\",{uid:e})}unlink(e){return this._request.send(\"auth.unlink\",{platform:e})}async update(e){const{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o}=e,{data:a}=await this._request.send(\"auth.updateUserInfo\",{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o});this.setLocalUserInfo(a)}async refresh(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);[\"uid\",\"loginType\",\"openid\",\"wxOpenId\",\"wxPublicId\",\"unionId\",\"qqMiniOpenId\",\"email\",\"hasPassword\",\"customUserId\",\"nickName\",\"gender\",\"avatarUrl\"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}class Ze{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._cache=Ee(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),i=this._cache.getStore(n),o=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:i,accessTokenExpire:o},this.user=new Xe(e)}get isAnonymousAuth(){return this.loginType===Be.ANONYMOUS}get isCustomAuth(){return this.loginType===Be.CUSTOM}get isWeixinAuth(){return this.loginType===Be.WECHAT||this.loginType===Be.WECHAT_OPEN||this.loginType===Be.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class et extends Qe{async signIn(){this._cache.updatePersistence(\"local\");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,n=this._cache.getStore(e)||void 0,s=this._cache.getStore(t)||void 0,r=await this._request.send(\"auth.signInAnonymously\",{anonymous_uuid:n,refresh_token:s});if(r.uuid&&r.refresh_token){this._setAnonymousUUID(r.uuid),this.setRefreshToken(r.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:Be.ANONYMOUS,persistence:\"local\"});const e=new Ze(this.config.env);return await e.user.refresh(),e}throw new te({message:\"匿名登录失败\"})}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),i=await this._request.send(\"auth.linkAndRetrieveDataWithTicket\",{anonymous_uuid:s,refresh_token:r,ticket:e});if(i.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(i.refresh_token),await this._request.refreshAccessToken(),De(je,{env:this.config.env}),De(Ke,{loginType:Be.CUSTOM,persistence:\"local\"}),{credential:{refreshToken:i.refresh_token}};throw new te({message:\"匿名转化失败\"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,Be.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class tt extends Qe{async signIn(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be a string\"});const{refreshTokenKey:t}=this._cache.keys,n=await this._request.send(\"auth.signInWithTicket\",{ticket:e,refresh_token:this._cache.getStore(t)||\"\"});if(n.refresh_token)return this.setRefreshToken(n.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:Be.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new Ze(this.config.env);throw new te({message:\"自定义登录失败\"})}}class nt extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"email must be a string\"});const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:\"EMAIL\",email:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token:i,access_token_expire:o}=s;if(r)return this.setRefreshToken(r),i&&o?this.setAccessToken(i,o):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:Be.EMAIL,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`邮箱登录失败: ${s.message}`}):new te({message:\"邮箱登录失败\"})}async activate(e){return this._request.send(\"auth.activateEndUserMail\",{token:e})}async resetPasswordWithToken(e,t){return this._request.send(\"auth.resetPasswordWithToken\",{token:e,newPassword:t})}}class st extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});\"string\"!=typeof t&&(t=\"\",console.warn(\"password is empty\"));const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:Be.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token_expire:i,access_token:o}=s;if(r)return this.setRefreshToken(r),o&&i?this.setAccessToken(o,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:Be.USERNAME,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new te({message:\"用户名密码登录失败\"})}}class rt{constructor(e){this.config=e,this._cache=Ee(e.env),this._request=Ye(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Ne(Ke,this._onLoginTypeChanged)}get currentUser(){const e=this.hasLoginState();return e&&e.user||null}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){return new et(this.config)}customAuthProvider(){return new tt(this.config)}emailAuthProvider(){return new nt(this.config)}usernameAuthProvider(){return new st(this.config)}async signInAnonymously(){return new et(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new nt(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new st(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=new et(this.config)),Ne(je,this._onAnonymousConverted);return await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===Be.ANONYMOUS)throw new te({message:\"匿名用户不支持登出操作\"});const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const r=await this._request.send(\"auth.logout\",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),De(qe),De(Ke,{env:this.config.env,loginType:Be.NULL,persistence:this.config.persistence}),r}async signUpWithEmailAndPassword(e,t){return this._request.send(\"auth.signUpWithEmailAndPassword\",{email:e,password:t})}async sendPasswordResetEmail(e){return this._request.send(\"auth.sendPasswordResetEmail\",{email:e})}onLoginStateChanged(e){Ne(qe,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){Ne(Fe,e.bind(this))}onAccessTokenRefreshed(e){Ne($e,e.bind(this))}onAnonymousConverted(e){Ne(je,e.bind(this))}onLoginTypeChanged(e){Ne(Ke,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;return this._cache.getStore(e)?new Ze(this.config.env):null}async isUsernameRegistered(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});const{data:t}=await this._request.send(\"auth.isUsernameRegistered\",{username:e});return t&&t.isRegistered}getLoginState(){return Promise.resolve(this.hasLoginState())}async signInWithTicket(e){return new tt(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){return this._request.send(\"auth.getUserInfo\",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,n=this._cache.getStore(e);return{\"x-cloudbase-credentials\":this._cache.getStore(t)+\"/@@/\"+n}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:n,env:s}=e.data;s===this.config.env&&(this._cache.updatePersistence(n),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}const it=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:i,fileType:o=\"image\"}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:h,cosFileId:l},requestId:d}=e,p={key:s,signature:c,\"x-cos-meta-fileid\":l,success_action_status:\"201\",\"x-cos-security-token\":u};n.upload({url:a,data:p,file:r,name:s,fileType:o,onUploadProgress:i}).then((e=>{201===e.statusCode?t(null,{fileID:h,requestId:d}):t(new te({code:\"STORAGE_REQUEST_FAIL\",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},ot=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},at=function({fileList:e},t){if(t=t||we(),!e||!Array.isArray(e))return{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"};for(let t of e)if(!t||\"string\"!=typeof t)return{code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"};const n={fileid_list:e};return Ye(this.config.env).send(\"storage.batchDeleteFile\",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ct=function({fileList:e},t){t=t||we(),e&&Array.isArray(e)||t(null,{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"});let n=[];for(let s of e)\"object\"==typeof s?(s.hasOwnProperty(\"fileID\")&&s.hasOwnProperty(\"maxAge\")||t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是包含fileID和maxAge的对象\"}),n.push({fileid:s.fileID,max_age:s.maxAge})):\"string\"==typeof s?n.push({fileid:s}):t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是字符串\"});const s={file_list:n};return Ye(this.config.env).send(\"storage.batchGetDownloadUrl\",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ut=async function({fileID:e},t){const n=(await ct.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if(\"SUCCESS\"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=Ye(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},ht=function({name:e,data:t,query:n,parse:s,search:r},i){const o=i||we();let a;try{a=t?JSON.stringify(t):\"\"}catch(e){return Promise.reject(e)}if(!e)return Promise.reject(new te({code:\"PARAM_ERROR\",message:\"函数名不能为空\"}));const c={inQuery:n,parse:s,search:r,function_name:e,request_data:a};return Ye(this.config.env).send(\"functions.invokeFunction\",c).then((e=>{if(e.code)o(null,e);else{let t=e.data.response_data;if(s)o(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),o(null,{result:t,requestId:e.requestId})}catch(e){o(new te({message:\"response data must be json\"}))}}return o.promise})).catch((e=>{o(e)})),o.promise},lt={timeout:15e3,persistence:\"session\"},dt={};class pt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(ke.adapter||(this.requestClient=new ke.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...lt,...e},!0){case this.config.timeout>6e5:console.warn(\"timeout大于可配置上限[10分钟],已重置为上限数值\"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn(\"timeout小于可配置下限[100ms],已重置为下限数值\"),this.config.timeout=100}return new pt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||ke.adapter.primaryStorage||lt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;xe[t]=new Ce(e),Oe[t]=new Ce({...e,persistence:\"local\"})}(this.config),n=this.config,Ve[n.env]=new Ge(n),this.authObj=new rt(this.config),this.authObj}on(e,t){return Ne.apply(this,[e,t])}off(e,t){return Me.apply(this,[e,t])}callFunction(e,t){return ht.apply(this,[e,t])}deleteFile(e,t){return at.apply(this,[e,t])}getTempFileURL(e,t){return ct.apply(this,[e,t])}downloadFile(e,t){return ut.apply(this,[e,t])}uploadFile(e,t){return it.apply(this,[e,t])}getUploadMetadata(e,t){return ot.apply(this,[e,t])}registerExtension(e){dt[e.name]=e}async invokeExtension(e,t){const n=dt[e];if(!n)throw new te({message:`扩展${e} 必须先注册`});return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=be(e)||{};t&&(ke.adapter=t),n&&(ke.runtime=n)}}var ft=new pt;function gt(e,t,n){void 0===n&&(n={});var s=/\\?/.test(t),r=\"\";for(var i in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=i+\"=\"+encodeURIComponent(n[i]);return/^http(s)?:\\/\\//.test(t+=r)?t:\"\"+e+t}class mt{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,r)=>{ne.request({url:gt(\"https:\",t),data:n,method:\"POST\",header:s,success(t){e(t)},fail(e){r(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:i,headers:o,fileType:a}=e,c=ne.uploadFile({url:gt(\"https:\",s),name:\"file\",formData:Object.assign({},i),filePath:r,fileType:a,header:o,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&i.success_action_status&&(n.statusCode=parseInt(i.success_action_status,10)),t(n)},fail(e){n(new Error(e.errMsg||\"uploadFile:fail\"))}});\"function\"==typeof e.onUploadProgress&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const yt={setItem(e,t){ne.setStorageSync(e,t)},getItem:e=>ne.getStorageSync(e),removeItem(e){ne.removeStorageSync(e)},clear(){ne.clearStorageSync()}};var _t={genAdapter:function(){return{root:{},reqClass:mt,localStorage:yt,primaryStorage:\"local\"}},isMatch:function(){return!0},runtime:\"uni_app\"};ft.useAdapters(_t);const wt=ft,vt=wt.init;wt.init=function(e){e.env=e.spaceId;const t=vt.call(this,e);t.config.provider=\"tencent\",t.config.spaceId=e.spaceId;const n=t.auth;return t.auth=function(e){const t=n.call(this,e);return[\"linkAndRetrieveDataWithTicket\",\"signInAnonymously\",\"signOut\",\"getAccessToken\",\"getLoginState\",\"signInWithTicket\",\"getUserInfo\"].forEach((e=>{var n;t[e]=(n=t[e],function(e){e=e||{};const{success:t,fail:s,complete:r}=ee(e);if(!(t||s||r))return n.call(this,e);n.call(this,e).then((e=>{t&&t(e),r&&r(e)}),(e=>{s&&s(e),r&&r(e)}))}).bind(t)})),t},t.customAuth=t.auth,t};var It=wt;var St=class extends le{getAccessToken(){return new Promise(((e,t)=>{const n=\"Anonymous_Access_token\";this.setAccessToken(n),e(n)}))}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=he.sign(n,this.config.clientSecret);const r=ue();s[\"x-client-info\"]=encodeURIComponent(JSON.stringify(r));const{token:i}=se();return s[\"x-client-token\"]=i,{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:JSON.parse(JSON.stringify(s))}}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s}){if(!t)throw new te({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});let r;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:i,formData:o,name:a}=t.result;r=t.result.fileUrl;const c={url:i,formData:o,name:a,filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},c,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))}))))}deleteFile({fileList:e}){const t={method:\"serverless.file.resource.delete\",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t)).then((e=>{if(e.success)return e.result;throw new te({code:\"DELETE_FILE_FAILED\",message:\"删除文件失败\"})}))}getTempFileURL({fileList:e,maxAge:t}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const n={method:\"serverless.file.resource.getTempFileURL\",params:JSON.stringify({fileList:e,maxAge:t})};return this.request(this.setupRequest(n)).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new te({code:\"GET_TEMP_FILE_URL_FAILED\",message:\"获取临时文件链接失败\"})}))}};var bt={init(e){const t=new St(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},kt=n((function(e,t){e.exports=r.enc.Hex}));function At(e=\"\",t={}){const{data:n,functionName:s,method:r,headers:i,signHeaderKeys:o=[],config:a}=t,c=Date.now(),u=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)})),h=Object.assign({},i,{\"x-from-app-id\":a.spaceAppId,\"x-from-env-id\":a.spaceId,\"x-to-env-id\":a.spaceId,\"x-from-instance-id\":c,\"x-from-function-name\":s,\"x-client-timestamp\":c,\"x-alipay-source\":\"client\",\"x-request-id\":u,\"x-alipay-callid\":u}),l=[\"x-from-app-id\",\"x-from-env-id\",\"x-to-env-id\",\"x-from-instance-id\",\"x-from-function-name\",\"x-client-timestamp\"].concat(o),[d=\"\",p=\"\"]=e.split(\"?\")||[],f=function(e){const t=e.signedHeaders.join(\";\"),n=e.signedHeaders.map((t=>`${t.toLowerCase()}:${e.headers[t]}\\n`)).join(\"\"),s=ye(e.body).toString(kt),r=`${e.method.toUpperCase()}\\n${e.path}\\n${e.query}\\n${n}\\n${t}\\n${s}\\n`,i=ye(r).toString(kt),o=`HMAC-SHA256\\n${e.timestamp}\\n${i}\\n`,a=_e(o,e.secretKey).toString(kt);return`HMAC-SHA256 Credential=${e.secretId}, SignedHeaders=${t}, Signature=${a}`}({path:d,query:p,method:r,headers:h,timestamp:c,body:JSON.stringify(n),secretId:a.accessKey,secretKey:a.secretKey,signedHeaders:l.sort()});return{url:`${a.endpoint}${e}`,headers:Object.assign({},h,{Authorization:f})}}function Pt({url:e,data:t,method:n=\"POST\",headers:s={}}){return new Promise(((r,i)=>{ne.request({url:e,method:n,data:t,header:s,dataType:\"json\",complete:(e={})=>{if(!e.statusCode||e.statusCode>=400){const{errMsg:t}=e.data||{};return i(new te({code:\"SYS_ERR\",message:t||e.errMsg||\"request:fail\",requestId:e.requestID}))}r({status:e.statusCode,data:e.data,headers:e.header,requestId:e.requestID})}})}))}function Tt(e,t){const{path:n,data:s,method:r=\"GET\"}=e,{url:i,headers:o}=At(n,{functionName:\"\",data:s,method:r,headers:{\"x-alipay-cloud-mode\":\"oss\",\"x-data-api-type\":\"oss\",\"x-expire-timestamp\":Date.now()+6e4},signHeaderKeys:[\"x-data-api-type\",\"x-expire-timestamp\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>{const t=e.data||{};if(!t.success)throw new te({code:e.code,message:e.message,requestId:e.trace_id});return t.data||{}})).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}function Ct(e=\"\"){const t=e.trim().replace(/^cloud:\\/\\//,\"\"),n=t.indexOf(\"/\");if(n<=0)throw new te({code:\"INVALID_PARAM\",message:\"fileID不合法\"});const s=t.substring(0,n),r=t.substring(n+1);return s!==this.config.spaceId&&console.warn(\"file \".concat(e,\" does not belong to env \").concat(this.config.spaceId)),r}var xt=class{constructor(e){if([\"spaceId\",\"spaceAppId\",\"accessKey\",\"secretKey\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),e.endpoint){if(\"string\"!=typeof e.endpoint)throw new Error(\"endpoint must be string\");if(!/^https:\\/\\//.test(e.endpoint))throw new Error(\"endpoint must start with https://\");e.endpoint=e.endpoint.replace(/\\/$/,\"\")}this.config=Object.assign({},e,{endpoint:e.endpoint||`https://${e.spaceId}.api-hz.cloudbasefunction.cn`})}callFunction(e){return function(e,t){const{name:n,data:s}=e,r=\"POST\",{url:i,headers:o}=At(\"/functions/invokeFunction\",{functionName:n,data:s,method:r,headers:{\"x-to-function-name\":n},signHeaderKeys:[\"x-to-function-name\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>({errCode:0,success:!0,requestId:e.requestId,result:e.data}))).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}(e,this.config)}uploadFileToOSS({url:e,filePath:t,fileType:n,formData:s,onUploadProgress:r}){return new Promise(((i,o)=>{const a=ne.uploadFile({url:e,filePath:t,fileType:n,formData:s,name:\"file\",success(e){e&&e.statusCode<400?i(e):o(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){o(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof r&&a&&\"function\"==typeof a.onProgressUpdate&&a.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}async uploadFile({filePath:e,cloudPath:t=\"\",fileType:n=\"image\",onUploadProgress:s}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const r=await Tt({path:\"/\".concat(t.replace(/^\\//,\"\"),\"?post_url\")},this.config),{file_id:i,upload_url:o,form_data:a}=r,c=a&&a.reduce(((e,t)=>(e[t.key]=t.value,e)),{});return this.uploadFileToOSS({url:o,filePath:e,fileType:n,formData:c,onUploadProgress:s}).then((()=>({fileID:i})))}async getTempFileURL({fileList:e}){return new Promise(((t,n)=>{(!e||e.length<0)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList不能为空数组\"})),e.length>50&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList数组长度不能超过50\"}));const s=[];for(const t of e){\"string\"!==f(t)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList的元素必须是非空的字符串\"}));const e=Ct.call(this,t);s.push({file_id:e,expire:600})}Tt({path:\"/?download_url\",data:{file_list:s},method:\"POST\"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:e.file_id,tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}};var Ot={init:e=>{e.provider=\"alipay\";const t=new xt(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function Et({data:e}){let t;t=ue();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=se();e&&(n.uniIdToken=e)}return n}async function Lt({name:e,data:t}={}){await this.__dev__.initLocalNetwork();const{localAddress:n,localPort:s}=this.__dev__,r={aliyun:\"aliyun\",tencent:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=this.config.spaceId,o=`http://${n}:${s}/system/check-function`,a=`http://${n}:${s}/cloudfunctions/${e}`;return new Promise(((t,n)=>{ne.request({method:\"POST\",url:o,data:{name:e,platform:P,provider:r,spaceId:i},timeout:3e3,success(e){t(e)},fail(){t({data:{code:\"NETWORK_ERROR\",message:\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。\"}})}})})).then((({data:e}={})=>{const{code:t,message:n}=e||{};return{code:0===t?0:t||\"SYS_ERR\",message:n||\"SYS_ERR\"}})).then((({code:n,message:s})=>{if(0!==n){switch(n){case\"MODULE_ENCRYPTED\":console.error(`此云函数(${e})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case\"FUNCTION_ENCRYPTED\":console.error(`此云函数(${e})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case\"ACTION_ENCRYPTED\":console.error(s||\"需要访问加密的uni-clientDB-action,自动切换为云端环境\");break;case\"NETWORK_ERROR\":{const e=\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下\";throw console.error(e),new Error(e)}case\"SWITCH_TO_CLOUD\":break;default:{const e=`检测本地调试服务出现错误:${s},请检查网络环境或重启客户端再试`;throw console.error(e),new Error(e)}}return this._callCloudFunction({name:e,data:t})}return new Promise(((e,n)=>{const s=Et.call(this,{data:t});ne.request({method:\"POST\",url:a,data:{provider:r,platform:P,param:s},success:({statusCode:t,data:s}={})=>!t||t>=400?n(new te({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):e({result:s}),fail(e){n(new te({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const Rt=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var Ut=/[\\\\^$.*+?()[\\]{}|]/g,Nt=RegExp(Ut.source);function Dt(e,t,n){return e.replace(new RegExp((s=t)&&Nt.test(s)?s.replace(Ut,\"\\\\$&\"):s,\"g\"),n);var s}const Mt=\"none\",qt=\"request\",Ft=\"response\",Kt=\"both\";class jt{constructor({secretType:e,uniCloudIns:t}={}){this.clientType=\"\",this.secretType=e||Mt,this.uniCloudIns=t;const{provider:n,spaceId:s}=this.uniCloudIns.config;var r;this.provider=n,this.spaceId=s,this.scopedGlobalCache=(r=this.uniCloudIns,L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",r.config.spaceId)))}getSystemInfo(){return this._systemInfo||(this._systemInfo=ae()),this._systemInfo}get appId(){return this.getSystemInfo().appId}get deviceId(){return this.getSystemInfo().deviceId}async encryptData(e){return this.secretType===Mt?e:this.platformEncryptData(e)}async decryptResult(e){if(this.secretType===Mt)return e;const{errCode:t,content:n}=e||{};return t||!n?e:this.secretType===qt?n:this.platformDecryptResult(e)}wrapVerifyClientCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare(),(s=JSON.parse(JSON.stringify(s)))._uniCloudOptions=await t.platformGetSignOption();let r=await e({name:n,data:s});return t.isClientKeyNotFound(r)&&(await t.prepare({forceUpdate:!0}),s._uniCloudOptions=await t.platformGetSignOption(),r=await e({name:n,data:s})),r}}wrapEncryptDataCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare();const r=await t.encryptData(s);let i=await e({name:n,data:r});if(t.isClientKeyNotFound(i)){await t.prepare({forceUpdate:!0});const r=await t.encryptData(s);s._uniCloudOptions=await t.platformGetSignOption(),i=await e({name:n,data:r})}return i.result=await t.decryptResult(i.result),i}}}\n/*! MIT License. Copyright 2015-2018 Richard Moore . See LICENSE.txt. */function $t(e){return parseInt(e)===e}function Bt(e){if(!$t(e.length))return!1;for(var t=0;t255)return!1;return!0}function Wt(e,t){if(e.buffer&&\"Uint8Array\"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!Bt(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if($t(e.length)&&Bt(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function Ht(e){return new Uint8Array(e)}function zt(e,t,n,s,r){null==s&&null==r||(e=e.slice?e.slice(s,r):Array.prototype.slice.call(e,s,r)),t.set(e,n)}var Jt,Gt={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n191&&s<224?(t.push(String.fromCharCode((31&s)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&s)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join(\"\")}},Vt=(Jt=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],n=0;n>4]+Jt[15&s])}return t.join(\"\")}}),Yt={16:10,24:12,32:14},Qt=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Xt=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Zt=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],en=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],tn=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],nn=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],sn=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],rn=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],on=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],an=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],cn=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],un=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],hn=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ln=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],dn=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function pn(e){for(var t=[],n=0;n>2,this._Ke[n][t%4]=i[t],this._Kd[e-n][t%4]=i[t];for(var o,a=0,c=r;c>16&255]<<24^Xt[o>>8&255]<<16^Xt[255&o]<<8^Xt[o>>24&255]^Qt[a]<<24,a+=1,8!=r)for(t=1;t>8&255]<<8^Xt[o>>16&255]<<16^Xt[o>>24&255]<<24;for(t=r/2+1;t>2,h=c%4,this._Ke[u][h]=i[t],this._Kd[e-u][h]=i[t++],c++}for(var u=1;u>24&255]^hn[o>>16&255]^ln[o>>8&255]^dn[255&o]}encrypt(e){if(16!=e.length)throw new Error(\"invalid plaintext size (must be 16 bytes)\");for(var t=this._Ke.length-1,n=[0,0,0,0],s=pn(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var i=1;i>24&255]^tn[s[(r+1)%4]>>16&255]^nn[s[(r+2)%4]>>8&255]^sn[255&s[(r+3)%4]]^this._Ke[i][r];s=n.slice()}var o,a=Ht(16);for(r=0;r<4;r++)o=this._Ke[t][r],a[4*r]=255&(Xt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Xt[s[(r+1)%4]>>16&255]^o>>16),a[4*r+2]=255&(Xt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Xt[255&s[(r+3)%4]]^o);return a}decrypt(e){if(16!=e.length)throw new Error(\"invalid ciphertext size (must be 16 bytes)\");for(var t=this._Kd.length-1,n=[0,0,0,0],s=pn(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var i=1;i>24&255]^on[s[(r+3)%4]>>16&255]^an[s[(r+2)%4]>>8&255]^cn[255&s[(r+1)%4]]^this._Kd[i][r];s=n.slice()}var o,a=Ht(16);for(r=0;r<4;r++)o=this._Kd[t][r],a[4*r]=255&(Zt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Zt[s[(r+3)%4]>>16&255]^o>>16),a[4*r+2]=255&(Zt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Zt[255&s[(r+1)%4]]^o);return a}}class gn{constructor(e){if(!(this instanceof gn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new fn(e)}encrypt(e){if((e=Wt(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=Ht(e.length),n=Ht(16),s=0;sNumber.MAX_SAFE_INTEGER)throw new Error(\"integer value out of safe range\");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)}setBytes(e){if(16!=(e=Wt(e,!0)).length)throw new Error(\"invalid counter bytes size (must be 16 bytes)\");this._counter=e}increment(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}}}class vn{constructor(e,t){if(!(this instanceof vn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof wn||(t=new wn(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new fn(e)}encrypt(e){for(var t=Wt(e,!0),n=0;n16)throw new Error(\"PKCS#7 padding byte out of range\");for(var n=e.length-t,s=0;s0)return this.userEncryptKey=On,this.userEncryptKey}return new Promise(((e,t)=>{uni.getUserCryptoManager().getLatestUserKey({success:t=>{On=t,this.userEncryptKey=t,e(this.userEncryptKey)},fail:e=>{t(Tn({...An,cause:e}))}})}))}getWxAppId(){return wx.getAccountInfoSync().miniProgram.appId}async platformGetSignOption(){const{encryptKey:e,iv:t,version:n}=await this.getUserEncryptKey();return{verifyClientSign:Sn(JSON.stringify({data:JSON.stringify({}),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),e,t),encryptKeyId:n,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid}}async platformEncryptData(e){const{encryptKey:t,iv:n,version:s}=await this.getUserEncryptKey(),r={secretType:this.secretType,encryptKeyId:s,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid};return this.secretType===Ft?{content:e,_uniCloudOptions:r}:{content:Sn(JSON.stringify({data:JSON.stringify(e),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),t,n),_uniCloudOptions:r}}async platformDecryptResult(e){const{content:t}=e,{encryptKey:n,iv:s}=await this.getUserEncryptKey();return JSON.parse(function(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(e)),r=new Uint8Array(uni.base64ToArrayBuffer(t)),i=In.utils.utf8.toBytes(n),o=new In.ModeOfOperation.cbc(r,i),a=In.padding.pkcs7.strip(o.decrypt(s));return In.utils.utf8.fromBytes(a)}(t,n,s))}isClientKeyNotFound(){return!1}}function Ln(e){const t=[\"hasClientKey\",\"encryptGetClientKeyPayload\",\"setClientKey\",\"encrypt\",\"decrypt\"],n={};for(let s=0;s{\"function\"==typeof e[r]?e[r](...t,(function({type:e,data:t,errCode:r,errMsg:i,errSubject:o,message:a}={}){\"success\"===e?n(t):s(Tn({errCode:r,errMsg:Pn[r]||i||a,errSubject:o}))})):s(Tn({message:\"请检查manifest.json内是否开启安全网络模块,另外注意标准基座不支持安全网络模块\"}))}))}}return n}class Rn extends jt{constructor(e){super(e),this.clientType=\"app\",this.appUtils={...Ln(uni.requireNativePlugin(\"plus\"))},this.systemInfo=Cn||(Cn=ae())}async hasClientKey(){return this._hasClientKey=await this.appUtils.hasClientKey({provider:this.provider,spaceId:this.spaceId}),this._hasClientKey}async getAppClientKey(){const{data:e,key:t}=await this.appUtils.encryptGetClientKeyPayload({data:JSON.stringify({})}),n=(await this.uniCloudIns.callFunction({name:\"DCloud-clientDB\",data:{redirectTo:\"encryption\",action:\"getAppClientKey\",data:e,key:t}})).result||{};if(0!==n.errCode)throw function(e){return new te({subject:e.errSubject||\"uni-secure-network\",code:e.errCode||e.code||bn.code,message:e.errMsg||e.message})}(n);const{clientKey:s,key:r}=n;await this.appUtils.setClientKey({provider:this.provider,spaceId:this.spaceId,clientKey:s,key:r})}async ensureClientKey({forceUpdate:e=!1}={}){if(!0!==await this.hasClientKey()||e)return e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus===l||!e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus!==p||(this.scopedGlobalCache.initPromise=this.getAppClientKey(),this.scopedGlobalCache.initPromise.then((e=>{this.scopedGlobalCache.initStatus=d})).catch((e=>{throw this.scopedGlobalCache.initStatus=p,e})),this.scopedGlobalCache.initStatus=l),this.scopedGlobalCache.initPromise}async prepare({forceUpdate:e=!1}={}){await this.ensureClientKey({forceUpdate:e})}async platformGetSignOption(){const{data:e,key:t}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify({})});return{verifyClientSign:e,encryptKeyId:t}}async platformEncryptData(e){const{data:t,key:n}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify(e)}),s={secretType:this.secretType,encryptKeyId:n};return this.secretType===Ft?{content:e,_uniCloudOptions:s}:{content:t,_uniCloudOptions:s}}async platformDecryptResult(e){const{content:t,_uniCloudOptions:n={}}=e,s=n.encryptKeyId,r=await this.appUtils.decrypt({provider:this.provider,spaceId:this.spaceId,data:t,key:s});return JSON.parse(r.data)}isClientKeyNotFound(e={}){const t=e.result||{};return 70009===t.errCode&&\"uni-secure-network\"===t.errSubject}}function Un({secretType:e}={}){return e===qt||e===Ft||e===Kt}function Nn({name:e,data:t={}}={}){return\"app\"===P&&\"DCloud-clientDB\"===e&&\"encryption\"===t.redirectTo&&\"getAppClientKey\"===t.action}function Dn({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:i}=ae();let o=r;\"app\"===r&&(o=i);const a=function({provider:e,spaceId:t}={}){const n=A;if(!n)return{};e=function(e){return\"tencent\"===e?\"tcb\":e}(e);const s=n.find((n=>n.provider===e&&n.spaceId===t));return s&&s.config}({provider:e,spaceId:t});if(!a||!a.accessControl||!a.accessControl.enable)return!1;const c=a.accessControl.function||{},u=Object.keys(c);if(0===u.length)return!0;const h=function(e,t){let n,s,r;for(let i=0;ie.trim())).indexOf(t)>-1&&(s=o):r=o:n=o}return n||s||r}(u,n);if(!h)return!1;if((c[h]||[]).find(((e={})=>e.appId===s&&(e.platform||\"\").toLowerCase()===o.toLowerCase())))return!0;throw console.error(`此应用[appId: ${s}, platform: ${o}]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client`),Tn(kn)}function Mn({functionName:e,result:t,logPvd:n}){if(S&&this.__dev__.debugLog&&t&&t.requestId){const s=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}function qn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Et.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=Un(n),o=Nn(n),a=i||o;return t.call(this,n).then((e=>(e.errCode=0,!a&&Mn.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&Mn.call(this,{functionName:s,result:e,logPvd:r}),e&&e.message&&(e.message=function({message:e=\"\",extraInfo:t={},formatter:n=[]}={}){for(let s=0;s(console.warn(\"当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),a}}xn=\"mp-weixin\"!==P&&\"app\"!==P?class{constructor(){throw Tn({message:`Platform ${P} is not supported by secure network`})}}:k?\"mp-weixin\"===P?En:Rn:class{constructor(){throw Tn({message:`Platform ${P} is not enabled, please check whether secure network module is enabled in your manifest.json`})}};const Fn=Symbol(\"CLIENT_DB_INTERNAL\");function Kn(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Fn,e.inspect=null,e.__ob__=void 0,new Proxy(e,{get(e,n,s){if(\"_uniClient\"===n)return null;if(\"symbol\"==typeof n)return e[n];if(n in e||\"string\"!=typeof n){const t=e[n];return\"function\"==typeof t?t.bind(e):t}return t.get(e,n,s)}})}function jn(e){return{on:(t,n)=>{e[t]=e[t]||[],e[t].indexOf(n)>-1||e[t].push(n)},off:(t,n)=>{e[t]=e[t]||[];const s=e[t].indexOf(n);-1!==s&&e[t].splice(s,1)}}}const $n=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function Bn(e,t){return $n.indexOf(`${e}.${t}`)>-1}function Wn(e){switch(f(e)){case\"array\":return e.map((e=>Wn(e)));case\"object\":return e._internalType===Fn||Object.keys(e).forEach((t=>{e[t]=Wn(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function Hn(e){return e&&e.content&&e.content.$method}class zn{constructor(e,t,n){this.content=e,this.prevStage=t||null,this.udb=null,this._database=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:Wn(e.$param)})))}}toString(){return JSON.stringify(this.toJSON())}getAction(){const e=this.toJSON().$db.find((e=>\"action\"===e.$method));return e&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>\"action\"!==e.$method))}}get isAggregate(){let e=this;for(;e;){const t=Hn(e),n=Hn(e.prevStage);if(\"aggregate\"===t&&\"collection\"===n||\"pipeline\"===t)return!0;e=e.prevStage}return!1}get isCommand(){let e=this;for(;e;){if(\"command\"===Hn(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=Hn(e),n=Hn(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return Jn({$method:e,$param:Wn(Array.from(arguments))},t,t._database)}}get count(){return this.isAggregate?this.getNextStageFn(\"count\"):function(){return this._send(\"count\",Array.from(arguments))}}get remove(){return this.isCommand?this.getNextStageFn(\"remove\"):function(){return this._send(\"remove\",Array.from(arguments))}}get(){return this._send(\"get\",Array.from(arguments))}get add(){return this.isCommand?this.getNextStageFn(\"add\"):function(){return this._send(\"add\",Array.from(arguments))}}update(){return this._send(\"update\",Array.from(arguments))}end(){return this._send(\"end\",Array.from(arguments))}get set(){return this.isCommand?this.getNextStageFn(\"set\"):function(){throw new Error(\"JQL禁止使用set方法\")}}_send(e,t){const n=this.getAction(),s=this.getCommand();if(s.$db.push({$method:e,$param:Wn(t)}),S){const e=s.$db.find((e=>\"collection\"===e.$method)),t=e&&e.$param;t&&1===t.length&&\"string\"==typeof e.$param[0]&&e.$param[0].indexOf(\",\")>-1&&console.warn(\"检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \\n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。\")}return this._database._callCloudFunction({action:n,command:s})}}function Jn(e,t,n){return Kn(new zn(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),Bn(s,t)?Jn({$method:t},e,n):function(){return Jn({$method:t,$param:Wn(Array.from(arguments))},e,n)}}})}function Gn({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}toString(){return JSON.stringify(this.toJSON())}}}function Vn(e,t={}){return Kn(new e(t),{get:(e,t)=>Bn(\"db\",t)?Jn({$method:t},null,e):function(){return Jn({$method:t,$param:Wn(Array.from(arguments))},null,e)}})}class Yn extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=L(\"_globalUniCloudDatabaseCallback\")),t||(this.auth=jn(this._authCallBacks)),this._isJQL=t,Object.assign(this,jn(this._dbCallBacks)),this.env=Kn({},{get:(e,t)=>({$env:t})}),this.Geo=Kn({},{get:(e,t)=>Gn({path:[\"Geo\"],method:t})}),this.serverDate=Gn({path:[],method:\"serverDate\"}),this.RegExp=Gn({path:[],method:\"RegExp\"})}getCloudEnv(e){if(\"string\"!=typeof e||!e.trim())throw new Error(\"getCloudEnv参数错误\");return{$env:e.replace(\"$cloudEnv_\",\"\")}}_callback(e,t){const n=this._dbCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}_callbackAuth(e,t){const n=this._authCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}multiSend(){const e=Array.from(arguments),t=e.map((e=>{const t=e.getAction(),n=e.getCommand();if(\"getTemp\"!==n.$db[n.$db.length-1].$method)throw new Error(\"multiSend只支持子命令内使用getTemp\");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}{_parseResult(e){return this._isJQL?e.result:e}_callCloudFunction({action:e,command:t,multiCommand:n,queryList:s}){function r(e,t){if(n&&s)for(let n=0;nM(q(o,\"complete\"),e))).then((()=>(r(null,e),Y(j,{type:W,content:e}),Promise.reject(e))))}const c=M(q(o,\"invoke\")),u=this._uniClient;return c.then((()=>u.callFunction({name:\"DCloud-clientDB\",type:h,data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:c,systemInfo:u=[]}=e.result;if(u)for(let e=0;e(console.warn(s),t)})}}return function(e){return M(q(o,\"success\"),e).then((()=>M(q(o,\"complete\"),e))).then((()=>{r(e,null);const t=i._parseResult(e);return Y(j,{type:W,content:t}),Promise.resolve(t)}))}(e)}),(e=>{/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn(\"clientDB未初始化,请在web控制台保存一次schema以开启clientDB\");return a(new te({code:e.code||\"SYSTEM_ERROR\",message:e.message,requestId:e.requestId}))}))}}const Qn=\"token无效,跳转登录页面\",Xn=\"token过期,跳转登录页面\",Zn={TOKEN_INVALID_TOKEN_EXPIRED:Xn,TOKEN_INVALID_INVALID_CLIENTID:Qn,TOKEN_INVALID:Qn,TOKEN_INVALID_WRONG_TOKEN:Qn,TOKEN_INVALID_ANONYMOUS_USER:Qn},es={\"uni-id-token-expired\":Xn,\"uni-id-check-token-failed\":Qn,\"uni-id-token-not-exist\":Qn,\"uni-id-check-device-feature-failed\":Qn};function ts(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function ns(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(ts(t,e.path)):!1===e.needLogin&&s.push(ts(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function ss(e){return e.split(\"?\")[0].replace(/^\\//,\"\")}function rs(){return function(e){let t=e&&e.$page&&e.$page.fullPath||\"\";return t?(\"/\"!==t.charAt(0)&&(t=\"/\"+t),t):t}(function(){const e=getCurrentPages();return e[e.length-1]}())}function is(){return ss(rs())}function os(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=ss(e);return n.some((e=>e.pagePath===s))}const as=!!e.uniIdRouter;const{loginPage:cs,routerNeedLogin:us,resToLogin:hs,needLoginPage:ls,notNeedLoginPage:ds,loginPageInTabBar:ps}=function({pages:t=[],subPackages:n=[],uniIdRouter:s={},tabBar:r={}}=e){const{loginPage:i,needLogin:o=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=ns(t),{needLoginPage:h,notNeedLoginPage:l}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:o}=ns(r,s);t.push(...i),n.push(...o)})),{needLoginPage:t,notNeedLoginPage:n}}(n);return{loginPage:i,routerNeedLogin:o,resToLogin:a,needLoginPage:[...c,...h],notNeedLoginPage:[...u,...l],loginPageInTabBar:os(i,r)}}();if(ls.indexOf(cs)>-1)throw new Error(`Login page [${cs}] should not be \"needLogin\", please check your pages.json`);function fs(e){const t=is();if(\"/\"===e.charAt(0))return e;const[n,s]=e.split(\"?\"),r=n.replace(/^\\//,\"\").split(\"/\"),i=t.split(\"/\");i.pop();for(let e=0;e-1)&&(ls.indexOf(t)>-1||us.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function ms({redirect:e}){const t=ss(e),n=ss(cs);return is()!==n&&t!==n}function ys({api:e,redirect:t}={}){if(!t||!ms({redirect:t}))return;const n=function(e,t){return\"/\"!==e.charAt(0)&&(e=\"/\"+e),t?e.indexOf(\"?\")>-1?e+`&uniIdRedirectUrl=${encodeURIComponent(t)}`:e+`?uniIdRedirectUrl=${encodeURIComponent(t)}`:e}(cs,t);ps?\"navigateTo\"!==e&&\"redirectTo\"!==e||(e=\"switchTab\"):\"switchTab\"===e&&(e=\"navigateTo\");const s={navigateTo:uni.navigateTo,redirectTo:uni.redirectTo,switchTab:uni.switchTab,reLaunch:uni.reLaunch};setTimeout((()=>{s[e]({url:n})}))}function _s({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=se();let n;if(e){if(t0)return setTimeout((()=>{Y($,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function ws(){!function(){const e=rs(),{abortLoginPageJump:t,autoToLoginPage:n}=_s({url:e});t||n&&ys({api:\"redirectTo\",redirect:e})}();const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t{const{type:t,content:n}=e;let s=!1;switch(t){case\"cloudobject\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in es}(n);break;case\"clientdb\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in Zn}(n)}s&&function(e={}){const t=J($);Z().then((()=>{const n=rs();if(n&&ms({redirect:n}))return t.length>0?Y($,Object.assign({uniIdRedirectUrl:n},e)):void(cs&&ys({api:\"navigateTo\",redirect:n}))}))}(n)}))}function Is(e){!function(e){e.onResponse=function(e){G(j,e)},e.offResponse=function(e){V(j,e)}}(e),function(e){e.onNeedLogin=function(e){G($,e)},e.offNeedLogin=function(e){V($,e)},as&&(L(\"_globalUniCloudStatus\").needLoginInit||(L(\"_globalUniCloudStatus\").needLoginInit=!0,Z().then((()=>{ws.call(e)})),hs&&vs.call(e)))}(e),function(e){e.onRefreshToken=function(e){G(B,e)},e.offRefreshToken=function(e){V(B,e)}}(e)}let Ss;const bs=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",ks=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function As(){const e=se().token||\"\",t=e.split(\".\");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((s=t[1],decodeURIComponent(Ss(s).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(e){throw new Error(\"获取当前用户信息出错,详细错误信息为:\"+e.message)}var s;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}Ss=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!ks.test(e))throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");var t;e+=\"==\".slice(2-(3&e.length));for(var n,s,r=\"\",i=0;i>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var Ps=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=\"chooseAndUploadFile:ok\",s=\"chooseAndUploadFile:fail\";function r(e,t){return e.tempFiles.forEach(((e,n)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf(\"/\")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+\"_\"+n+e.name.substring(e.name.lastIndexOf(\".\"))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}function i(e,t,{onChooseFile:s,onUploadProgress:r}){return t.then((e=>{if(s){const t=s(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,r){(t=Object.assign({},t)).errMsg=n;const i=t.tempFiles,o=i.length;let a=0;return new Promise((n=>{for(;a=o)return void(!i.find((e=>!e.url&&!e.errMsg))&&n(t));const u=i[s];e.uploadFile({filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,cloudPathAsRealPath:u.cloudPathAsRealPath,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s{u.errMsg=e.errMsg||e.message,s{uni.chooseImage({count:t,sizeType:n,sourceType:i,extension:o,success(t){e(r(t,\"image\"))},fail(e){a({errMsg:e.errMsg.replace(\"chooseImage:fail\",s)})}})}))}(t),t):\"video\"===t.type?i(e,function(e){const{camera:t,compressed:n,maxDuration:i,sourceType:o=[\"album\",\"camera\"],extension:a}=e;return new Promise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:i,sourceType:o,extension:a,success(t){const{tempFilePath:n,duration:s,size:i,height:o,width:a}=t;e(r({errMsg:\"chooseVideo:ok\",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||\"\",path:n,size:i,type:t.tempFile&&t.tempFile.type||\"\",width:a,height:o,duration:s,fileType:\"video\",cloudPath:\"\"}]},\"video\"))},fail(e){c({errMsg:e.errMsg.replace(\"chooseVideo:fail\",s)})}})}))}(t),t):i(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,i)=>{let o=uni.chooseFile;if(\"undefined\"!=typeof wx&&\"function\"==typeof wx.chooseMessageFile&&(o=wx.chooseMessageFile),\"function\"!=typeof o)return i({errMsg:s+\" 请指定 type 类型,该平台仅支持选择 image 或 video。\"});o({type:\"all\",count:t,extension:n,success(t){e(r(t))},fail(e){i({errMsg:e.errMsg.replace(\"chooseFile:fail\",s)})}})}))}(t),t)}}})),Ts=t(Ps);const Cs=\"manual\";function xs(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},spaceInfo:{type:Object,default:()=>({})},collection:{type:[String,Array],default:\"\"},action:{type:String,default:\"\"},field:{type:String,default:\"\"},orderby:{type:String,default:\"\"},where:{type:[String,Object],default:\"\"},pageData:{type:String,default:\"add\"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:\"\"},limitlevel:{type:Number,default:10},groupby:{type:String,default:\"\"},groupField:{type:String,default:\"\"},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:\"\"},loadtime:{type:String,default:\"auto\"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:\"\",mixinDatacomPage:{}}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{var e=[];return[\"pageCurrent\",\"pageSize\",\"localdata\",\"collection\",\"action\",\"field\",\"orderby\",\"where\",\"getont\",\"getcount\",\"gettree\",\"groupby\",\"groupField\",\"distinct\"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===Cs)return;let n=!1;const s=[];for(let r=2;r{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,n&&n(e)})))},mixinDatacomGet(t={}){let n=e.database(this.spaceInfo);const s=t.action||this.action;s&&(n=n.action(s));const r=t.collection||this.collection;n=Array.isArray(r)?n.collection(...r):n.collection(r);const i=t.where||this.where;i&&Object.keys(i).length&&(n=n.where(i));const o=t.field||this.field;o&&(n=n.field(o));const a=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));const c=t.groupby||this.groupby;c&&(n=n.groupBy(c));const u=t.groupField||this.groupField;u&&(n=n.groupField(u));!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const h=t.orderby||this.orderby;h&&(n=n.orderBy(h));const l=void 0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void 0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,p=void 0!==t.getcount?t.getcount:this.getcount,f=void 0!==t.gettree?t.gettree:this.gettree,g=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:p},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return f&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(l-1)).limit(d).get(m),n}}}}function Os(e){return function(t,n={}){n=function(e,t={}){return e.customUI=t.customUI||e.customUI,e.parseSystemError=t.parseSystemError||e.parseSystemError,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),\"object\"==typeof t.secretMethods&&(e.secretMethods=t.secretMethods),e}({customUI:!1,loadingOptions:{title:\"加载中...\",mask:!0},errorOptions:{type:\"modal\",retry:!1}},n);const{customUI:s,loadingOptions:r,errorOptions:i,parseSystemError:o}=n,a=!s;return new Proxy({},{get:(s,c)=>function({fn:e,interceptorName:t,getCallbackArgs:n}={}){return async function(...s){const r=n?n({params:s}):{};let i,o;try{return await M(q(t,\"invoke\"),{...r}),i=await e(...s),await M(q(t,\"success\"),{...r,result:i}),i}catch(e){throw o=e,await M(q(t,\"fail\"),{...r,error:o}),o}finally{await M(q(t,\"complete\"),o?{...r,error:o}:{...r,result:i})}}}({fn:async function s(...h){let l;a&&uni.showLoading({title:r.title,mask:r.mask});const d={name:t,type:u,data:{method:c,params:h}};\"object\"==typeof n.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s[\"*\"];r&&(t.secretType=r)}(n,d);let p=!1;try{l=await e.callFunction(d)}catch(e){p=!0,l={result:new te(e)}}const{errSubject:f,errCode:g,errMsg:m,newToken:y}=l.result||{};if(a&&uni.hideLoading(),y&&y.token&&y.tokenExpired&&(re(y),Y(B,{...y})),g){let e=m;if(p&&o){e=(await o({objectName:t,methodName:c,params:h,errSubject:f,errCode:g,errMsg:m})).errMsg||m}if(a)if(\"toast\"===i.type)uni.showToast({title:e,icon:\"none\"});else{if(\"modal\"!==i.type)throw new Error(`Invalid errorOptions.type: ${i.type}`);{const{confirm:t}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:r}={}){return new Promise(((i,o)=>{uni.showModal({title:e,content:t,showCancel:n,cancelText:s,confirmText:r,success(e){i(e)},fail(){i({confirm:!1,cancel:!0})}})}))}({title:\"提示\",content:e,showCancel:i.retry,cancelText:\"取消\",confirmText:i.retry?\"重试\":\"确定\"});if(i.retry&&t)return s(...h)}}const n=new te({subject:f,code:g,message:m,requestId:l.requestId});throw n.detail=l.result,Y(j,{type:z,content:n}),n}return Y(j,{type:z,content:l.result}),l.result},interceptorName:\"callObject\",getCallbackArgs:function({params:e}={}){return{objectName:t,methodName:c,params:e}}})})}}function Es(e){return L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",e.config.spaceId))}async function Ls({openid:e,callLoginByWeixin:t=!1}={}){const n=Es(this);if(\"mp-weixin\"!==P)throw new Error(`[SecureNetwork] API \\`initSecureNetworkByWeixin\\` is not supported on platform \\`${P}\\``);if(e&&t)throw new Error(\"[SecureNetwork] openid and callLoginByWeixin cannot be passed at the same time\");if(e)return n.mpWeixinOpenid=e,{};const s=await new Promise(((e,t)=>{uni.login({success(t){e(t.code)},fail(e){t(new Error(e.errMsg))}})})),r=this.importObject(\"uni-id-co\",{customUI:!0});return await r.secureNetworkHandshakeByWeixin({code:s,callLoginByWeixin:t}),n.mpWeixinCode=s,{code:s}}async function Rs(e){const t=Es(this);return t.initPromise||(t.initPromise=Ls.call(this,e)),t.initPromise}function Us(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Rs.call(e,{openid:t,callLoginByWeixin:n})}}function Ns(e){const t={getSystemInfo:uni.getSystemInfo,getPushClientId:uni.getPushClientId};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class Ds extends class{constructor(){this._callback={}}addListener(e,t){this._callback[e]||(this._callback[e]=[]),this._callback[e].push(t)}on(e,t){return this.addListener(e,t)}removeListener(e,t){if(!t)throw new Error('The \"listener\" argument must be of type function. Received undefined');const n=this._callback[e];if(!n)return;const s=function(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]===t)return n;return-1}(n,t);n.splice(s,1)}off(e,t){return this.removeListener(e,t)}removeAllListener(e){delete this._callback[e]}emit(e,...t){const n=this._callback[e];if(n)for(let e=0;e{if(!e)throw new Error(\"Invalid appId, please check the manifest.json file\");if(!t)throw new Error(\"Invalid push client id\");this._appId=e,this._pushClientId=t,this._seqId=Date.now()+\"-\"+Math.floor(9e5*Math.random()+1e5),this.emit(\"open\"),this._initMessageListener()}),(e=>{throw this.emit(\"error\",e),this.close(),e}))}async open(){return this.init()}_isUniCloudSSE(e){if(\"receive\"!==e.type)return!1;const t=e&&e.data&&e.data.payload;return!(!t||\"UNI_CLOUD_SSE\"!==t.channel||t.seqId!==this._seqId)}_receivePushMessage(e){if(!this._isUniCloudSSE(e))return;const t=e&&e.data&&e.data.payload,{action:n,messageId:s,message:r}=t;this._payloadQueue.push({action:n,messageId:s,message:r}),this._consumMessage()}_consumMessage(){for(;;){const e=this._payloadQueue.find((e=>e.messageId===this._currentMessageId+1));if(!e)break;this._currentMessageId++,this._parseMessagePayload(e)}}_parseMessagePayload(e){const{action:t,messageId:n,message:s}=e;\"end\"===t?this._end({messageId:n,message:s}):\"message\"===t&&this._appendMessage({messageId:n,message:s})}_appendMessage({messageId:e,message:t}={}){this.emit(\"message\",t)}_end({messageId:e,message:t}={}){this.emit(\"end\",t),this.close()}_initMessageListener(){uni.onPushMessage(this._uniPushMessageCallback)}_destroy(){uni.offPushMessage(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit(\"close\")}}async function Ms(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{ne.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}var s}async function qs(e){if(!S)return Promise.resolve();if(\"app\"===P){const{osName:e,osVersion:t}=ae();\"ios\"===e&&function(e){if(!e||\"string\"!=typeof e)return 0;const t=e.match(/^(\\d+)./);return t&&t[1]?parseInt(t[1]):0}(t)>=14&&console.warn(\"iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发模式生效,发行模式会连接uniCloud云端服务)\")}const t=e.__dev__;if(!t.debugInfo)return;const{address:n,servePort:s}=t.debugInfo,{address:r}=await async function(e,t){let n;for(let s=0;s{setTimeout((()=>{e()}),n)}));const s=e.auth();return t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously()))}}))}const Ks={tcb:It,tencent:It,aliyun:de,private:bt,alipay:Ot};let js=new class{init(e){let t={};const n=Ks[e.provider];if(!n)throw new Error(\"未提供正确的provider参数\");t=n.init(e),S&&function(e){if(!S)return;const t={};e.__dev__=t,t.debugLog=S&&(\"web\"===P&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app\"===P);const n=T;n&&!n.code&&(t.debugInfo=n);const s=new v({createPromise:function(){return qs(e)}});t.initLocalNetwork=function(){return s.exec()}}(t),Fs(t),qn(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),function(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;const n=Vn(Yn,{uniClient:e});return this._database=n,n},e.databaseForJQL=function(t){if(t&&Object.keys(t).length>0)return e.init(t).databaseForJQL();if(this._databaseForJQL)return this._databaseForJQL;const n=Vn(Yn,{uniClient:e,isJQL:!0});return this._databaseForJQL=n,n}}(t),function(e){e.getCurrentUserInfo=As,e.chooseAndUploadFile=Ts.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return xs(e)}}),e.SSEChannel=Ds,e.initSecureNetworkByWeixin=Us(e),e.importObject=Os(e)}(t);return[\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"chooseAndUploadFile\"].forEach((e=>{if(!t[e])return;const n=t[e];t[e]=function(){return n.apply(t,Array.from(arguments))},t[e]=function(e,t){return function(n){let s=!1;if(\"callFunction\"===t){const e=n&&n.type||c;s=e!==c}const r=\"callFunction\"===t&&!s,i=this._initPromiseHub.exec();n=n||{};const{success:o,fail:a,complete:u}=ee(n),h=i.then((()=>s?Promise.resolve():M(q(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):M(q(t,\"success\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(r&&Y(j,{type:H,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):M(q(t,\"fail\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(Y(j,{type:H,content:e}),Promise.reject(e))))));if(!(o||a||u))return h;h.then((e=>{o&&o(e),u&&u(e),r&&Y(j,{type:H,content:e})}),(e=>{a&&a(e),u&&u(e),r&&Y(j,{type:H,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=C;let t={};if(e&&1===e.length)t=e[0],js=js.init(t),js._isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\",\"importObject\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":x?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{js[e]=function(){return console.error(n),Promise.reject(new te({code:\"SYS_ERR\",message:n}))}}))}Object.assign(js,{get mixinDatacom(){return xs(js)}}),Is(js),js.addInterceptor=N,js.removeInterceptor=D,js.interceptObject=F,S&&\"web\"===P&&(window.uniCloud=js)})();var $s=js;export{$s as default};\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default {\"appid\":\"__UNI__1066059\"}","/*\r\n * uCharts (R)\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts (R) 官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n'use strict';\r\n\r\nvar config = {\r\n version: 'v2.5.0-20230101',\r\n yAxisWidth: 15,\r\n xAxisHeight: 22,\r\n padding: [10, 10, 10, 10],\r\n rotate: false,\r\n fontSize: 13,\r\n fontColor: '#666666',\r\n dataPointShape: ['circle', 'circle', 'circle', 'circle'],\r\n color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'],\r\n linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'],\r\n pieChartLinePadding: 15,\r\n pieChartTextPadding: 5,\r\n titleFontSize: 20,\r\n subtitleFontSize: 15,\r\n radarLabelTextMargin: 13,\r\n};\r\n\r\nvar assign = function(target, ...varArgs) {\r\n if (target == null) {\r\n throw new TypeError('[uCharts] Cannot convert undefined or null to object');\r\n }\r\n if (!varArgs || varArgs.length <= 0) {\r\n return target;\r\n }\r\n // 深度合并对象\r\n function deepAssign(obj1, obj2) {\r\n for (let key in obj2) {\r\n obj1[key] = obj1[key] && obj1[key].toString() === \"[object Object]\" ?\r\n deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key];\r\n }\r\n return obj1;\r\n }\r\n varArgs.forEach(val => {\r\n target = deepAssign(target, val);\r\n });\r\n return target;\r\n};\r\n\r\nvar util = {\r\n toFixed: function toFixed(num, limit) {\r\n limit = limit || 2;\r\n if (this.isFloat(num)) {\r\n num = num.toFixed(limit);\r\n }\r\n return num;\r\n },\r\n isFloat: function isFloat(num) {\r\n return num % 1 !== 0;\r\n },\r\n approximatelyEqual: function approximatelyEqual(num1, num2) {\r\n return Math.abs(num1 - num2) < 1e-10;\r\n },\r\n isSameSign: function isSameSign(num1, num2) {\r\n return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2;\r\n },\r\n isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) {\r\n return this.isSameSign(p1.x, p2.x);\r\n },\r\n isCollision: function isCollision(obj1, obj2) {\r\n obj1.end = {};\r\n obj1.end.x = obj1.start.x + obj1.width;\r\n obj1.end.y = obj1.start.y - obj1.height;\r\n obj2.end = {};\r\n obj2.end.x = obj2.start.x + obj2.width;\r\n obj2.end.y = obj2.start.y - obj2.height;\r\n var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y;\r\n return !flag;\r\n }\r\n};\r\n\r\n//兼容H5点击事件\r\nfunction getH5Offset(e) {\r\n e.mp = {\r\n changedTouches: []\r\n };\r\n e.mp.changedTouches.push({\r\n x: e.offsetX,\r\n y: e.offsetY\r\n });\r\n return e;\r\n}\r\n\r\n// hex 转 rgba\r\nfunction hexToRgb(hexValue, opc) {\r\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n var hex = hexValue.replace(rgx, function(m, r, g, b) {\r\n return r + r + g + g + b + b;\r\n });\r\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n var r = parseInt(rgb[1], 16);\r\n var g = parseInt(rgb[2], 16);\r\n var b = parseInt(rgb[3], 16);\r\n return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';\r\n}\r\n\r\nfunction findRange(num, type, limit) {\r\n if (isNaN(num)) {\r\n throw new Error('[uCharts] series数据需为Number格式');\r\n }\r\n limit = limit || 10;\r\n type = type ? type : 'upper';\r\n var multiple = 1;\r\n while (limit < 1) {\r\n limit *= 10;\r\n multiple *= 10;\r\n }\r\n if (type === 'upper') {\r\n num = Math.ceil(num * multiple);\r\n } else {\r\n num = Math.floor(num * multiple);\r\n }\r\n while (num % limit !== 0) {\r\n if (type === 'upper') {\r\n if (num == num + 1) { //修复数据值过大num++无效的bug by 向日葵 @xrk_jy\r\n break;\r\n }\r\n num++;\r\n } else {\r\n num--;\r\n }\r\n }\r\n return num / multiple;\r\n}\r\n\r\nfunction calCandleMA(dayArr, nameArr, colorArr, kdata) {\r\n let seriesTemp = [];\r\n for (let k = 0; k < dayArr.length; k++) {\r\n let seriesItem = {\r\n data: [],\r\n name: nameArr[k],\r\n color: colorArr[k]\r\n };\r\n for (let i = 0, len = kdata.length; i < len; i++) {\r\n if (i < dayArr[k]) {\r\n seriesItem.data.push(null);\r\n continue;\r\n }\r\n let sum = 0;\r\n for (let j = 0; j < dayArr[k]; j++) {\r\n sum += kdata[i - j][1];\r\n }\r\n seriesItem.data.push(+(sum / dayArr[k]).toFixed(3));\r\n }\r\n seriesTemp.push(seriesItem);\r\n }\r\n return seriesTemp;\r\n}\r\n\r\nfunction calValidDistance(self, distance, chartData, config, opts) {\r\n var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3];\r\n var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n dataChartWidth += (opts.extra.mount.widthRatio - 1)*chartData.eachSpacing;\r\n }\r\n var validDistance = distance;\r\n if (distance >= 0) {\r\n validDistance = 0;\r\n self.uevent.trigger('scrollLeft');\r\n self.scrollOption.position = 'left'\r\n opts.xAxis.scrollPosition = 'left';\r\n } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) {\r\n validDistance = dataChartAreaWidth - dataChartWidth;\r\n self.uevent.trigger('scrollRight');\r\n self.scrollOption.position = 'right'\r\n opts.xAxis.scrollPosition = 'right';\r\n } else {\r\n self.scrollOption.position = distance\r\n opts.xAxis.scrollPosition = distance;\r\n }\r\n return validDistance;\r\n}\r\n\r\nfunction isInAngleRange(angle, startAngle, endAngle) {\r\n function adjust(angle) {\r\n while (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n while (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n }\r\n angle = adjust(angle);\r\n startAngle = adjust(startAngle);\r\n endAngle = adjust(endAngle);\r\n if (startAngle > endAngle) {\r\n endAngle += 2 * Math.PI;\r\n if (angle < startAngle) {\r\n angle += 2 * Math.PI;\r\n }\r\n }\r\n return angle >= startAngle && angle <= endAngle;\r\n}\r\n\r\nfunction createCurveControlPoints(points, i) {\r\n function isNotMiddlePoint(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y,\r\n points[i + 1].y);\r\n } else {\r\n return false;\r\n }\r\n }\r\n function isNotMiddlePointX(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x,\r\n points[i + 1].x);\r\n } else {\r\n return false;\r\n }\r\n }\r\n var a = 0.2;\r\n var b = 0.2;\r\n var pAx = null;\r\n var pAy = null;\r\n var pBx = null;\r\n var pBy = null;\r\n if (i < 1) {\r\n pAx = points[0].x + (points[1].x - points[0].x) * a;\r\n pAy = points[0].y + (points[1].y - points[0].y) * a;\r\n } else {\r\n pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a;\r\n pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a;\r\n }\r\n\r\n if (i > points.length - 3) {\r\n var last = points.length - 1;\r\n pBx = points[last].x - (points[last].x - points[last - 1].x) * b;\r\n pBy = points[last].y - (points[last].y - points[last - 1].y) * b;\r\n } else {\r\n pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b;\r\n pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b;\r\n }\r\n if (isNotMiddlePoint(points, i + 1)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (isNotMiddlePoint(points, i)) {\r\n pAy = points[i].y;\r\n }\r\n if (isNotMiddlePointX(points, i + 1)) {\r\n pBx = points[i + 1].x;\r\n }\r\n if (isNotMiddlePointX(points, i)) {\r\n pAx = points[i].x;\r\n }\r\n if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pAy = points[i].y;\r\n }\r\n if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pAx = points[i].x;\r\n }\r\n if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pBx = points[i + 1].x;\r\n }\r\n return {\r\n ctrA: {\r\n x: pAx,\r\n y: pAy\r\n },\r\n ctrB: {\r\n x: pBx,\r\n y: pBy\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction convertCoordinateOrigin(x, y, center) {\r\n return {\r\n x: center.x + x,\r\n y: center.y - y\r\n };\r\n}\r\n\r\nfunction avoidCollision(obj, target) {\r\n if (target) {\r\n // is collision test\r\n while (util.isCollision(obj, target)) {\r\n if (obj.start.x > 0) {\r\n obj.start.y--;\r\n } else if (obj.start.x < 0) {\r\n obj.start.y++;\r\n } else {\r\n if (obj.start.y > 0) {\r\n obj.start.y++;\r\n } else {\r\n obj.start.y--;\r\n }\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\nfunction fixPieSeries(series, opts, config){\r\n let pieSeriesArr = [];\r\n if(series.length>0 && series[0].data.constructor.toString().indexOf('Array') > -1){\r\n opts._pieSeries_ = series;\r\n let oldseries = series[0].data;\r\n for (var i = 0; i < oldseries.length; i++) {\r\n oldseries[i].formatter = series[0].formatter;\r\n oldseries[i].data = oldseries[i].value;\r\n pieSeriesArr.push(oldseries[i]);\r\n }\r\n opts.series = pieSeriesArr;\r\n }else{\r\n pieSeriesArr = series;\r\n }\r\n return pieSeriesArr;\r\n}\r\n\r\nfunction fillSeries(series, opts, config) {\r\n var index = 0;\r\n for (var i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if (!item.color) {\r\n item.color = config.color[index];\r\n index = (index + 1) % config.color.length;\r\n }\r\n if (!item.linearIndex) {\r\n item.linearIndex = i;\r\n }\r\n if (!item.index) {\r\n item.index = 0;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (typeof item.show == \"undefined\") {\r\n item.show = true;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (!item.pointShape) {\r\n item.pointShape = \"circle\";\r\n }\r\n if (!item.legendShape) {\r\n switch (item.type) {\r\n case 'line':\r\n item.legendShape = \"line\";\r\n break;\r\n case 'column':\r\n case 'bar':\r\n item.legendShape = \"rect\";\r\n break;\r\n case 'area':\r\n case 'mount':\r\n item.legendShape = \"triangle\";\r\n break;\r\n default:\r\n item.legendShape = \"circle\";\r\n }\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction fillCustomColor(linearType, customColor, series, config) {\r\n var newcolor = customColor || [];\r\n if (linearType == 'custom' && newcolor.length == 0 ) {\r\n newcolor = config.linearColor;\r\n }\r\n if (linearType == 'custom' && newcolor.length < series.length) {\r\n let chazhi = series.length - newcolor.length;\r\n for (var i = 0; i < chazhi; i++) {\r\n newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]);\r\n }\r\n }\r\n return newcolor;\r\n}\r\n\r\nfunction getDataRange(minData, maxData) {\r\n var limit = 0;\r\n var range = maxData - minData;\r\n if (range >= 10000) {\r\n limit = 1000;\r\n } else if (range >= 1000) {\r\n limit = 100;\r\n } else if (range >= 100) {\r\n limit = 10;\r\n } else if (range >= 10) {\r\n limit = 5;\r\n } else if (range >= 1) {\r\n limit = 1;\r\n } else if (range >= 0.1) {\r\n limit = 0.1;\r\n } else if (range >= 0.01) {\r\n limit = 0.01;\r\n } else if (range >= 0.001) {\r\n limit = 0.001;\r\n } else if (range >= 0.0001) {\r\n limit = 0.0001;\r\n } else if (range >= 0.00001) {\r\n limit = 0.00001;\r\n } else {\r\n limit = 0.000001;\r\n }\r\n return {\r\n minRange: findRange(minData, 'lower', limit),\r\n maxRange: findRange(maxData, 'upper', limit)\r\n };\r\n}\r\n\r\nfunction measureText(text, fontSize, context) {\r\n var width = 0;\r\n text = String(text);\r\n\r\n\r\n\r\n if (context !== false && context !== undefined && context.setFontSize && context.measureText) {\r\n context.setFontSize(fontSize);\r\n return context.measureText(text).width;\r\n } else {\r\n var text = text.split('');\r\n for (let i = 0; i < text.length; i++) {\r\n let item = text[i];\r\n if (/[a-zA-Z]/.test(item)) {\r\n width += 7;\r\n } else if (/[0-9]/.test(item)) {\r\n width += 5.5;\r\n } else if (/\\./.test(item)) {\r\n width += 2.7;\r\n } else if (/-/.test(item)) {\r\n width += 3.25;\r\n } else if (/:/.test(item)) {\r\n width += 2.5;\r\n } else if (/[\\u4e00-\\u9fa5]/.test(item)) {\r\n width += 10;\r\n } else if (/\\(|\\)/.test(item)) {\r\n width += 3.73;\r\n } else if (/\\s/.test(item)) {\r\n width += 2.5;\r\n } else if (/%/.test(item)) {\r\n width += 8;\r\n } else {\r\n width += 10;\r\n }\r\n }\r\n return width * fontSize / 10;\r\n }\r\n}\r\n\r\nfunction dataCombine(series) {\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data);\r\n }, []);\r\n}\r\n\r\nfunction dataCombineStack(series, len) {\r\n var sum = new Array(len);\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] = 0;\r\n }\r\n for (var i = 0; i < series.length; i++) {\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] += series[i].data[j];\r\n }\r\n }\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data).concat(sum);\r\n }, []);\r\n}\r\n\r\nfunction getTouches(touches, opts, e) {\r\n let x, y;\r\n if (touches.clientX) {\r\n if (opts.rotate) {\r\n y = opts.height - touches.clientX * opts.pix;\r\n x = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n } else {\r\n x = touches.clientX * opts.pix;\r\n y = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n }\r\n } else {\r\n if (opts.rotate) {\r\n y = opts.height - touches.x * opts.pix;\r\n x = touches.y * opts.pix;\r\n } else {\r\n x = touches.x * opts.pix;\r\n y = touches.y * opts.pix;\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n}\r\n\r\nfunction getSeriesDataItem(series, index, group) {\r\n var data = [];\r\n var newSeries = [];\r\n var indexIsArr = index.constructor.toString().indexOf('Array') > -1;\r\n if(indexIsArr){\r\n let tempSeries = filterSeries(series);\r\n for (var i = 0; i < group.length; i++) {\r\n newSeries.push(tempSeries[group[i]]);\r\n }\r\n }else{\r\n newSeries = series;\r\n };\r\n for (let i = 0; i < newSeries.length; i++) {\r\n let item = newSeries[i];\r\n let tmpindex = -1;\r\n if(indexIsArr){\r\n tmpindex = index[i];\r\n }else{\r\n tmpindex = index;\r\n }\r\n if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) {\r\n let seriesItem = {};\r\n seriesItem.color = item.color;\r\n seriesItem.type = item.type;\r\n seriesItem.style = item.style;\r\n seriesItem.pointShape = item.pointShape;\r\n seriesItem.disableLegend = item.disableLegend;\r\n seriesItem.legendShape = item.legendShape;\r\n seriesItem.name = item.name;\r\n seriesItem.show = item.show;\r\n seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex];\r\n data.push(seriesItem);\r\n }\r\n }\r\n return data;\r\n}\r\n\r\nfunction getMaxTextListLength(list, fontSize, context) {\r\n var lengthList = list.map(function(item) {\r\n return measureText(item, fontSize, context);\r\n });\r\n return Math.max.apply(null, lengthList);\r\n}\r\n\r\nfunction getRadarCoordinateSeries(length) {\r\n var eachAngle = 2 * Math.PI / length;\r\n var CoordinateSeries = [];\r\n for (var i = 0; i < length; i++) {\r\n CoordinateSeries.push(eachAngle * i);\r\n }\r\n return CoordinateSeries.map(function(item) {\r\n return -1 * item + Math.PI / 2;\r\n });\r\n}\r\n\r\nfunction getToolTipData(seriesData, opts, index, group, categories) {\r\n var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\r\n var calPoints = opts.chartData.calPoints?opts.chartData.calPoints:[];\r\n let points = {};\r\n if(group.length > 0){\r\n let filterPoints = [];\r\n for (let i = 0; i < group.length; i++) {\r\n filterPoints.push(calPoints[group[i]])\r\n }\r\n points = filterPoints[0][index[0]];\r\n }else{\r\n for (let i = 0; i < calPoints.length; i++) {\r\n if(calPoints[i][index]){\r\n points = calPoints[i][index];\r\n break;\r\n }\r\n }\r\n };\r\n var textList = seriesData.map(function(item) {\r\n let titleText = null;\r\n if (opts.categories && opts.categories.length>0) {\r\n titleText = categories[index];\r\n };\r\n return {\r\n text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n });\r\n var offset = {\r\n x: Math.round(points.x),\r\n y: Math.round(points.y)\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getMixToolTipData(seriesData, opts, index, categories) {\r\n var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\r\n var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2;\r\n var textList = seriesData.map(function(item) {\r\n return {\r\n text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n disableLegend: item.disableLegend ? true : false,\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n });\r\n textList = textList.filter(function(item) {\r\n if (item.disableLegend !== true) {\r\n return item;\r\n }\r\n });\r\n var offset = {\r\n x: Math.round(points),\r\n y: 0\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getCandleToolTipData(series, seriesData, opts, index, categories, extra) {\r\n var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};\r\n var calPoints = opts.chartData.calPoints;\r\n let upColor = extra.color.upFill;\r\n let downColor = extra.color.downFill;\r\n //颜色顺序为开盘,收盘,最低,最高\r\n let color = [upColor, upColor, downColor, upColor];\r\n var textList = [];\r\n seriesData.map(function(item) {\r\n if (index == 0) {\r\n if (item.data[1] - item.data[0] < 0) {\r\n color[1] = downColor;\r\n } else {\r\n color[1] = upColor;\r\n }\r\n } else {\r\n if (item.data[0] < series[index - 1][1]) {\r\n color[0] = downColor;\r\n }\r\n if (item.data[1] < item.data[0]) {\r\n color[1] = downColor;\r\n }\r\n if (item.data[2] > series[index - 1][1]) {\r\n color[2] = upColor;\r\n }\r\n if (item.data[3] < series[index - 1][1]) {\r\n color[3] = downColor;\r\n }\r\n }\r\n let text1 = {\r\n text: '开盘:' + item.data[0],\r\n color: color[0],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n let text2 = {\r\n text: '收盘:' + item.data[1],\r\n color: color[1],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n let text3 = {\r\n text: '最低:' + item.data[2],\r\n color: color[2],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n let text4 = {\r\n text: '最高:' + item.data[3],\r\n color: color[3],\r\n legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape\r\n };\r\n textList.push(text1, text2, text3, text4);\r\n });\r\n var validCalPoints = [];\r\n var offset = {\r\n x: 0,\r\n y: 0\r\n };\r\n for (let i = 0; i < calPoints.length; i++) {\r\n let points = calPoints[i];\r\n if (typeof points[index] !== 'undefined' && points[index] !== null) {\r\n validCalPoints.push(points[index]);\r\n }\r\n }\r\n offset.x = Math.round(validCalPoints[0][0].x);\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction filterSeries(series) {\r\n let tempSeries = [];\r\n for (let i = 0; i < series.length; i++) {\r\n if (series[i].show == true) {\r\n tempSeries.push(series[i])\r\n }\r\n }\r\n return tempSeries;\r\n}\r\n\r\nfunction findCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let xAxisPoints = [];\r\n if (calPoints && calPoints.length > 0) {\r\n if (!opts.categories) {\r\n spacing = 0;\r\n }else{\r\n for (let i = 1; i < opts.chartData.xAxisPoints.length; i++) {\r\n xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing);\r\n }\r\n if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') {\r\n xAxisPoints = opts.chartData.xAxisPoints;\r\n }\r\n }\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n if (!opts.categories) {\r\n let timePoints = Array(calPoints.length);\r\n for (let i = 0; i < calPoints.length; i++) {\r\n timePoints[i] = Array(calPoints[i].length)\r\n for (let j = 0; j < calPoints[i].length; j++) {\r\n timePoints[i][j] = (Math.abs(calPoints[i][j].x - currentPoints.x));\r\n }\r\n };\r\n let pointValue = Array(timePoints.length);\r\n let pointIndex = Array(timePoints.length);\r\n for (let i = 0; i < timePoints.length; i++) {\r\n pointValue[i] = Math.min.apply(null, timePoints[i]);\r\n pointIndex[i] = timePoints[i].indexOf(pointValue[i]);\r\n }\r\n let minValue = Math.min.apply(null, pointValue);\r\n current.index = [];\r\n for (let i = 0; i < pointValue.length; i++) {\r\n if(pointValue[i] == minValue){\r\n current.group.push(i);\r\n current.index.push(pointIndex[i]);\r\n }\r\n };\r\n }else{\r\n xAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.x + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findBarChartCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let yAxisPoints = opts.chartData.yAxisPoints;\r\n if (calPoints && calPoints.length > 0) {\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n yAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.y + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findLegendIndex(currentPoints, legendData, opts) {\r\n let currentIndex = -1;\r\n let gap = 0;\r\n if (isInExactLegendArea(currentPoints, legendData.area)) {\r\n let points = legendData.points;\r\n let index = -1;\r\n for (let i = 0, len = points.length; i < len; i++) {\r\n let item = points[i];\r\n for (let j = 0; j < item.length; j++) {\r\n index += 1;\r\n let area = item[j]['area'];\r\n if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) {\r\n currentIndex = index;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactLegendArea(currentPoints, area) {\r\n return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y;\r\n}\r\n\r\nfunction isInExactChartArea(currentPoints, opts, config) {\r\n return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2];\r\n}\r\n\r\nfunction findRadarChartCurrentIndex(currentPoints, radarData, count) {\r\n var eachAngleArea = 2 * Math.PI / count;\r\n var currentIndex = -1;\r\n if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) {\r\n var fixAngle = function fixAngle(angle) {\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n if (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n };\r\n var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x);\r\n angle = -1 * angle;\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n var angleList = radarData.angleList.map(function(item) {\r\n item = fixAngle(-1 * item);\r\n return item;\r\n });\r\n angleList.forEach(function(item, index) {\r\n var rangeStart = fixAngle(item - eachAngleArea / 2);\r\n var rangeEnd = fixAngle(item + eachAngleArea / 2);\r\n if (rangeEnd < rangeStart) {\r\n rangeEnd += 2 * Math.PI;\r\n }\r\n if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) {\r\n currentIndex = index;\r\n }\r\n });\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findFunnelChartCurrentIndex(currentPoints, funnelData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = funnelData.series.length; i < len; i++) {\r\n var item = funnelData.series[i];\r\n if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findWordChartCurrentIndex(currentPoints, wordData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = wordData.length; i < len; i++) {\r\n var item = wordData[i];\r\n if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findMapChartCurrentIndex(currentPoints, opts) {\r\n var currentIndex = -1;\r\n var cData = opts.chartData.mapData;\r\n var data = opts.series;\r\n var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset);\r\n var poi = [tmp.x, tmp.y];\r\n for (var i = 0, len = data.length; i < len; i++) {\r\n var item = data[i].geometry.coordinates;\r\n if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findRoseChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.rose && opts.extra.rose.offsetAngle){\r\n angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findPieChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getPieDataPoints(pieData.series);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.pie && opts.extra.pie.offsetAngle){\r\n angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180;\r\n }\r\n if(opts.extra.ring && opts.extra.ring.offsetAngle){\r\n angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactPieChartArea(currentPoints, center, radius) {\r\n return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2);\r\n}\r\n\r\n\r\nfunction splitPoints(points,eachSeries) {\r\n var newPoints = [];\r\n var items = [];\r\n points.forEach(function(item, index) {\r\n if(eachSeries.connectNulls){\r\n if (item !== null) {\r\n items.push(item);\r\n }\r\n }else{\r\n if (item !== null) {\r\n items.push(item);\r\n } else {\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n items = [];\r\n }\r\n }\r\n \r\n });\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n return newPoints;\r\n}\r\n\r\n\r\nfunction calLegendData(series, opts, config, chartData, context) {\r\n let legendData = {\r\n area: {\r\n start: {\r\n x: 0,\r\n y: 0\r\n },\r\n end: {\r\n x: 0,\r\n y: 0\r\n },\r\n width: 0,\r\n height: 0,\r\n wholeWidth: 0,\r\n wholeHeight: 0\r\n },\r\n points: [],\r\n widthArr: [],\r\n heightArr: []\r\n };\r\n if (opts.legend.show === false) {\r\n chartData.legendData = legendData;\r\n return legendData;\r\n }\r\n let padding = opts.legend.padding * opts.pix;\r\n let margin = opts.legend.margin * opts.pix;\r\n let fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n let legendList = [];\r\n let widthCount = 0;\r\n let widthCountArr = [];\r\n let currentRow = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n let itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n widthCount = itemWidth;\r\n currentRow = [item];\r\n } else {\r\n widthCount += itemWidth;\r\n currentRow.push(item);\r\n }\r\n }\r\n if (currentRow.length) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n legendData.widthArr = widthCountArr;\r\n let legendWidth = Math.max.apply(null, widthCountArr);\r\n switch (opts.legend.float) {\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n default:\r\n legendData.area.start.x = (opts.width - legendWidth) / 2 - padding;\r\n legendData.area.end.x = (opts.width + legendWidth) / 2 + padding;\r\n }\r\n legendData.area.width = legendWidth + 2 * padding;\r\n legendData.area.wholeWidth = legendWidth + 2 * padding;\r\n legendData.area.height = legendList.length * lineHeight + 2 * padding;\r\n legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin;\r\n legendData.points = legendList;\r\n }\r\n } else {\r\n let len = series.length;\r\n let maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding;\r\n let maxLength = Math.min(Math.floor(maxHeight / lineHeight), len);\r\n legendData.area.height = maxLength * lineHeight + padding * 2;\r\n legendData.area.wholeHeight = maxLength * lineHeight + padding * 2;\r\n switch (opts.legend.float) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n default:\r\n legendData.area.start.y = (opts.height - legendData.area.height) / 2;\r\n legendData.area.end.y = (opts.height + legendData.area.height) / 2;\r\n }\r\n let lineNum = len % maxLength === 0 ? len / maxLength : Math.floor((len / maxLength) + 1);\r\n let currentRow = [];\r\n for (let i = 0; i < lineNum; i++) {\r\n let temp = series.slice(i * maxLength, i * maxLength + maxLength);\r\n currentRow.push(temp);\r\n }\r\n legendData.points = currentRow;\r\n if (currentRow.length) {\r\n for (let i = 0; i < currentRow.length; i++) {\r\n let item = currentRow[i];\r\n let maxWidth = 0;\r\n for (let j = 0; j < item.length; j++) {\r\n let itemWidth = shapeWidth + shapeRight + measureText(item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (itemWidth > maxWidth) {\r\n maxWidth = itemWidth;\r\n }\r\n }\r\n legendData.widthArr.push(maxWidth);\r\n legendData.heightArr.push(item.length * lineHeight + padding * 2);\r\n }\r\n let legendWidth = 0\r\n for (let i = 0; i < legendData.widthArr.length; i++) {\r\n legendWidth += legendData.widthArr[i];\r\n }\r\n legendData.area.width = legendWidth - opts.legend.itemGap * opts.pix + 2 * padding;\r\n legendData.area.wholeWidth = legendData.area.width + padding;\r\n }\r\n }\r\n switch (opts.legend.position) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendData.area.width;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n }\r\n chartData.legendData = legendData;\r\n return legendData;\r\n}\r\n\r\nfunction calCategoriesData(categories, opts, config, eachSpacing, context) {\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix\r\n };\r\n var fontSize = opts.xAxis.fontSize * opts.pix;\r\n var categoriesTextLenth = categories.map(function(item,index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n return measureText(String(xitem), fontSize, context);\r\n });\r\n var maxTextLength = Math.max.apply(this, categoriesTextLenth);\r\n if (opts.xAxis.rotateLabel == true) {\r\n result.angle = opts.xAxis.rotateAngle * Math.PI / 180;\r\n let tempHeight = opts.xAxis.marginTop * opts.pix * 2 + Math.abs(maxTextLength * Math.sin(result.angle))\r\n tempHeight = tempHeight < fontSize + opts.xAxis.marginTop * opts.pix * 2 ? tempHeight + opts.xAxis.marginTop * opts.pix * 2 : tempHeight;\r\n result.xAxisHeight = tempHeight;\r\n }\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n result.xAxisHeight += 6 * opts.pix;\r\n }\r\n if (opts.xAxis.disabled){\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getXAxisTextList(series, opts, config, stack) {\r\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[0]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n\r\n var minData = 0;\r\n var maxData = 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n //为了兼容v1.9.0之前的项目\r\n if (index > -1) {\r\n if (typeof opts.xAxis.data[index].min === 'number') {\r\n minData = Math.min(opts.xAxis.data[index].min, minData);\r\n }\r\n if (typeof opts.xAxis.data[index].max === 'number') {\r\n maxData = Math.max(opts.xAxis.data[index].max, maxData);\r\n }\r\n } else {\r\n if (typeof opts.xAxis.min === 'number') {\r\n minData = Math.min(opts.xAxis.min, minData);\r\n }\r\n if (typeof opts.xAxis.max === 'number') {\r\n maxData = Math.max(opts.xAxis.max, maxData);\r\n }\r\n }\r\n if (minData === maxData) {\r\n var rangeSpan = maxData || 10;\r\n maxData += rangeSpan;\r\n }\r\n //var dataRange = getDataRange(minData, maxData);\r\n var minRange = minData;\r\n var maxRange = maxData;\r\n var range = [];\r\n var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber;\r\n for (var i = 0; i <= opts.xAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range;\r\n}\r\n\r\nfunction calXAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.bar);\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix\r\n };\r\n result.ranges = getXAxisTextList(series, opts, config, columnstyle.type);\r\n result.rangesFormat = result.ranges.map(function(item) {\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2);\r\n item = util.toFixed(item, 2);\r\n return item;\r\n });\r\n var xAxisScaleValues = result.ranges.map(function(item) {\r\n // 如果刻度值是浮点数,则保留两位小数\r\n item = util.toFixed(item, 2);\r\n // 若有自定义格式则调用自定义的格式化函数\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item;\r\n return item;\r\n });\r\n result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config));\r\n // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\\结束点以及总长\r\n var eachSpacing = result.eachSpacing;\r\n var textLength = xAxisScaleValues.map(function(item) {\r\n return measureText(item, opts.xAxis.fontSize * opts.pix, context);\r\n });\r\n if (opts.xAxis.disabled === true) {\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getRadarDataPoints(angleList, center, radius, series, opts) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var radarOption = opts.extra.radar || {};\r\n radarOption.max = radarOption.max || 0;\r\n var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n var data = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let each = series[i];\r\n let listItem = {};\r\n listItem.color = each.color;\r\n listItem.legendShape = each.legendShape;\r\n listItem.pointShape = each.pointShape;\r\n listItem.data = [];\r\n each.data.forEach(function(item, index) {\r\n let tmp = {};\r\n tmp.angle = angleList[index];\r\n tmp.proportion = item / maxData;\r\n tmp.value = item;\r\n tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center);\r\n listItem.data.push(tmp);\r\n });\r\n data.push(listItem);\r\n }\r\n return data;\r\n}\r\n\r\nfunction getPieDataPoints(series, radius) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n }\r\n item._radius_ = radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getFunnelDataPoints(series, radius, option, eachSpacing) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n for (let i = 0; i < series.length; i++) {\r\n if(option.type == 'funnel'){\r\n series[i].radius = series[i].data / series[0].data * radius * process;\r\n }else{\r\n series[i].radius = (eachSpacing * (series.length - i)) / (eachSpacing * series.length) * radius * process;\r\n }\r\n series[i]._proportion_ = series[i].data / series[0].data;\r\n }\r\n // if(option.type !== 'pyramid'){\r\n // series.reverse();\r\n // }\r\n return series;\r\n}\r\n\r\nfunction getRoseDataPoints(series, type, minRadius, radius) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n var dataArr = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n dataArr.push(item.data);\r\n }\r\n var minData = Math.min.apply(null, dataArr);\r\n var maxData = Math.max.apply(null, dataArr);\r\n var radiusLength = radius - minRadius;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n item._rose_proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n if(type == 'area'){\r\n item._rose_proportion_ = 1 / series.length * process;\r\n }else{\r\n item._rose_proportion_ = item.data / count * process;\r\n }\r\n }\r\n item._radius_ = minRadius + radiusLength * ((item.data - minData) / (maxData - minData)) || radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._rose_proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if(arcbarOption.direction == 'ccw'){\r\n if (arcbarOption.startAngle < arcbarOption.endAngle) {\r\n totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }else{\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if(arcbarOption.direction == 'ccw'){\r\n item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process ;\r\n }\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeAxisPoints(categories, startAngle, endAngle) {\r\n let totalAngle;\r\n if (endAngle < startAngle) {\r\n totalAngle = 2 + endAngle - startAngle;\r\n } else {\r\n totalAngle = startAngle - endAngle;\r\n }\r\n let tempStartAngle = startAngle;\r\n for (let i = 0; i < categories.length; i++) {\r\n categories[i].value = categories[i].value === null ? 0 : categories[i].value;\r\n categories[i]._startAngle_ = tempStartAngle;\r\n categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle;\r\n if (categories[i]._endAngle_ >= 2) {\r\n categories[i]._endAngle_ = categories[i]._endAngle_ % 2;\r\n }\r\n tempStartAngle = categories[i]._endAngle_;\r\n }\r\n return categories;\r\n}\r\n\r\nfunction getGaugeDataPoints(series, categories, gaugeOption) {\r\n let process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (gaugeOption.pointer.color == 'auto') {\r\n for (let i = 0; i < categories.length; i++) {\r\n if (item.data <= categories[i].value) {\r\n item.color = categories[i].color;\r\n break;\r\n }\r\n }\r\n } else {\r\n item.color = gaugeOption.pointer.color;\r\n }\r\n let totalAngle;\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle;\r\n item._oldAngle_ = gaugeOption.oldAngle;\r\n if (gaugeOption.oldAngle < gaugeOption.endAngle) {\r\n item._oldAngle_ += 2;\r\n }\r\n if (item.data >= gaugeOption.oldData) {\r\n item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle;\r\n } else {\r\n item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process;\r\n }\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getPieTextMaxLength(series, config, context, opts) {\r\n series = getPieDataPoints(series);\r\n let maxLength = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n let text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';\r\n maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context));\r\n }\r\n return maxLength;\r\n}\r\n\r\nfunction fixColumeData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n if (opts.type == 'mix') {\r\n seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0;\r\n } else {\r\n seriesGap = opts.extra.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n }\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix);\r\n }\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n seriesGap = opts.extra.bar.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = eachSpacing - 2 * categoryGap;\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (index > 0) {\r\n item.width -= border;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction getXAxisPoints(categories, opts, config) {\r\n var spacingValid = opts.width - opts.area[1] - opts.area[3];\r\n var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length;\r\n if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {\r\n dataCount -= 1;\r\n }\r\n var widthRatio = 0;\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n widthRatio = opts.extra.mount.widthRatio - 1;\r\n dataCount += widthRatio;\r\n }\r\n var eachSpacing = spacingValid / dataCount;\r\n var xAxisPoints = [];\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n categories.forEach(function(item, index) {\r\n xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing);\r\n });\r\n if (opts.xAxis.boundaryGap !== 'justify') {\r\n if (opts.enableScroll === true) {\r\n xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing);\r\n } else {\r\n xAxisPoints.push(endX);\r\n }\r\n }\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n startX: startX,\r\n endX: endX,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var cPoints = [];\r\n item.forEach(function(items, indexs) {\r\n var point = {};\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n var value = items.value || items;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n cPoints.push(point);\r\n });\r\n points.push(cPoints);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' ) {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n if(opts.type == 'bubble'){\r\n point.r = item[2];\r\n point.t = item[3];\r\n }\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process){\r\n var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;\r\n var boundaryGap = opts.xAxis.boundaryGap;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n if(lineOption.animation == 'vertical'){\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }else{\r\n point.x = xAxisPoints[0] + eachSpacing * index * process;\r\n var value = item;\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process){\r\n var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n point.x += eachSpacing / 2;\r\n var height = validHeight * (value * process - minRange) / (maxRange - minRange);\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints) {\r\n var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n var mountWidth = eachSpacing * mountOption.widthRatio;\r\n series.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n point.x += eachSpacing / 2;\r\n var value = item.data;\r\n var height = validHeight * (value * process - minRange) / (maxRange - minRange);\r\n point.y = opts.height - height - opts.area[2];\r\n point.value = value;\r\n point.width = mountWidth;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validWidth * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.height = height;\r\n point.value = value;\r\n point.x = height + opts.area[3];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n point.y0 = opts.height - Math.round(heightc) - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.height = height - heightc;\r\n point.x = opts.area[3] + height;\r\n point.x0 = opts.area[3] + heightc;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getYAxisTextList(series, opts, config, stack, yData) {\r\n var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[1]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n var minData = yData.min || 0;\r\n var maxData = yData.max || 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n if (minData === maxData) {\r\n if(maxData == 0){\r\n maxData = 10;\r\n }else{\r\n minData = 0;\r\n }\r\n }\r\n var dataRange = getDataRange(minData, maxData);\r\n var minRange = (yData.min === undefined || yData.min === null) ? dataRange.minRange : yData.min;\r\n var maxRange = (yData.max === undefined || yData.max === null) ? dataRange.maxRange : yData.max;\r\n var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;\r\n var range = [];\r\n for (var i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range.reverse();\r\n}\r\n\r\nfunction calYAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.column);\r\n //如果是多Y轴,重新计算\r\n var YLength = opts.yAxis.data.length;\r\n var newSeries = new Array(YLength);\r\n if (YLength > 0) {\r\n for (let i = 0; i < YLength; i++) {\r\n newSeries[i] = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if (series[j].index == i) {\r\n newSeries[i].push(series[j]);\r\n }\r\n }\r\n }\r\n var rangesArr = new Array(YLength);\r\n var rangesFormatArr = new Array(YLength);\r\n var yAxisWidthArr = new Array(YLength);\r\n\r\n for (let i = 0; i < YLength; i++) {\r\n let yData = opts.yAxis.data[i];\r\n //如果总开关不显示,强制每个Y轴为不显示\r\n if (opts.yAxis.disabled == true) {\r\n yData.disabled = true;\r\n }\r\n if(yData.type === 'categories'){\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return val + (yData.unit || '')};\r\n }\r\n yData.categories = yData.categories || opts.categories;\r\n rangesArr[i] = yData.categories;\r\n }else{\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return util.toFixed(val, yData.tofix || 0) + (yData.unit || '')};\r\n }\r\n rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i);\r\n }\r\n let yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize;\r\n yAxisWidthArr[i] = {\r\n position: yData.position ? yData.position : 'left',\r\n width: 0\r\n };\r\n rangesFormatArr[i] = rangesArr[i].map(function(items,index) {\r\n items = yData.formatter(items,index,opts);\r\n yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(items, yAxisFontSizes, context) + 5);\r\n return items;\r\n });\r\n let calibration = yData.calibration ? 4 * opts.pix : 0;\r\n yAxisWidthArr[i].width += calibration + 3 * opts.pix;\r\n if (yData.disabled === true) {\r\n yAxisWidthArr[i].width = 0;\r\n }\r\n }\r\n } else {\r\n var rangesArr = new Array(1);\r\n var rangesFormatArr = new Array(1);\r\n var yAxisWidthArr = new Array(1);\r\n if(opts.type === 'bar'){\r\n rangesArr[0] = opts.categories;\r\n if(!opts.yAxis.formatter){\r\n opts.yAxis.formatter = (val,index,opts) => {return val + (opts.yAxis.unit || '')}\r\n }\r\n }else{\r\n if(!opts.yAxis.formatter){\r\n opts.yAxis.formatter = (val,index,opts) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')}\r\n }\r\n rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});\r\n }\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize;\r\n rangesFormatArr[0] = rangesArr[0].map(function(item,index) {\r\n item = opts.yAxis.formatter(item,index,opts);\r\n yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5);\r\n return item;\r\n });\r\n yAxisWidthArr[0].width += 3 * opts.pix;\r\n if (opts.yAxis.disabled === true) {\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n opts.yAxis.data[0] = {\r\n disabled: true\r\n };\r\n } else {\r\n opts.yAxis.data[0] = {\r\n disabled: false,\r\n position: 'left',\r\n max: opts.yAxis.max,\r\n min: opts.yAxis.min,\r\n formatter: opts.yAxis.formatter\r\n };\r\n if(opts.type === 'bar'){\r\n opts.yAxis.data[0].categories = opts.categories;\r\n opts.yAxis.data[0].type = 'categories';\r\n }\r\n }\r\n }\r\n return {\r\n rangesFormat: rangesFormatArr,\r\n ranges: rangesArr,\r\n yAxisWidth: yAxisWidthArr\r\n };\r\n}\r\n\r\nfunction calTooltipYAxisData(point, series, opts, config, eachSpacing) {\r\n let ranges = [].concat(opts.chartData.yAxisData.ranges);\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let minAxis = opts.area[0];\r\n let items = [];\r\n for (let i = 0; i < ranges.length; i++) {\r\n let maxVal = Math.max.apply(this, ranges[i]);\r\n let minVal = Math.min.apply(this, ranges[i]);\r\n let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;\r\n item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0);\r\n items.push(String(item))\r\n }\r\n return items;\r\n}\r\n\r\nfunction calMarkLineData(points, opts) {\r\n let minRange, maxRange;\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n for (let i = 0; i < points.length; i++) {\r\n points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0;\r\n let range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]);\r\n minRange = range.pop();\r\n maxRange = range.shift();\r\n let height = spacingValid * (points[i].value - minRange) / (maxRange - minRange);\r\n points[i].y = opts.height - Math.round(height) - opts.area[2];\r\n }\r\n return points;\r\n}\r\n\r\nfunction contextRotate(context, opts) {\r\n if (opts.rotateLock !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n } else if (opts._rotate_ !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n opts._rotate_ = true;\r\n }\r\n}\r\n\r\nfunction drawPointShape(points, color, shape, context, opts) {\r\n context.beginPath();\r\n if (opts.dataPointShapeType == 'hollow') {\r\n context.setStrokeStyle(color);\r\n context.setFillStyle(opts.background);\r\n context.setLineWidth(2 * opts.pix);\r\n } else {\r\n context.setStrokeStyle(\"#ffffff\");\r\n context.setFillStyle(color);\r\n context.setLineWidth(1 * opts.pix);\r\n }\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'none') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n}\r\n\r\nfunction drawActivePoint(points, color, shape, context, opts, option, seriesIndex) {\r\n if(!opts.tooltip){\r\n return\r\n }\r\n if(opts.tooltip.group.length>0 && opts.tooltip.group.includes(seriesIndex) == false){\r\n return\r\n }\r\n var pointIndex = typeof opts.tooltip.index === 'number' ? opts.tooltip.index : opts.tooltip.index[opts.tooltip.group.indexOf(seriesIndex)];\r\n context.beginPath();\r\n if (option.activeType == 'hollow') {\r\n context.setStrokeStyle(color);\r\n context.setFillStyle(opts.background);\r\n context.setLineWidth(2 * opts.pix);\r\n } else {\r\n context.setStrokeStyle(\"#ffffff\");\r\n context.setFillStyle(color);\r\n context.setLineWidth(1 * opts.pix);\r\n }\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index ) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null && pointIndex == index) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'none') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n}\r\n\r\nfunction drawRingTitle(opts, config, context, center) {\r\n var titlefontSize = opts.title.fontSize || config.titleFontSize;\r\n var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize;\r\n var title = opts.title.name || '';\r\n var subtitle = opts.subtitle.name || '';\r\n var titleFontColor = opts.title.color || opts.fontColor;\r\n var subtitleFontColor = opts.subtitle.color || opts.fontColor;\r\n var titleHeight = title ? titlefontSize : 0;\r\n var subtitleHeight = subtitle ? subtitlefontSize : 0;\r\n var margin = 5;\r\n if (subtitle) {\r\n var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context);\r\n var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX|| 0) * opts.pix ;\r\n var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix;\r\n if (title) {\r\n startY += (titleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(subtitlefontSize * opts.pix);\r\n context.setFillStyle(subtitleFontColor);\r\n context.fillText(subtitle, startX, startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (title) {\r\n var _textWidth = measureText(title, titlefontSize * opts.pix, context);\r\n var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0);\r\n var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix;\r\n if (subtitle) {\r\n _startY -= (subtitleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(titlefontSize * opts.pix);\r\n context.setFillStyle(titleFontColor);\r\n context.fillText(title, _startX, _startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n if (data[index].constructor.toString().indexOf('Array')>-1) {\r\n value = data[index][1];\r\n } else {\r\n value = data[index].value\r\n }\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawColumePointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n var Position = opts.extra.column.labelPosition;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n if (data[index].constructor.toString().indexOf('Array')>-1) {\r\n value = data[index][1];\r\n } else {\r\n value = data[index].value\r\n }\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n var startY = item.y - 4 * opts.pix + textOffset * opts.pix;\r\n if(item.y > series.zeroPoints){\r\n startY = item.y + textOffset * opts.pix + fontSize;\r\n }\r\n if(Position == 'insideTop'){\r\n startY = item.y + fontSize + textOffset * opts.pix;\r\n if(item.y > series.zeroPoints){\r\n startY = item.y - textOffset * opts.pix - 4 * opts.pix;\r\n }\r\n }\r\n if(Position == 'center'){\r\n startY = item.y + textOffset * opts.pix + (opts.height - opts.area[2] - item.y + fontSize)/2;\r\n if(series.zeroPoints < opts.height - opts.area[2]){\r\n startY = item.y + textOffset * opts.pix + (series.zeroPoints - item.y + fontSize)/2;\r\n }\r\n if(item.y > series.zeroPoints){\r\n startY = item.y - textOffset * opts.pix - (item.y - series.zeroPoints - fontSize)/2;\r\n }\r\n if(opts.extra.column.type == 'stack'){\r\n startY = item.y + textOffset * opts.pix + (item.y0 - item.y + fontSize)/2;\r\n }\r\n }\r\n if(Position == 'bottom'){\r\n startY = opts.height - opts.area[2] + textOffset * opts.pix - 4 * opts.pix;\r\n if(series.zeroPoints < opts.height - opts.area[2]){\r\n startY = series.zeroPoints + textOffset * opts.pix - 4 * opts.pix;\r\n }\r\n if(item.y > series.zeroPoints){\r\n startY = series.zeroPoints - textOffset * opts.pix + fontSize + 2 * opts.pix;\r\n }\r\n if(opts.extra.column.type == 'stack'){\r\n startY = item.y0 + textOffset * opts.pix - 4 * opts.pix;\r\n }\r\n }\r\n context.fillText(String(formatVal), item.x, startY);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawMountPointText(points, series, config, context, opts, zeroPoints) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n var Position = opts.extra.mount.labelPosition;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series[index].textColor || opts.fontColor);\r\n var value = item.value\r\n var formatVal = series[index].formatter ? series[index].formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n var startY = item.y - 4 * opts.pix + textOffset * opts.pix;\r\n if(item.y > zeroPoints){\r\n startY = item.y + textOffset * opts.pix + fontSize;\r\n }\r\n context.fillText(String(formatVal), item.x, startY);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawBarPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n value = data[index].value ;\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('left');\r\n context.fillText(String(formatVal), item.x + 4 * opts.pix , item.y + fontSize / 2 - 3 );\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n}\r\n\r\nfunction drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {\r\n radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n let totalAngle;\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let totalNumber = gaugeOption.endNumber - gaugeOption.startNumber;\r\n let splitNumber = totalNumber / gaugeOption.splitLine.splitNumber;\r\n let nowAngle = gaugeOption.startAngle;\r\n let nowNumber = gaugeOption.startNumber;\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n var pos = {\r\n x: radius * Math.cos(nowAngle * Math.PI),\r\n y: radius * Math.sin(nowAngle * Math.PI)\r\n };\r\n var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber,i,opts) : nowNumber;\r\n pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2;\r\n pos.y += centerPosition.y;\r\n var startX = pos.x;\r\n var startY = pos.y;\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(gaugeOption.labelColor || opts.fontColor);\r\n context.fillText(labelText, startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n nowAngle += splitAngle;\r\n if (nowAngle >= 2) {\r\n nowAngle = nowAngle % 2;\r\n }\r\n nowNumber += splitNumber;\r\n }\r\n}\r\n\r\nfunction drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {\r\n var radarOption = opts.extra.radar || {};\r\n angleList.forEach(function(angle, index) {\r\n if(radarOption.labelPointShow === true && opts.categories[index] !== ''){\r\n var posPoint = {\r\n x: radius * Math.cos(angle),\r\n y: radius * Math.sin(angle)\r\n };\r\n var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition);\r\n context.setFillStyle(radarOption.labelPointColor);\r\n context.beginPath();\r\n context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false);\r\n context.closePath();\r\n context.fill();\r\n }\r\n if(radarOption.labelShow === true){\r\n var pos = {\r\n x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle),\r\n y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle)\r\n };\r\n var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition);\r\n var startX = posRelativeCanvas.x;\r\n var startY = posRelativeCanvas.y;\r\n if (util.approximatelyEqual(pos.x, 0)) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2;\r\n } else if (pos.x < 0) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context);\r\n }\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(radarOption.labelColor || opts.fontColor);\r\n context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n\r\n}\r\n\r\nfunction drawPieText(series, opts, config, context, radius, center) {\r\n var lineRadius = config.pieChartLinePadding;\r\n var textObjectCollection = [];\r\n var lastTextObject = null;\r\n var seriesConvert = series.map(function(item,index) {\r\n var text = item.formatter ? item.formatter(item,index,series,opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2);\r\n if (item._rose_proportion_) {\r\n arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2);\r\n }\r\n var color = item.color;\r\n var radius = item._radius_;\r\n return {\r\n arc: arc,\r\n text: text,\r\n color: color,\r\n radius: radius,\r\n textColor: item.textColor,\r\n textSize: item.textSize,\r\n labelShow: item.labelShow\r\n };\r\n });\r\n for (let i = 0; i < seriesConvert.length; i++) {\r\n let item = seriesConvert[i];\r\n // line end\r\n let orginX1 = Math.cos(item.arc) * (item.radius + lineRadius);\r\n let orginY1 = Math.sin(item.arc) * (item.radius + lineRadius);\r\n // line start\r\n let orginX2 = Math.cos(item.arc) * item.radius;\r\n let orginY2 = Math.sin(item.arc) * item.radius;\r\n // text start\r\n let orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding;\r\n let orginY3 = orginY1;\r\n let textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context);\r\n let startY = orginY3;\r\n if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, {\r\n x: orginX3\r\n })) {\r\n if (orginX3 > 0) {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n } else if (orginX1 < 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n if (orginY3 > 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n }\r\n }\r\n }\r\n if (orginX3 < 0) {\r\n orginX3 -= textWidth;\r\n }\r\n let textObject = {\r\n lineStart: {\r\n x: orginX2,\r\n y: orginY2\r\n },\r\n lineEnd: {\r\n x: orginX1,\r\n y: orginY1\r\n },\r\n start: {\r\n x: orginX3,\r\n y: startY\r\n },\r\n width: textWidth,\r\n height: config.fontSize,\r\n text: item.text,\r\n color: item.color,\r\n textColor: item.textColor,\r\n textSize: item.textSize\r\n };\r\n lastTextObject = avoidCollision(textObject, lastTextObject);\r\n textObjectCollection.push(lastTextObject);\r\n }\r\n for (let i = 0; i < textObjectCollection.length; i++) {\r\n if(seriesConvert[i].labelShow === false){\r\n continue;\r\n }\r\n let item = textObjectCollection[i];\r\n let lineStartPoistion = convertCoordinateOrigin(item.lineStart.x, item.lineStart.y, center);\r\n let lineEndPoistion = convertCoordinateOrigin(item.lineEnd.x, item.lineEnd.y, center);\r\n let textPosition = convertCoordinateOrigin(item.start.x, item.start.y, center);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.beginPath();\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n let curveStartX = item.start.x < 0 ? textPosition.x + item.width : textPosition.x;\r\n let textStartX = item.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5;\r\n context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(textPosition.x + item.width, textPosition.y);\r\n context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(item.text, textStartX, textPosition.y + 3);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitLine(offsetX, opts, config, context) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType;\r\n toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(offsetX, startY);\r\n context.lineTo(offsetX, endY);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.xAxisLabel) {\r\n let labelText = opts.categories[opts.tooltip.index];\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let textX = offsetX - 0.5 * textWidth;\r\n let textY = endY + 2 * opts.pix;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(textX - toolTipOption.boxPadding * opts.pix, textY, textWidth + 2 * toolTipOption.boxPadding * opts.pix, config.fontSize + 2 * toolTipOption.boxPadding * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(String(labelText), textX, textY + toolTipOption.boxPadding * opts.pix + config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawMarkLine(opts, config, context) {\r\n let markLineOption = assign({}, {\r\n type: 'solid',\r\n dashLength: 4,\r\n data: []\r\n }, opts.extra.markLine);\r\n let startX = opts.area[3];\r\n let endX = opts.width - opts.area[1];\r\n let points = calMarkLineData(markLineOption.data, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = assign({}, {\r\n lineColor: '#DE4A42',\r\n showLabel: false,\r\n labelFontSize: 13,\r\n labelPadding: 6,\r\n labelFontColor: '#666666',\r\n labelBgColor: '#DFE8FF',\r\n labelBgOpacity: 0.8,\r\n labelAlign: 'left',\r\n labelOffsetX: 0,\r\n labelOffsetY: 0,\r\n }, points[i]);\r\n if (markLineOption.type == 'dash') {\r\n context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]);\r\n }\r\n context.setStrokeStyle(item.lineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, item.y);\r\n context.lineTo(endX, item.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (item.showLabel) {\r\n let fontSize = item.labelFontSize * opts.pix;\r\n let labelText = item.labelText ? item.labelText : item.value;\r\n context.setFontSize(fontSize);\r\n let textWidth = measureText(labelText, fontSize, context);\r\n let bgWidth = textWidth + item.labelPadding * opts.pix * 2;\r\n let bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1];\r\n bgStartX += item.labelOffsetX;\r\n let bgStartY = item.y - 0.5 * fontSize - item.labelPadding * opts.pix;\r\n bgStartY += item.labelOffsetY;\r\n let textX = bgStartX + item.labelPadding * opts.pix;\r\n let textY = item.y;\r\n context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity));\r\n context.setStrokeStyle(item.labelBgColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.rect(bgStartX, bgStartY, bgWidth, fontSize + 2 * item.labelPadding * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.setFontSize(fontSize);\r\n context.setTextAlign('left');\r\n context.setFillStyle(item.labelFontColor);\r\n context.fillText(String(labelText), textX, bgStartY + fontSize + item.labelPadding * opts.pix/2);\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n gridType: 'solid',\r\n dashLength: 4\r\n }, opts.extra.tooltip);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, opts.tooltip.offset.y);\r\n context.lineTo(endX, opts.tooltip.offset.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.yAxisLabel) {\r\n let boxPadding = toolTipOption.boxPadding * opts.pix;\r\n let labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing);\r\n let widthArr = opts.chartData.yAxisData.yAxisWidth;\r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n for (let i = 0; i < labelText.length; i++) {\r\n context.setFontSize(toolTipOption.fontSize * opts.pix);\r\n let textWidth = measureText(labelText[i], toolTipOption.fontSize * opts.pix, context);\r\n let bgStartX, bgEndX, bgWidth;\r\n if (widthArr[i].position == 'left') {\r\n bgStartX = tStartLeft - (textWidth + boxPadding * 2) - 2 * opts.pix;\r\n bgEndX = Math.max(bgStartX, bgStartX + textWidth + boxPadding * 2);\r\n } else {\r\n bgStartX = tStartRight + 2 * opts.pix;\r\n bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + boxPadding * 2);\r\n }\r\n bgWidth = bgEndX - bgStartX;\r\n let textX = bgStartX + (bgWidth - textWidth) / 2;\r\n let textY = opts.tooltip.offset.y;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(bgStartX, textY - 0.5 * config.fontSize - boxPadding, bgWidth, config.fontSize + 2 * boxPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n if (widthArr[i].position == 'left') {\r\n tStartLeft -= (widthArr[i].width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08,\r\n activeWidth: eachSpacing\r\n }, opts.extra.column);\r\n toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\nfunction drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08\r\n }, opts.extra.bar);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect( startX ,offsetX - eachSpacing / 2 , endX - startX,eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\n\r\nfunction drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n showBox: true,\r\n showArrow: true,\r\n showCategory: false,\r\n bgColor: '#000000',\r\n bgOpacity: 0.7,\r\n borderColor: '#000000',\r\n borderWidth: 0,\r\n borderRadius: 0,\r\n borderOpacity: 0.7,\r\n boxPadding: 3,\r\n fontColor: '#FFFFFF',\r\n fontSize: 13,\r\n lineHeight: 20,\r\n legendShow: true,\r\n legendShape: 'auto',\r\n splitLine: true,\r\n }, opts.extra.tooltip);\r\n if(toolTipOption.showCategory==true && opts.categories){\r\n textList.unshift({text:opts.categories[opts.tooltip.index],color:null})\r\n }\r\n var fontSize = toolTipOption.fontSize * opts.pix;\r\n var lineHeight = toolTipOption.lineHeight * opts.pix;\r\n var boxPadding = toolTipOption.boxPadding * opts.pix;\r\n var legendWidth = fontSize;\r\n var legendMarginRight = 5 * opts.pix;\r\n if(toolTipOption.legendShow == false){\r\n legendWidth = 0;\r\n legendMarginRight = 0;\r\n }\r\n var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0;\r\n var isOverRightBorder = false;\r\n if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') {\r\n if (toolTipOption.splitLine == true) {\r\n drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context);\r\n }\r\n }\r\n offset = assign({\r\n x: 0,\r\n y: 0\r\n }, offset);\r\n offset.y -= 8 * opts.pix;\r\n var textWidth = textList.map(function(item) {\r\n return measureText(item.text, fontSize, context);\r\n });\r\n var toolTipWidth = legendWidth + legendMarginRight + 4 * boxPadding + Math.max.apply(null, textWidth);\r\n var toolTipHeight = 2 * boxPadding + textList.length * lineHeight;\r\n if (toolTipOption.showBox == false) {\r\n return\r\n }\r\n // if beyond the right border\r\n if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) {\r\n isOverRightBorder = true;\r\n }\r\n if (toolTipHeight + offset.y > opts.height) {\r\n offset.y = opts.height - toolTipHeight;\r\n }\r\n // draw background rect\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.bgColor, toolTipOption.bgOpacity));\r\n context.setLineWidth(toolTipOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity));\r\n var radius = toolTipOption.borderRadius;\r\n if (isOverRightBorder) {\r\n // 增加左侧仍然超出的判断\r\n if(toolTipWidth + arrowWidth > opts.width){\r\n offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width)\r\n }\r\n if(toolTipWidth > offset.x){\r\n offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width)\r\n }\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n }\r\n context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius,\r\n Math.PI / 2, Math.PI, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n } else {\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n }\r\n context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0,\r\n false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0,\r\n Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n }\r\n context.closePath();\r\n context.fill();\r\n if (toolTipOption.borderWidth > 0) {\r\n context.stroke();\r\n }\r\n // draw legend\r\n if(toolTipOption.legendShow){\r\n textList.forEach(function(item, index) {\r\n if (item.color !== null) {\r\n context.beginPath();\r\n context.setFillStyle(item.color);\r\n var startX = offset.x + arrowWidth + 2 * boxPadding;\r\n var startY = offset.y + (lineHeight - fontSize) / 2 + lineHeight * index + boxPadding + 1;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding;\r\n }\r\n switch (item.legendShape) {\r\n case 'line':\r\n context.moveTo(startX, startY + 0.5 * legendWidth - 2 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * legendWidth - 2 * opts.pix, legendWidth, 4 * opts.pix);\r\n break;\r\n case 'triangle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n break;\r\n case 'diamond':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n break;\r\n case 'circle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth);\r\n context.arc(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth, 5 * opts.pix, 0, 2 * Math.PI);\r\n break;\r\n case 'rect':\r\n context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'square':\r\n context.moveTo(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.fillRect(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);\r\n break;\r\n default:\r\n context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n }\r\n context.closePath();\r\n context.fill();\r\n }\r\n });\r\n }\r\n \r\n // draw text list\r\n textList.forEach(function(item, index) {\r\n var startX = offset.x + arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;\r\n }\r\n var startY = offset.y + lineHeight * index + (lineHeight - fontSize)/2 - 1 + boxPadding + fontSize;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setTextBaseline('normal');\r\n context.setFillStyle(toolTipOption.fontColor);\r\n context.fillText(item.text, startX, startY);\r\n context.closePath();\r\n context.stroke();\r\n });\r\n}\r\n\r\nfunction drawColumnDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n labelPosition: 'outside'\r\n }, opts.extra.column);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n \r\n // 计算0轴坐标\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);\r\n let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];\r\n eachSeries.zeroPoints = zeroPoints;\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process);\r\n var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y > zeroPoints ? zeroPoints : item.y;\r\n const width = item.width;\r\n const height = Math.abs(zeroPoints - item.y);\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n if(item.y > zeroPoints){\r\n columnOption.barBorderRadius = [0, 0,width / 2, width / 2];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.lineTo(startX, zeroPoints);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x - item.width / 2 + 1;\r\n var height = opts.height - item.y - opts.area[2];\r\n var height0 = opts.height - item.y0 - opts.area[2];\r\n if (seriesIndex > 0) {\r\n height -= height0;\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y);\r\n context.fillRect(startX, item.y, item.width, height);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'meter':\r\n // 绘制温度计数据图\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //画背景颜色\r\n context.beginPath();\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(columnOption.meterBorder * opts.pix);\r\n }\r\n if(seriesIndex == 0){\r\n context.setFillStyle(columnOption.meterFillColor);\r\n }else{\r\n context.setFillStyle(item.color || eachSeries.color);\r\n }\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = zeroPoints - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n context.fill();\r\n }else{\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.lineTo(startX, zeroPoints);\r\n context.lineTo(startX, item.y);\r\n context.fill();\r\n }\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawColumePointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawColumePointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'meter':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawColumePointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMountDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let mountOption = assign({}, {\r\n type: 'mount',\r\n widthRatio: 1,\r\n borderWidth: 1,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mount);\r\n mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio;\r\n mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config);\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n \r\n // 计算0轴坐标\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);\r\n let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];\r\n \r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);\r\n switch (mountOption.type) {\r\n case 'bar':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4) || mountOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y > zeroPoints ? zeroPoints : item.y;\r\n const width = item.width;\r\n const height = Math.abs(zeroPoints - item.y);\r\n if (mountOption.barBorderCircle) {\r\n mountOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n if(item.y > zeroPoints){\r\n mountOption.barBorderRadius = [0, 0,width / 2, width / 2];\r\n }\r\n let [r0, r1, r2, r3] = mountOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.lineTo(startX, zeroPoints);\r\n context.lineTo(startX, item.y);\r\n }\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'triangle':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, zeroPoints);\r\n context.lineTo(item.x, item.y);\r\n context.lineTo(startX + item.width, zeroPoints);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'mount':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, zeroPoints);\r\n context.bezierCurveTo(item.x - item.width/4, zeroPoints, item.x - item.width/4, item.y, item.x, item.y);\r\n context.bezierCurveTo(item.x + item.width/4, item.y, item.x + item.width/4, zeroPoints, startX + item.width, zeroPoints);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'sharp':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, zeroPoints);\r\n context.quadraticCurveTo(item.x - 0, zeroPoints - height/4, item.x, item.y);\r\n context.quadraticCurveTo(item.x + 0, zeroPoints - height/4, startX + item.width, zeroPoints)\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);\r\n drawMountPointText(points, series, config, context, opts, zeroPoints);\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: points,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBarDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let yAxisPoints = [];\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2])/opts.categories.length;\r\n for (let i = 0; i < opts.categories.length; i++) {\r\n yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i);\r\n }\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.bar);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = yAxisPoints.length + 2;\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //var startX = item.x - item.width / 2;\r\n var startX = opts.area[3];\r\n var startY = item.y - item.width / 2;\r\n var height = item.height;\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, item.x, item.y);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const width = item.width;\r\n const top = item.y - item.width / 2;\r\n const height = item.height;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n \r\n context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2);\r\n context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0);\r\n context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2);\r\n context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, startY);\r\n context.lineTo(item.x, startY);\r\n context.lineTo(item.x, startY + item.width);\r\n context.lineTo(startX, startY + item.width);\r\n context.lineTo(startX, startY);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x0;\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y - item.width/2);\r\n context.fillRect(startX, item.y - item.width/2, item.height , item.width);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n return {\r\n yAxisPoints: yAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawCandleDataPoints(series, seriesMA, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var candleOption = assign({}, {\r\n color: {},\r\n average: {}\r\n }, opts.extra.candle);\r\n candleOption.color = assign({}, {\r\n upLine: '#f04864',\r\n upFill: '#f04864',\r\n downLine: '#2fc25b',\r\n downFill: '#2fc25b'\r\n }, candleOption.color);\r\n candleOption.average = assign({}, {\r\n show: false,\r\n name: [],\r\n day: [],\r\n color: config.color\r\n }, candleOption.average);\r\n opts.extra.candle = candleOption;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n //画均线\r\n if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 邱贵翔\r\n seriesMA.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(1);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x,\r\n item.y);\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //画K线\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList[0].length; i++) {\r\n if (i > leftNum && i < rightNum) {\r\n let item = splitPointList[0][i];\r\n context.beginPath();\r\n //如果上涨\r\n if (data[i][1] - data[i][0] > 0) {\r\n context.setStrokeStyle(candleOption.color.upLine);\r\n context.setFillStyle(candleOption.color.upFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n } else {\r\n context.setStrokeStyle(candleOption.color.downLine);\r\n context.setFillStyle(candleOption.color.downFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n }\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawAreaDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var areaOption = assign({}, {\r\n type: 'straight',\r\n opacity: 0.2,\r\n addLine: false,\r\n width: 2,\r\n gradient: false,\r\n activeType: 'none'\r\n }, opts.extra.area);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n let data = eachSeries.data;\r\n let points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数\r\n context.beginPath();\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length > 1) {\r\n let firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } \r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, endY);\r\n // context.lineTo(item.x - eachSpacing / 2, endY);\r\n // context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n //画连线\r\n if (areaOption.addLine) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n }\r\n }\r\n //画点\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, areaOption,seriesIndex);\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawScatterDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var scatterOption = assign({}, {\r\n type: 'circle'\r\n }, opts.extra.scatter);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setFillStyle(eachSeries.color);\r\n context.setLineWidth(1 * opts.pix);\r\n var shape = eachSeries.pointShape;\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBubbleDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var bubbleOption = assign({}, {\r\n opacity: 1,\r\n border:2\r\n }, opts.extra.bubble);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(bubbleOption.border * opts.pix);\r\n context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity));\r\n points.forEach(function(item, index) {\r\n context.moveTo(item.x + item.r, item.y);\r\n context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false);\r\n });\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n \r\n if (opts.dataLabel !== false && process === 1) {\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n var fontSize = eachSeries.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(eachSeries.textColor || \"#FFFFFF\");\r\n context.setTextAlign('center');\r\n context.fillText(String(item.t), item.x, item.y + fontSize/2);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawLineDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var lineOption = assign({}, {\r\n type: 'straight',\r\n width: 2,\r\n activeType: 'none',\r\n linearType: 'none',\r\n onShadow: false,\r\n animation: 'vertical',\r\n }, opts.extra.line);\r\n lineOption.width *= opts.pix;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n // 这段很神奇的代码用于解决ios16的setStrokeStyle失效的bug\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.moveTo(-10000, -10000);\r\n context.lineTo(-10001, -10001);\r\n context.stroke();\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n var strokeColor = eachSeries.color;\r\n if (lineOption.linearType !== 'none' && eachSeries.linearColor && eachSeries.linearColor.length > 0) {\r\n var grd = context.createLinearGradient(opts.chartData.xAxisData.startX, opts.height/2, opts.chartData.xAxisData.endX, opts.height/2);\r\n for (var i = 0; i < eachSeries.linearColor.length; i++) {\r\n grd.addColorStop(eachSeries.linearColor[i][0], hexToRgb(eachSeries.linearColor[i][1], 1));\r\n }\r\n strokeColor = grd\r\n }\r\n context.setStrokeStyle(strokeColor);\r\n if (lineOption.onShadow == true && eachSeries.setShadow && eachSeries.setShadow.length > 0) {\r\n context.setShadow(eachSeries.setShadow[0], eachSeries.setShadow[1], eachSeries.setShadow[2], eachSeries.setShadow[3]);\r\n }else{\r\n context.setShadow(0, 0, 0, 'rgba(0,0,0,0)');\r\n }\r\n context.setLineWidth(lineOption.width);\r\n splitPointList.forEach(function(points, index) {\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (lineOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n });\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, lineOption);\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMixDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n width: eachSpacing / 2,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mix.column);\r\n let areaOption = assign({}, {\r\n opacity: 0.2,\r\n gradient: false\r\n }, opts.extra.mix.area);\r\n let lineOption = assign({}, {\r\n width: 2\r\n }, opts.extra.mix.line);\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n var columnIndex = 0;\r\n var columnLength = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (eachSeries.type == 'column') {\r\n columnLength += 1;\r\n }\r\n });\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n // 绘制柱状数据图\r\n if (eachSeries.type == 'column') {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n columnIndex += 1;\r\n }\r\n //绘制区域图数据\r\n if (eachSeries.type == 'area') {\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(2 * opts.pix);\r\n if (points.length > 1) {\r\n var firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (eachSeries.style === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, item.y);\r\n // context.lineTo(item.x + eachSpacing / 2, endY);\r\n // context.lineTo(item.x - eachSpacing / 2, endY);\r\n // context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n // 绘制折线数据图\r\n if (eachSeries.type == 'line') {\r\n var splitPointList = splitPoints(points,eachSeries);\r\n splitPointList.forEach(function(points, index) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(lineOption.width * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (eachSeries.style == 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y,\r\n item.x, item.y);\r\n }\r\n }\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n });\r\n }\r\n // 绘制点数据图\r\n if (eachSeries.type == 'point') {\r\n eachSeries.addPoint = true;\r\n }\r\n if (eachSeries.addPoint == true && eachSeries.type !== 'column') {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n var columnIndex = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n if (eachSeries.type !== 'column') {\r\n drawPointText(points, eachSeries, config, context, opts);\r\n } else {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n columnIndex += 1;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing,\r\n }\r\n}\r\n\r\n\r\nfunction drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) {\r\n drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints)\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints);\r\n }\r\n context.restore();\r\n\r\n}\r\n\r\nfunction drawXAxis(categories, opts, config, context) {\r\n\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n startX = xAxisData.startX,\r\n endX = xAxisData.endX,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area'|| opts.type == 'scatter' || opts.type == 'bubble') {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var startY = opts.height - opts.area[2];\r\n var endY = opts.area[0];\r\n\r\n //绘制滚动条\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n var scrollY = opts.height - opts.area[2] + config.xAxisHeight;\r\n var scrollScreenWidth = endX - startX;\r\n var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n scrollTotalWidth += (opts.extra.mount.widthRatio - 1)*eachSpacing;\r\n }\r\n var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth;\r\n var scrollLeft = 0;\r\n if (opts._scrollDistance_) {\r\n scrollLeft = -opts._scrollDistance_ * (scrollScreenWidth) / scrollTotalWidth;\r\n }\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || \"#EFEBEF\");\r\n context.moveTo(startX, scrollY);\r\n context.lineTo(endX, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollColor || \"#A6A6A6\");\r\n context.moveTo(startX + scrollLeft, scrollY);\r\n context.lineTo(startX + scrollLeft + scrollWidth, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.setLineCap('butt');\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n //绘制X轴刻度线\r\n if (opts.xAxis.calibration === true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index > 0) {\r\n context.beginPath();\r\n context.moveTo(item - eachSpacing / 2, startY);\r\n context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //绘制X轴网格\r\n if (opts.xAxis.disableGrid !== true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n if (opts.xAxis.gridType == 'dash') {\r\n context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]);\r\n }\r\n opts.xAxis.gridEval = opts.xAxis.gridEval || 1;\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index % opts.xAxis.gridEval == 0) {\r\n context.beginPath();\r\n context.moveTo(item, startY);\r\n context.lineTo(item, endY);\r\n context.stroke();\r\n }\r\n });\r\n context.setLineDash([]);\r\n }\r\n //绘制X轴文案\r\n if (opts.xAxis.disabled !== true) {\r\n // 对X轴列表做抽稀处理\r\n //默认全部显示X轴标签\r\n let maxXAxisListLength = categories.length;\r\n //如果设置了X轴单屏数量\r\n if (opts.xAxis.labelCount) {\r\n //如果设置X轴密度\r\n if (opts.xAxis.itemCount) {\r\n maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount);\r\n } else {\r\n maxXAxisListLength = opts.xAxis.labelCount;\r\n }\r\n maxXAxisListLength -= 1;\r\n }\r\n\r\n let ratio = Math.ceil(categories.length / maxXAxisListLength);\r\n\r\n let newCategories = [];\r\n let cgLength = categories.length;\r\n for (let i = 0; i < cgLength; i++) {\r\n if (i % ratio !== 0) {\r\n newCategories.push(\"\");\r\n } else {\r\n newCategories.push(categories[i]);\r\n }\r\n }\r\n newCategories[cgLength - 1] = categories[cgLength - 1];\r\n var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;\r\n if (config._xAxisTextAngle_ === 0) {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n var offset = -measureText(String(xitem), xAxisFontSize, context) / 2;\r\n if (boundaryGap == 'center') {\r\n offset += eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n // 如果在主视图区域内\r\n var _scrollDistance_ = opts._scrollDistance_ || 0;\r\n var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];\r\n if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n context.fillText(String(xitem), xAxisPoints[index] + offset, startY + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.fontSize) * opts.pix / 2 + opts.xAxis.fontSize * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n } else {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item;\r\n // 如果在主视图区域内\r\n var _scrollDistance_ = opts._scrollDistance_ || 0;\r\n var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];\r\n if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){\r\n context.save();\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n var textWidth = measureText(String(xitem), xAxisFontSize, context);\r\n var offsetX = xAxisPoints[index];\r\n if (boundaryGap == 'center') {\r\n offsetX = xAxisPoints[index] + eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n var offsetY = startY + opts.xAxis.marginTop * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_));\r\n if(opts.xAxis.rotateAngle < 0){\r\n offsetX -= xAxisFontSize / 2;\r\n textWidth = 0;\r\n }else{\r\n offsetX += xAxisFontSize / 2;\r\n textWidth = -textWidth;\r\n }\r\n context.translate(offsetX, offsetY);\r\n context.rotate(-1 * config._xAxisTextAngle_);\r\n context.fillText(String(xitem), textWidth , 0 );\r\n context.closePath();\r\n context.stroke();\r\n context.restore();\r\n }\r\n });\r\n }\r\n }\r\n context.restore();\r\n \r\n //画X轴标题\r\n if (opts.xAxis.title) {\r\n context.beginPath();\r\n context.setFontSize(opts.xAxis.titleFontSize * opts.pix);\r\n context.setFillStyle(opts.xAxis.titleFontColor);\r\n context.fillText(String(opts.xAxis.title), opts.width - opts.area[1] + opts.xAxis.titleOffsetX * opts.pix,opts.height - opts.area[2] + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.titleFontSize) * opts.pix / 2 + (opts.xAxis.titleFontSize + opts.xAxis.titleOffsetY) * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n \r\n //绘制X轴轴线\r\n if (opts.xAxis.axisLine) {\r\n context.beginPath();\r\n context.setStrokeStyle(opts.xAxis.axisLineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(endX, opts.height - opts.area[2]);\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawYAxisGrid(categories, opts, config, context) {\r\n if (opts.yAxis.disableGrid === true) {\r\n return;\r\n }\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n let startX = opts.area[3];\r\n let xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1 ){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n TotalWidth += (opts.extra.mount.widthRatio - 1) * xAxiseachSpacing;\r\n }\r\n let endX = startX + TotalWidth;\r\n let points = [];\r\n let startY = 1\r\n if (opts.xAxis.axisLine === false) {\r\n startY = 0\r\n }\r\n for (let i = startY; i < opts.yAxis.splitNumber + 1; i++) {\r\n points.push(opts.height - opts.area[2] - eachSpacing * i);\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.yAxis.gridType == 'dash') {\r\n context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]);\r\n }\r\n context.setStrokeStyle(opts.yAxis.gridColor);\r\n context.setLineWidth(1 * opts.pix);\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n context.moveTo(startX, item);\r\n context.lineTo(endX, item);\r\n context.stroke();\r\n });\r\n context.setLineDash([]);\r\n context.restore();\r\n}\r\n\r\nfunction drawYAxis(series, opts, config, context) {\r\n if (opts.yAxis.disabled === true) {\r\n return;\r\n }\r\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n var eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n var endY = opts.height - opts.area[2];\r\n // set YAxis background\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') {\r\n context.fillRect(0, 0, startX, endY + 2 * opts.pix);\r\n }\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') {\r\n context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n \r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n let tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2;\r\n if (opts.yAxis.data) {\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n let yData = opts.yAxis.data[i];\r\n var points = [];\r\n if(yData.type === 'categories'){\r\n for (let i = 0; i <= yData.categories.length; i++) {\r\n points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * i);\r\n }\r\n }else{\r\n for (let i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n points.push(opts.area[0] + eachSpacing * i);\r\n }\r\n }\r\n if (yData.disabled !== true) {\r\n let rangesFormat = opts.chartData.yAxisData.rangesFormat[i];\r\n let yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize;\r\n let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i];\r\n let textAlign = yData.textAlign || \"right\";\r\n //画Y轴刻度及文案\r\n rangesFormat.forEach(function(item, index) {\r\n var pos = points[index];\r\n context.beginPath();\r\n context.setFontSize(yAxisFontSize);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setFillStyle(yData.fontColor || opts.fontColor);\r\n let tmpstrat = 0;\r\n let gapwidth = 4 * opts.pix;\r\n if (yAxisWidth.position == 'left') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartLeft, pos);\r\n context.lineTo(tStartLeft - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartLeft - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartLeft - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartLeft - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n\r\n } else if (yAxisWidth.position == 'right') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartRight, pos);\r\n context.lineTo(tStartRight + 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartRight + gapwidth\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartRight + yAxisWidth.width\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartRight + yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartCenter, pos);\r\n context.lineTo(tStartCenter - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartCenter - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartCenter - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartCenter - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n //画Y轴轴线\r\n if (yData.axisLine !== false) {\r\n context.beginPath();\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n if (yAxisWidth.position == 'left') {\r\n context.moveTo(tStartLeft, opts.height - opts.area[2]);\r\n context.lineTo(tStartLeft, opts.area[0]);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.moveTo(tStartRight, opts.height - opts.area[2]);\r\n context.lineTo(tStartRight, opts.area[0]);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.moveTo(tStartCenter, opts.height - opts.area[2]);\r\n context.lineTo(tStartCenter, opts.area[0]);\r\n }\r\n context.stroke();\r\n }\r\n //画Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let titleFontSize = yData.titleFontSize * opts.pix || config.fontSize;\r\n let title = yData.title;\r\n context.beginPath();\r\n context.setFontSize(titleFontSize);\r\n context.setFillStyle(yData.titleFontColor || opts.fontColor);\r\n if (yAxisWidth.position == 'left') {\r\n context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (yAxisWidth.position == 'left') {\r\n tStartLeft -= (yAxisWidth.width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction drawLegend(series, opts, config, context, chartData) {\r\n if (opts.legend.show === false) {\r\n return;\r\n }\r\n let legendData = chartData.legendData;\r\n let legendList = legendData.points;\r\n let legendArea = legendData.area;\r\n let padding = opts.legend.padding * opts.pix;\r\n let fontSize = opts.legend.fontSize * opts.pix;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let itemGap = opts.legend.itemGap * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n //画背景及边框\r\n context.beginPath();\r\n context.setLineWidth(opts.legend.borderWidth * opts.pix);\r\n context.setStrokeStyle(opts.legend.borderColor);\r\n context.setFillStyle(opts.legend.backgroundColor);\r\n context.moveTo(legendArea.start.x, legendArea.start.y);\r\n context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height);\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n legendList.forEach(function(itemList, listIndex) {\r\n let width = 0;\r\n let height = 0;\r\n width = legendData.widthArr[listIndex];\r\n height = legendData.heightArr[listIndex];\r\n let startX = 0;\r\n let startY = 0;\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n switch (opts.legend.float) {\r\n case 'left':\r\n startX = legendArea.start.x + padding;\r\n break;\r\n case 'right':\r\n startX = legendArea.start.x + legendArea.width - width;\r\n break;\r\n default:\r\n startX = legendArea.start.x + (legendArea.width - width) / 2;\r\n }\r\n startY = legendArea.start.y + padding + listIndex * lineHeight;\r\n } else {\r\n if (listIndex == 0) {\r\n width = 0;\r\n } else {\r\n width = legendData.widthArr[listIndex - 1];\r\n }\r\n startX = legendArea.start.x + padding + width;\r\n startY = legendArea.start.y + padding + (legendArea.height - height) / 2;\r\n }\r\n context.setFontSize(config.fontSize);\r\n for (let i = 0; i < itemList.length; i++) {\r\n let item = itemList[i];\r\n item.area = [0, 0, 0, 0];\r\n item.area[0] = startX;\r\n item.area[1] = startY;\r\n item.area[3] = startY + lineHeight;\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n switch (item.legendShape) {\r\n case 'line':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix);\r\n break;\r\n case 'triangle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'diamond':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'circle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI);\r\n break;\r\n case 'rect':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'square':\r\n context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'none':\r\n break;\r\n default:\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n startX += shapeWidth + shapeRight;\r\n let fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2;\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);\r\n context.fillText(legendText, startX, startY + fontTrans);\r\n context.closePath();\r\n context.stroke();\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n startX += measureText(legendText, fontSize, context) + itemGap;\r\n item.area[2] = startX;\r\n } else {\r\n item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;;\r\n startX -= shapeWidth + shapeRight;\r\n startY += lineHeight;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction drawPieDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var pieOption = assign({}, {\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n ringWidth: 30,\r\n customRadius: 0,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n centerColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.type == \"pie\" ? opts.extra.pie : opts.extra.ring);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = pieOption.activeRadius * opts.pix;\r\n }\r\n\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n if (pieOption.customRadius > 0) {\r\n radius = pieOption.customRadius * opts.pix;\r\n }\r\n series = getPieDataPoints(series, radius, process);\r\n var activeRadius = pieOption.activeRadius * opts.pix;\r\n pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (pieOption.offsetAngle) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(pieOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(pieOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (pieOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (pieOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n if (opts.type === 'ring') {\r\n var innerPieWidth = radius * 0.6;\r\n if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) {\r\n innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(pieOption.centerColor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n if (process === 1 && opts.type === 'ring') {\r\n drawRingTitle(opts, config, context, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawRoseDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var roseOption = assign({}, {\r\n type: 'area',\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.rose);\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = roseOption.activeRadius * opts.pix;\r\n }\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n var minRadius = roseOption.minRadius || radius * 0.5;\r\n if(radius < minRadius){\r\n radius = minRadius + 10;\r\n }\r\n series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process);\r\n var activeRadius = roseOption.activeRadius * opts.pix;\r\n roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(roseOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(roseOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (roseOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (roseOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawArcbarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var arcbarOption = assign({}, {\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n type: 'default',\r\n direction: 'cw',\r\n lineCap: 'round',\r\n width: 12 ,\r\n gap: 2 ,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.arcbar);\r\n series = getArcbarDataPoints(series, arcbarOption, process);\r\n var centerPosition;\r\n if (arcbarOption.centerX || arcbarOption.centerY) {\r\n centerPosition = {\r\n x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2,\r\n y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2\r\n };\r\n } else {\r\n centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n }\r\n var radius;\r\n if (arcbarOption.radius) {\r\n radius = arcbarOption.radius;\r\n } else {\r\n radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= arcbarOption.width / 2;\r\n }\r\n radius = radius < 10 ? 10 : radius;\r\n arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config);\r\n \r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n //背景颜色\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9');\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n if (arcbarOption.type == 'default') {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw');\r\n } else {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw');\r\n }\r\n context.stroke();\r\n //进度条\r\n var fillColor = eachSeries.color\r\n if(arcbarOption.linearType == 'custom'){\r\n var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y);\r\n grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(0, hexToRgb(eachSeries.color, 1))\r\n fillColor = grd;\r\n }\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(fillColor);\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw');\r\n context.stroke();\r\n }\r\n drawRingTitle(opts, config, context, centerPosition);\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawGaugeDataPoints(categories, series, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var gaugeOption = assign({}, {\r\n type: 'default',\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n width: 15,\r\n labelOffset:13,\r\n splitLine: {\r\n fixRadius: 0,\r\n splitNumber: 10,\r\n width: 15,\r\n color: '#FFFFFF',\r\n childNumber: 5,\r\n childWidth: 5\r\n },\r\n pointer: {\r\n width: 15,\r\n color: 'auto'\r\n }\r\n }, opts.extra.gauge);\r\n if (gaugeOption.oldAngle == undefined) {\r\n gaugeOption.oldAngle = gaugeOption.startAngle;\r\n }\r\n if (gaugeOption.oldData == undefined) {\r\n gaugeOption.oldData = 0;\r\n }\r\n categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle);\r\n var centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n var radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= gaugeOption.width / 2;\r\n radius = radius < 10 ? 10 : radius;\r\n var innerRadius = radius - gaugeOption.width;\r\n var totalAngle = 0;\r\n //判断仪表盘的样式:default百度样式,progress新样式\r\n if (gaugeOption.type == 'progress') {\r\n //## 第一步画中心圆形背景和进度条背景\r\n //中心圆形背景\r\n var pieRadius = radius - gaugeOption.width * 3;\r\n context.beginPath();\r\n let gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius);\r\n //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径)\r\n gradient.addColorStop('0', hexToRgb(series[0].color, 0.3));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false);\r\n context.fill();\r\n //画进度条背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false);\r\n context.stroke();\r\n //## 第二步画刻度线\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n let len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1;\r\n let proc = series[0].data * process;\r\n for (let i = 0; i < len; i++) {\r\n context.beginPath();\r\n //刻度线随进度变色\r\n if (proc > (i / len)) {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 1));\r\n } else {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n }\r\n context.setLineWidth(3 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //## 第三步画进度条\r\n series = getGaugeArcbarDataPoints(series, gaugeOption, process);\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(series[0].color);\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false);\r\n context.stroke();\r\n //## 第四步画指针\r\n let pointerRadius = radius - gaugeOption.width * 2.5;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((series[0]._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setLineWidth(gaugeOption.width / 3);\r\n let gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6);\r\n gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0));\r\n gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1));\r\n gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0));\r\n context.setStrokeStyle(gradient3);\r\n context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false);\r\n context.stroke();\r\n context.beginPath();\r\n context.setLineWidth(1);\r\n context.setStrokeStyle(series[0].color);\r\n context.setFillStyle(series[0].color);\r\n context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.stroke();\r\n context.fill();\r\n context.restore();\r\n //default百度样式\r\n } else {\r\n //画背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setLineCap('butt');\r\n for (let i = 0; i < categories.length; i++) {\r\n let eachCategories = categories[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachCategories.color);\r\n context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false);\r\n context.stroke();\r\n }\r\n context.save();\r\n //画刻度线\r\n if (gaugeOption.endAngle < gaugeOption.startAngle) {\r\n totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;\r\n } else {\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;\r\n }\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n let childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth;\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(2 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(splitAngle * Math.PI);\r\n }\r\n context.restore();\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(childendX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //画指针\r\n series = getGaugeDataPoints(series, categories, gaugeOption, process);\r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((eachSeries._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setFillStyle(eachSeries.color);\r\n context.moveTo(gaugeOption.pointer.width, 0);\r\n context.lineTo(0, -gaugeOption.pointer.width / 2);\r\n context.lineTo(-innerRadius, 0);\r\n context.lineTo(0, gaugeOption.pointer.width / 2);\r\n context.lineTo(gaugeOption.pointer.width, 0);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFillStyle('#FFFFFF');\r\n context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false);\r\n context.fill();\r\n context.restore();\r\n }\r\n if (opts.dataLabel !== false) {\r\n drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context);\r\n }\r\n }\r\n //画仪表盘标题,副标题\r\n drawRingTitle(opts, config, context, centerPosition);\r\n if (process === 1 && opts.type === 'gauge') {\r\n opts.extra.gauge.oldAngle = series[0]._proportion_;\r\n opts.extra.gauge.oldData = series[0].data;\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n innerRadius: innerRadius,\r\n categories: categories,\r\n totalAngle: totalAngle\r\n };\r\n}\r\n\r\nfunction drawRadarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var radarOption = assign({}, {\r\n gridColor: '#cccccc',\r\n gridType: 'radar',\r\n gridEval:1,\r\n axisLabel:false,\r\n axisLabelTofix:0,\r\n labelShow:true,\r\n labelColor:'#666666',\r\n labelPointShow:false,\r\n labelPointRadius:3,\r\n labelPointColor:'#cccccc',\r\n opacity: 0.2,\r\n gridCount: 3,\r\n border:false,\r\n borderWidth:2,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.radar);\r\n var coordinateAngle = getRadarCoordinateSeries(opts.categories.length);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var xr = (opts.width - opts.area[1] - opts.area[3]) / 2\r\n var yr = (opts.height - opts.area[0] - opts.area[2]) / 2\r\n var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin);\r\n radius -= config.radarLabelTextMargin * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n radius = radarOption.radius ? radarOption.radius : radius;\r\n // 画分割线\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n coordinateAngle.forEach(function(angle,index) {\r\n var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n if (index % radarOption.gridEval == 0) {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.stroke();\r\n context.closePath();\r\n \r\n // 画背景网格\r\n var _loop = function _loop(i) {\r\n var startPos = {};\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n if (radarOption.gridType == 'radar') {\r\n coordinateAngle.forEach(function(angle, index) {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius /\r\n radarOption.gridCount * i * Math.sin(angle), centerPosition);\r\n if (index === 0) {\r\n startPos = pos;\r\n context.moveTo(pos.x, pos.y);\r\n } else {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.lineTo(startPos.x, startPos.y);\r\n } else {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition);\r\n context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false);\r\n }\r\n context.stroke();\r\n context.closePath();\r\n };\r\n for (var i = 1; i <= radarOption.gridCount; i++) {\r\n _loop(i);\r\n }\r\n radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config);\r\n var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process);\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setLineWidth(radarOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(eachSeries.color);\r\n \r\n var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity);\r\n if (radarOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, radius)\r\n }\r\n grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity))\r\n fillcolor = grd\r\n }\r\n \r\n context.setFillStyle(fillcolor);\r\n eachSeries.data.forEach(function(item, index) {\r\n if (index === 0) {\r\n context.moveTo(item.position.x, item.position.y);\r\n } else {\r\n context.lineTo(item.position.x, item.position.y);\r\n }\r\n });\r\n context.closePath();\r\n context.fill();\r\n if(radarOption.border === true){\r\n context.stroke();\r\n }\r\n context.closePath();\r\n if (opts.dataPointShape !== false) {\r\n var points = eachSeries.data.map(function(item) {\r\n return item.position;\r\n });\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n // 画刻度值\r\n if(radarOption.axisLabel === true){\r\n const maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n const stepLength = radius / radarOption.gridCount;\r\n const fontSize = opts.fontSize * opts.pix;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(opts.fontColor);\r\n context.setTextAlign('left');\r\n for (var i = 0; i < radarOption.gridCount + 1; i++) {\r\n let label = i * maxData / radarOption.gridCount;\r\n label = label.toFixed(radarOption.axisLabelTofix);\r\n context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2);\r\n }\r\n }\r\n \r\n // draw label text\r\n drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);\r\n \r\n // draw dataLabel\r\n if (opts.dataLabel !== false && process === 1) {\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n context.beginPath();\r\n var fontSize = eachSeries.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(eachSeries.textColor || opts.fontColor);\r\n eachSeries.data.forEach(function(item, index) {\r\n //如果是中心点垂直的上下点位\r\n if(Math.abs(item.position.x - centerPosition.x)<2){\r\n //如果在上面\r\n if(item.position.y < centerPosition.y){\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y - 4);\r\n }else{\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y + fontSize + 2);\r\n }\r\n }else{\r\n //如果在左侧\r\n if(item.position.x < centerPosition.x){\r\n context.setTextAlign('right');\r\n context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2);\r\n }else{\r\n context.setTextAlign('left');\r\n context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2);\r\n }\r\n }\r\n });\r\n context.closePath();\r\n context.stroke();\r\n });\r\n context.setTextAlign('left');\r\n }\r\n \r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n angleList: coordinateAngle\r\n };\r\n}\r\n\r\n// 经纬度转墨卡托\r\nfunction lonlat2mercator(longitude, latitude) {\r\n var mercator = Array(2);\r\n var x = longitude * 20037508.34 / 180;\r\n var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180);\r\n y = y * 20037508.34 / 180;\r\n mercator[0] = x;\r\n mercator[1] = y;\r\n return mercator;\r\n}\r\n\r\n// 墨卡托转经纬度\r\nfunction mercator2lonlat(longitude, latitude) {\r\n var lonlat = Array(2)\r\n var x = longitude / 20037508.34 * 180;\r\n var y = latitude / 20037508.34 * 180;\r\n y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);\r\n lonlat[0] = x;\r\n lonlat[1] = y;\r\n return lonlat;\r\n}\r\n\r\nfunction getBoundingBox(data) {\r\n var bounds = {},coords;\r\n bounds.xMin = 180;\r\n bounds.xMax = 0;\r\n bounds.yMin = 90;\r\n bounds.yMax = 0\r\n for (var i = 0; i < data.length; i++) {\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var longitude = coords[j][0];\r\n var latitude = coords[j][1];\r\n var point = {\r\n x: longitude,\r\n y: latitude\r\n }\r\n bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x;\r\n bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x;\r\n bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y;\r\n bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y;\r\n }\r\n }\r\n }\r\n return bounds;\r\n}\r\n\r\nfunction coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (longitude - bounds.xMin) * scale + xoffset,\r\n y: (bounds.yMax - latitude) * scale + yoffset\r\n };\r\n}\r\n\r\nfunction pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (pointX - xoffset) / scale + bounds.xMin,\r\n y: bounds.yMax - (pointY - yoffset) / scale\r\n };\r\n}\r\n\r\nfunction isRayIntersectsSegment(poi, s_poi, e_poi) {\r\n if (s_poi[1] == e_poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n let xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]);\r\n if (xseg < poi[0]) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\nfunction isPoiWithinPoly(poi, poly, mercator) {\r\n let sinsc = 0;\r\n for (let i = 0; i < poly.length; i++) {\r\n let epoly = poly[i][0];\r\n if (poly.length == 1) {\r\n epoly = poly[i][0]\r\n }\r\n for (let j = 0; j < epoly.length - 1; j++) {\r\n let s_poi = epoly[j];\r\n let e_poi = epoly[j + 1];\r\n if (mercator) {\r\n s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]);\r\n e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]);\r\n }\r\n if (isRayIntersectsSegment(poi, s_poi, e_poi)) {\r\n sinsc += 1;\r\n }\r\n }\r\n }\r\n if (sinsc % 2 == 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\nfunction drawMapDataPoints(series, opts, config, context) {\r\n var mapOption = assign({}, {\r\n border: true,\r\n mercator: false,\r\n borderWidth: 1,\r\n active:true,\r\n borderColor: '#666666',\r\n fillOpacity: 0.6,\r\n activeBorderColor: '#f04864',\r\n activeFillColor: '#facc14',\r\n activeFillOpacity: 1\r\n }, opts.extra.map);\r\n var coords, point;\r\n var data = series;\r\n var bounds = getBoundingBox(data);\r\n if (mapOption.mercator) {\r\n var max = lonlat2mercator(bounds.xMax, bounds.yMax)\r\n var min = lonlat2mercator(bounds.xMin, bounds.yMin)\r\n bounds.xMax = max[0]\r\n bounds.yMax = max[1]\r\n bounds.xMin = min[0]\r\n bounds.yMin = min[1]\r\n }\r\n var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin);\r\n var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin);\r\n var scale = xScale < yScale ? xScale : yScale;\r\n var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale;\r\n var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale;\r\n for (var i = 0; i < data.length; i++) {\r\n context.beginPath();\r\n context.setLineWidth(mapOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(mapOption.borderColor);\r\n context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity||mapOption.fillOpacity));\r\n if (mapOption.active == true && opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.setStrokeStyle(mapOption.activeBorderColor);\r\n context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity));\r\n }\r\n }\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var gaosi = Array(2);\r\n if (mapOption.mercator) {\r\n gaosi = lonlat2mercator(coords[j][0], coords[j][1])\r\n } else {\r\n gaosi = coords[j]\r\n }\r\n point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset)\r\n if (j === 0) {\r\n context.beginPath();\r\n context.moveTo(point.x, point.y);\r\n } else {\r\n context.lineTo(point.x, point.y);\r\n }\r\n }\r\n context.fill();\r\n if (mapOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n }\r\n if (opts.dataLabel == true) {\r\n for (var i = 0; i < data.length; i++) {\r\n var centerPoint = data[i].properties.centroid;\r\n if (centerPoint) {\r\n if (mapOption.mercator) {\r\n centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1])\r\n }\r\n point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset);\r\n let fontSize = data[i].textSize * opts.pix || config.fontSize;\r\n let fontColor = data[i].textColor || opts.fontColor;\r\n if(mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i){\r\n fontColor = mapOption.activeTextColor;\r\n }\r\n let text = data[i].properties.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize)\r\n context.setFillStyle(fontColor)\r\n context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n opts.chartData.mapData = {\r\n bounds: bounds,\r\n scale: scale,\r\n xoffset: xoffset,\r\n yoffset: yoffset,\r\n mercator: mapOption.mercator\r\n }\r\n drawToolTipBridge(opts, config, context, 1);\r\n context.draw();\r\n}\r\n\r\nfunction normalInt(min, max, iter) {\r\n iter = iter == 0 ? 1 : iter;\r\n var arr = [];\r\n for (var i = 0; i < iter; i++) {\r\n arr[i] = Math.random();\r\n };\r\n return Math.floor(arr.reduce(function(i, j) {\r\n return i + j\r\n }) / iter * (max - min)) + min;\r\n};\r\n\r\nfunction collisionNew(area, points, width, height) {\r\n var isIn = false;\r\n for (let i = 0; i < points.length; i++) {\r\n if (points[i].area) {\r\n if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) {\r\n if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) {\r\n isIn = true;\r\n break;\r\n } else {\r\n isIn = false;\r\n }\r\n } else {\r\n isIn = true;\r\n break;\r\n }\r\n }\r\n }\r\n return isIn;\r\n};\r\n\r\nfunction getWordCloudPoint(opts, type, context) {\r\n let points = opts.series;\r\n switch (type) {\r\n case 'normal':\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let x, y;\r\n let area;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 +\r\n opts.height / 2\r\n ];\r\n let isCollision = collisionNew(area, points, opts.width, opts.height);\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-100, -100, -100, -100];\r\n break;\r\n }\r\n };\r\n points[i].area = area;\r\n }\r\n break;\r\n case 'vertical':\r\n function Spin() {\r\n //获取均匀随机值,是否旋转,旋转的概率为(1-0.5)\r\n if (Math.random() > 0.7) {\r\n return true;\r\n } else {\r\n return false\r\n };\r\n };\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let isSpin = Spin();\r\n let x, y, area, areav;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n let isCollision;\r\n if (isSpin) {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [y - 5 - tWidth + opts.width / 2, (-x - 5 + opts.height / 2), y + 5 + opts.width / 2, (-x + tHeight + 5 + opts.height / 2)];\r\n areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) - 5, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) + tHeight, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) + tWidth + 5];\r\n isCollision = collisionNew(areav, points, opts.height, opts.width);\r\n } else {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2];\r\n isCollision = collisionNew(area, points, opts.width, opts.height);\r\n }\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-1000, -1000, -1000, -1000];\r\n break;\r\n }\r\n };\r\n if (isSpin) {\r\n points[i].area = areav;\r\n points[i].areav = area;\r\n } else {\r\n points[i].area = area;\r\n }\r\n points[i].rotate = isSpin;\r\n };\r\n break;\r\n }\r\n return points;\r\n}\r\n\r\nfunction drawWordCloudDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let wordOption = assign({}, {\r\n type: 'normal',\r\n autoColors: true\r\n }, opts.extra.word);\r\n if (!opts.chartData.wordCloudData) {\r\n opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n context.rect(0, 0, opts.width, opts.height);\r\n context.fill();\r\n context.save();\r\n let points = opts.chartData.wordCloudData;\r\n context.translate(opts.width / 2, opts.height / 2);\r\n for (let i = 0; i < points.length; i++) {\r\n context.save();\r\n if (points[i].rotate) {\r\n context.rotate(90 * Math.PI / 180);\r\n }\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n context.beginPath();\r\n context.setStrokeStyle(points[i].color);\r\n context.setFillStyle(points[i].color);\r\n context.setFontSize(tHeight);\r\n if (points[i].rotate) {\r\n if (points[i].areav[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n } else {\r\n if (points[i].area[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n }\r\n context.stroke();\r\n context.restore();\r\n }\r\n context.restore();\r\n}\r\n\r\nfunction drawFunnelDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let funnelOption = assign({}, {\r\n type:'funnel',\r\n activeWidth: 10,\r\n activeOpacity: 0.3,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n fillOpacity: 1,\r\n minSize: 0,\r\n labelAlign: 'right',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.funnel);\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length;\r\n let centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.height - opts.area[2]\r\n };\r\n let activeWidth = funnelOption.activeWidth * opts.pix;\r\n let radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth);\r\n let seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process);\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config);\r\n if(funnelOption.type == 'pyramid'){\r\n for (let i = 0; i < seriesNew.length; i++) {\r\n if (i == seriesNew.length -1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth, -eachSpacing);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, 0);\r\n context.lineTo(seriesNew[i].radius + activeWidth, 0);\r\n context.lineTo(activeWidth, -eachSpacing);\r\n context.lineTo(-activeWidth, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, -eachSpacing);\r\n context.lineTo(-seriesNew[i].radius, 0);\r\n context.lineTo(seriesNew[i].radius, 0);\r\n context.lineTo(0, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, 0);\r\n context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i].radius, 0);\r\n context.lineTo(-seriesNew[i + 1].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, -eachSpacing)\r\n }\r\n }else{\r\n context.translate(0, - (seriesNew.length - 1) * eachSpacing);\r\n for (let i = 0; i < seriesNew.length; i++) {\r\n if (i == seriesNew.length - 1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth - funnelOption.minSize/2, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(activeWidth + funnelOption.minSize/2, 0);\r\n context.lineTo(-activeWidth - funnelOption.minSize/2, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[i].radius, centerPosition.y ];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-funnelOption.minSize/2, 0);\r\n context.lineTo(-seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(funnelOption.minSize/2, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i + 1].radius - activeWidth, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i - 1)];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i + 1].radius, 0);\r\n context.lineTo(-seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, eachSpacing)\r\n }\r\n }\r\n \r\n context.restore();\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\r\n }\r\n if (process === 1) {\r\n drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: seriesNew\r\n };\r\n}\r\n\r\nfunction drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if(item.labelShow === false){\r\n continue;\r\n }\r\n let startX, endX, startY, fontSize;\r\n let text = item.formatter ? item.formatter(item,i,series,opts) : util.toFixed(item._proportion_ * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n if (labelAlign == 'right') {\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[2] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2;\r\n }\r\n endX = startX + activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX + 5, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n if (labelAlign == 'left') {\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[0] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2;\r\n }\r\n endX = startX - activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n }\r\n}\r\n\r\nfunction drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n let startY, fontSize;\r\n if (item.centerText) {\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.centerTextColor || \"#FFFFFF\");\r\n context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction drawCanvas(opts, context) {\r\n context.save();\r\n context.translate(0, 0.5);\r\n context.restore();\r\n context.draw();\r\n}\r\n\r\nvar Timing = {\r\n easeIn: function easeIn(pos) {\r\n return Math.pow(pos, 3);\r\n },\r\n easeOut: function easeOut(pos) {\r\n return Math.pow(pos - 1, 3) + 1;\r\n },\r\n easeInOut: function easeInOut(pos) {\r\n if ((pos /= 0.5) < 1) {\r\n return 0.5 * Math.pow(pos, 3);\r\n } else {\r\n return 0.5 * (Math.pow(pos - 2, 3) + 2);\r\n }\r\n },\r\n linear: function linear(pos) {\r\n return pos;\r\n }\r\n};\r\n\r\nfunction Animation(opts) {\r\n this.isStop = false;\r\n opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration;\r\n opts.timing = opts.timing || 'easeInOut';\r\n var delay = 17;\r\n function createAnimationFrame() {\r\n if (typeof setTimeout !== 'undefined') {\r\n return function(step, delay) {\r\n setTimeout(function() {\r\n var timeStamp = +new Date();\r\n step(timeStamp);\r\n }, delay);\r\n };\r\n } else if (typeof requestAnimationFrame !== 'undefined') {\r\n return requestAnimationFrame;\r\n } else {\r\n return function(step) {\r\n step(null);\r\n };\r\n }\r\n };\r\n var animationFrame = createAnimationFrame();\r\n var startTimeStamp = null;\r\n var _step = function step(timestamp) {\r\n if (timestamp === null || this.isStop === true) {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n return;\r\n }\r\n if (startTimeStamp === null) {\r\n startTimeStamp = timestamp;\r\n }\r\n if (timestamp - startTimeStamp < opts.duration) {\r\n var process = (timestamp - startTimeStamp) / opts.duration;\r\n var timingFunction = Timing[opts.timing];\r\n process = timingFunction(process);\r\n opts.onProcess && opts.onProcess(process);\r\n animationFrame(_step, delay);\r\n } else {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n }\r\n };\r\n _step = _step.bind(this);\r\n animationFrame(_step, delay);\r\n}\r\n\r\nAnimation.prototype.stop = function() {\r\n this.isStop = true;\r\n};\r\n\r\nfunction drawCharts(type, opts, config, context) {\r\n var _this = this;\r\n var series = opts.series;\r\n //兼容ECharts饼图类数据格式\r\n if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') {\r\n series = fixPieSeries(series, opts, config);\r\n }\r\n var categories = opts.categories;\r\n if (type === 'mount') {\r\n categories = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if(series[j].show !== false) categories.push(series[j].name)\r\n }\r\n opts.categories = categories;\r\n }\r\n series = fillSeries(series, opts, config);\r\n var duration = opts.animation ? opts.duration : 0;\r\n _this.animationInstance && _this.animationInstance.stop();\r\n var seriesMA = null;\r\n if (type == 'candle') {\r\n let average = assign({}, opts.extra.candle.average);\r\n if (average.show) {\r\n seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data);\r\n seriesMA = fillSeries(seriesMA, opts, config);\r\n opts.seriesMA = seriesMA;\r\n } else if (opts.seriesMA) {\r\n seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config);\r\n } else {\r\n seriesMA = series;\r\n }\r\n } else {\r\n seriesMA = series;\r\n }\r\n /* 过滤掉show=false的series */\r\n opts._series_ = series = filterSeries(series);\r\n //重新计算图表区域\r\n opts.area = new Array(4);\r\n //复位绘图区域\r\n for (let j = 0; j < 4; j++) {\r\n opts.area[j] = opts.padding[j] * opts.pix;\r\n }\r\n //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域\r\n var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context),\r\n legendHeight = _calLegendData.area.wholeHeight,\r\n legendWidth = _calLegendData.area.wholeWidth;\r\n\r\n switch (opts.legend.position) {\r\n case 'top':\r\n opts.area[0] += legendHeight;\r\n break;\r\n case 'bottom':\r\n opts.area[2] += legendHeight;\r\n break;\r\n case 'left':\r\n opts.area[3] += legendWidth;\r\n break;\r\n case 'right':\r\n opts.area[1] += legendWidth;\r\n break;\r\n }\r\n\r\n let _calYAxisData = {},\r\n yAxisWidth = 0;\r\n if (opts.type === 'line' || opts.type === 'column'|| opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n _calYAxisData = calYAxisData(series, opts, config, context);\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n //如果显示Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let maxTitleHeight = 0;\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize)\r\n }\r\n opts.area[0] += maxTitleHeight;\r\n }\r\n let rightIndex = 0,\r\n leftIndex = 0;\r\n //计算主绘图区域左右位置\r\n for (let i = 0; i < yAxisWidth.length; i++) {\r\n if (yAxisWidth[i].position == 'left') {\r\n if (leftIndex > 0) {\r\n opts.area[3] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[3] += yAxisWidth[i].width;\r\n }\r\n leftIndex += 1;\r\n } else if (yAxisWidth[i].position == 'right') {\r\n if (rightIndex > 0) {\r\n opts.area[1] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[1] += yAxisWidth[i].width;\r\n }\r\n rightIndex += 1;\r\n }\r\n }\r\n } else {\r\n config.yAxisWidth = yAxisWidth;\r\n }\r\n opts.chartData.yAxisData = _calYAxisData;\r\n\r\n if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') {\r\n opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config);\r\n let _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n opts.chartData.xAxisData = calXAxisData(series, opts, config, context);\r\n categories = opts.chartData.xAxisData.rangesFormat;\r\n let _calCategoriesData = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n opts.chartData.xAxisData = {\r\n xAxisPoints: []\r\n };\r\n }\r\n }\r\n\r\n //计算右对齐偏移距离\r\n if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) {\r\n let offsetLeft = 0,\r\n xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n startX = opts.chartData.xAxisData.startX,\r\n endX = opts.chartData.xAxisData.endX,\r\n eachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n _this.scrollOption.currentOffset = offsetLeft;\r\n _this.scrollOption.startTouchX = offsetLeft;\r\n _this.scrollOption.distance = 0;\r\n _this.scrollOption.lastMoveTime = 0;\r\n opts._scrollDistance_ = offsetLeft;\r\n }\r\n\r\n if (type === 'pie' || type === 'ring' || type === 'rose') {\r\n config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts);\r\n }\r\n \r\n switch (type) {\r\n case 'word':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawWordCloudDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'map':\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n drawMapDataPoints(series, opts, config, context);\r\n setTimeout(()=>{\r\n this.uevent.trigger('renderComplete');\r\n },50)\r\n break;\r\n case 'funnel':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'line':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawLineDataPoints.xAxisPoints,\r\n calPoints = _drawLineDataPoints.calPoints,\r\n eachSpacing = _drawLineDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'scatter':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawScatterDataPoints.xAxisPoints,\r\n calPoints = _drawScatterDataPoints.calPoints,\r\n eachSpacing = _drawScatterDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bubble':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawBubbleDataPoints.xAxisPoints,\r\n calPoints = _drawBubbleDataPoints.calPoints,\r\n eachSpacing = _drawBubbleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mix':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMixDataPoints.xAxisPoints,\r\n calPoints = _drawMixDataPoints.calPoints,\r\n eachSpacing = _drawMixDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'column':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawColumnDataPoints.xAxisPoints,\r\n calPoints = _drawColumnDataPoints.calPoints,\r\n eachSpacing = _drawColumnDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mount':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMountDataPoints.xAxisPoints,\r\n calPoints = _drawMountDataPoints.calPoints,\r\n eachSpacing = _drawMountDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process),\r\n yAxisPoints = _drawBarDataPoints.yAxisPoints,\r\n calPoints = _drawBarDataPoints.calPoints,\r\n eachSpacing = _drawBarDataPoints.eachSpacing;\r\n opts.chartData.yAxisPoints = yAxisPoints;\r\n opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'area':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawAreaDataPoints.xAxisPoints,\r\n calPoints = _drawAreaDataPoints.calPoints,\r\n eachSpacing = _drawAreaDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'ring':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'pie':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'rose':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'radar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'arcbar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'gauge':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'candle':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process),\r\n xAxisPoints = _drawCandleDataPoints.xAxisPoints,\r\n calPoints = _drawCandleDataPoints.calPoints,\r\n eachSpacing = _drawCandleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n if (seriesMA) {\r\n drawLegend(seriesMA, opts, config, context, opts.chartData);\r\n } else {\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n }\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n }\r\n}\r\n\r\nfunction uChartsEvent() {\r\n this.events = {};\r\n}\r\n\r\nuChartsEvent.prototype.addEventListener = function(type, listener) {\r\n this.events[type] = this.events[type] || [];\r\n this.events[type].push(listener);\r\n};\r\n\r\nuChartsEvent.prototype.delEventListener = function(type) {\r\n this.events[type] = [];\r\n};\r\n\r\nuChartsEvent.prototype.trigger = function() {\r\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key];\r\n }\r\n var type = args[0];\r\n var params = args.slice(1);\r\n if (!!this.events[type]) {\r\n this.events[type].forEach(function(listener) {\r\n try {\r\n listener.apply(null, params);\r\n } catch (e) {\r\n //console.log('[uCharts] '+e);\r\n }\r\n });\r\n }\r\n};\r\n\r\nvar uCharts = function uCharts(opts) {\r\n opts.pix = opts.pixelRatio ? opts.pixelRatio : 1;\r\n opts.fontSize = opts.fontSize ? opts.fontSize : 13;\r\n opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor;\r\n if (opts.background == \"\" || opts.background == \"none\") {\r\n opts.background = \"#FFFFFF\"\r\n }\r\n opts.title = assign({}, opts.title);\r\n opts.subtitle = assign({}, opts.subtitle);\r\n opts.duration = opts.duration ? opts.duration : 1000;\r\n opts.yAxis = assign({}, {\r\n data: [],\r\n showTitle: false,\r\n disabled: false,\r\n disableGrid: false,\r\n gridSet: 'number',\r\n splitNumber: 5,\r\n gridType: 'solid',\r\n dashLength: 4 * opts.pix,\r\n gridColor: '#cccccc',\r\n padding: 10,\r\n fontColor: '#666666'\r\n }, opts.yAxis);\r\n opts.xAxis = assign({}, {\r\n rotateLabel: false,\r\n rotateAngle:45,\r\n disabled: false,\r\n disableGrid: false,\r\n splitNumber: 5,\r\n calibration:false,\r\n fontColor: '#666666',\r\n fontSize: 13,\r\n lineHeight: 20,\r\n marginTop: 0,\r\n gridType: 'solid',\r\n dashLength: 4,\r\n scrollAlign: 'left',\r\n boundaryGap: 'center',\r\n axisLine: true,\r\n axisLineColor: '#cccccc',\r\n titleFontSize: 13,\r\n titleOffsetY: 0,\r\n titleOffsetX: 0,\r\n titleFontColor: '#666666'\r\n }, opts.xAxis);\r\n opts.xAxis.scrollPosition = opts.xAxis.scrollAlign;\r\n opts.legend = assign({}, {\r\n show: true,\r\n position: 'bottom',\r\n float: 'center',\r\n backgroundColor: 'rgba(0,0,0,0)',\r\n borderColor: 'rgba(0,0,0,0)',\r\n borderWidth: 0,\r\n padding: 5,\r\n margin: 5,\r\n itemGap: 10,\r\n fontSize: opts.fontSize,\r\n lineHeight: opts.fontSize,\r\n fontColor: opts.fontColor,\r\n formatter: {},\r\n hiddenColor: '#CECECE'\r\n }, opts.legend);\r\n opts.extra = assign({\r\n tooltip:{\r\n legendShape: 'auto'\r\n }\r\n }, opts.extra);\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.animation = opts.animation ? true : false;\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.canvas2d = opts.canvas2d ? true : false;\r\n \r\n let config$$1 = assign({}, config);\r\n config$$1.color = opts.color ? opts.color : config$$1.color;\r\n if (opts.type == 'pie') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'ring') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'rose') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix;\r\n\r\n //屏幕旋转\r\n config$$1.rotate = opts.rotate;\r\n if (opts.rotate) {\r\n let tempWidth = opts.width;\r\n let tempHeight = opts.height;\r\n opts.width = tempHeight;\r\n opts.height = tempWidth;\r\n }\r\n\r\n //适配高分屏\r\n opts.padding = opts.padding ? opts.padding : config$$1.padding;\r\n config$$1.yAxisWidth = config.yAxisWidth * opts.pix;\r\n config$$1.fontSize = opts.fontSize * opts.pix;\r\n config$$1.titleFontSize = config.titleFontSize * opts.pix;\r\n config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix;\r\n if(!opts.context){\r\n throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!');\r\n }\r\n this.context = opts.context;\r\n if (!this.context.setTextAlign) {\r\n this.context.setStrokeStyle = function(e) {\r\n return this.strokeStyle = e;\r\n }\r\n this.context.setLineWidth = function(e) {\r\n return this.lineWidth = e;\r\n }\r\n this.context.setLineCap = function(e) {\r\n return this.lineCap = e;\r\n }\r\n this.context.setFontSize = function(e) {\r\n return this.font = e + \"px sans-serif\";\r\n }\r\n this.context.setFillStyle = function(e) {\r\n return this.fillStyle = e;\r\n }\r\n this.context.setTextAlign = function(e) {\r\n return this.textAlign = e;\r\n }\r\n this.context.setTextBaseline = function(e) {\r\n return this.textBaseline = e;\r\n }\r\n this.context.setShadow = function(offsetX,offsetY,blur,color) {\r\n this.shadowColor = color;\r\n this.shadowOffsetX = offsetX;\r\n this.shadowOffsetY = offsetY;\r\n this.shadowBlur = blur;\r\n }\r\n this.context.draw = function() {}\r\n }\r\n //兼容NVUEsetLineDash\r\n if(!this.context.setLineDash){\r\n this.context.setLineDash = function(e) {}\r\n }\r\n opts.chartData = {};\r\n this.uevent = new uChartsEvent();\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts = opts;\r\n this.config = config$$1;\r\n drawCharts.call(this, opts.type, opts, config$$1, this.context);\r\n};\r\n\r\nuCharts.prototype.updateData = function() {\r\n let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n this.opts = assign({}, this.opts, data);\r\n this.opts.updateData = true;\r\n let scrollPosition = data.scrollPosition || 'current';\r\n switch (scrollPosition) {\r\n case 'current':\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n break;\r\n case 'left':\r\n this.opts._scrollDistance_ = 0;\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n break;\r\n case 'right':\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts._scrollDistance_ = offsetLeft;\r\n break;\r\n }\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.zoom = function() {\r\n var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount;\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n //当前屏幕中间点\r\n let centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2);\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = val.itemCount;\r\n //重新计算x轴偏移距离\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context),\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let centerLeft = eachSpacing * centerPoint;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = screenWidth / 2 - centerLeft;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.dobuleZoom = function(e) {\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n const tcs = e.changedTouches;\r\n if (tcs.length < 2) {\r\n return;\r\n }\r\n for (var i = 0; i < tcs.length; i++) {\r\n tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX;\r\n tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY;\r\n }\r\n const ntcs = [getTouches(tcs[0], this.opts, e),getTouches(tcs[1], this.opts, e)]; \r\n const xlength = Math.abs(ntcs[0].x - ntcs[1].x);\r\n // 记录初始的两指之间的数据\r\n if(!this.scrollOption.moveCount){\r\n let cts0 = {changedTouches:[{x:tcs[0].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n let cts1 = {changedTouches:[{x:tcs[1].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n if(this.opts.rotate){\r\n cts0 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[0].y}]};\r\n cts1 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[1].y}]};\r\n }\r\n const moveCurrent1 = this.getCurrentDataIndex(cts0).index;\r\n const moveCurrent2 = this.getCurrentDataIndex(cts1).index;\r\n const moveCount = Math.abs(moveCurrent1 - moveCurrent2);\r\n this.scrollOption.moveCount = moveCount;\r\n this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2);\r\n this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2);\r\n return;\r\n }\r\n \r\n let currentEachSpacing = xlength / this.scrollOption.moveCount;\r\n let itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing;\r\n itemCount = itemCount <= 2 ? 2 : itemCount;\r\n itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount;\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = itemCount;\r\n // 重新计算滚动条偏移距离\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let currentLeft = eachSpacing * this.scrollOption.moveCurrent1;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = -currentLeft+Math.min(ntcs[0].x,ntcs[1].x)-this.opts.area[3]-eachSpacing;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption.currentOffset= offsetLeft;\r\n this.scrollOption.startTouchX= 0;\r\n this.scrollOption.distance=0;\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n}\r\n\r\nuCharts.prototype.stopAnimation = function() {\r\n this.animationInstance && this.animationInstance.stop();\r\n};\r\n\r\nuCharts.prototype.addEventListener = function(type, listener) {\r\n this.uevent.addEventListener(type, listener);\r\n};\r\n\r\nuCharts.prototype.delEventListener = function(type) {\r\n this.uevent.delEventListener(type);\r\n};\r\n\r\nuCharts.prototype.getCurrentDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring') {\r\n return findPieChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'rose') {\r\n return findRoseChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'radar') {\r\n return findRadarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.radarData, this.opts.categories.length);\r\n } else if (this.opts.type === 'funnel') {\r\n return findFunnelChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.funnelData);\r\n } else if (this.opts.type === 'map') {\r\n return findMapChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts);\r\n } else if (this.opts.type === 'word') {\r\n return findWordChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.wordCloudData);\r\n } else if (this.opts.type === 'bar') {\r\n return findBarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n } else {\r\n return findCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.getLegendDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n return findLegendIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.legendData);\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.touchLegend = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var index = this.getLegendDataIndex(e);\r\n if (index >= 0) {\r\n if (this.opts.type == 'candle') {\r\n this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show;\r\n } else {\r\n this.opts.series[index].show = !this.opts.series[index].show;\r\n }\r\n this.opts.animation = option.animation ? true : false;\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n }\r\n }\r\n\r\n};\r\n\r\nuCharts.prototype.showToolTip = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (!touches) {\r\n console.log(\"[uCharts] 未获取到event坐标信息\");\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index,\r\n group: current.group\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mount') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: opts.chartData.calPoints[index].x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n \r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'bar') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.x = _touches$.x;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mix') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option),\r\n textList = _getMixToolTipData.textList,\r\n offset = _getMixToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'candle') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'map') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n seriesData.name = seriesData.properties.name\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'word') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'radar') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var textList = seriesData.map((item) => {\r\n return {\r\n text: option.formatter ? option.formatter(item, this.opts.categories[index], index, this.opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : this.opts.extra.tooltip.legendShape\r\n };\r\n });\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n};\r\n\r\nuCharts.prototype.translate = function(distance) {\r\n this.scrollOption = {\r\n currentOffset: distance,\r\n startTouchX: distance,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n let opts = assign({}, this.opts, {\r\n _scrollDistance_: distance,\r\n animation: false\r\n });\r\n drawCharts.call(this, this.opts.type, opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.scrollStart = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n if (touches && this.opts.enableScroll === true) {\r\n this.scrollOption.startTouchX = _touches$.x;\r\n }\r\n};\r\n\r\nuCharts.prototype.scroll = function(e) {\r\n if (this.scrollOption.lastMoveTime === 0) {\r\n this.scrollOption.lastMoveTime = Date.now();\r\n }\r\n let Limit = this.opts.touchMoveLimit || 60;\r\n let currMoveTime = Date.now();\r\n let duration = currMoveTime - this.scrollOption.lastMoveTime;\r\n if (duration < Math.floor(1000 / Limit)) return;\r\n if (this.scrollOption.startTouchX == 0) return;\r\n this.scrollOption.lastMoveTime = currMoveTime;\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches && this.opts.enableScroll === true) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var _distance;\r\n _distance = _touches$.x - this.scrollOption.startTouchX;\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts);\r\n this.scrollOption.distance = _distance = validDistance - currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset + _distance,\r\n animation: false\r\n });\r\n\t\tthis.opts = opts;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n return currentOffset + _distance;\r\n }\r\n};\r\n\r\nuCharts.prototype.scrollEnd = function(e) {\r\n if (this.opts.enableScroll === true) {\r\n var _scrollOption = this.scrollOption,\r\n currentOffset = _scrollOption.currentOffset,\r\n distance = _scrollOption.distance;\r\n this.scrollOption.currentOffset = currentOffset + distance;\r\n this.scrollOption.distance = 0;\r\n this.scrollOption.moveCount = 0;\r\n }\r\n};\r\n\r\nexport default uCharts;","/*\r\n * uCharts®\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts®官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性\r\nconst color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];\r\n\r\n//事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改\r\nconst formatDateTime = (timeStamp, returnType)=>{\r\n var date = new Date();\r\n date.setTime(timeStamp * 1000);\r\n var y = date.getFullYear();\r\n var m = date.getMonth() + 1;\r\n m = m < 10 ? ('0' + m) : m;\r\n var d = date.getDate();\r\n d = d < 10 ? ('0' + d) : d;\r\n var h = date.getHours();\r\n h = h < 10 ? ('0' + h) : h;\r\n var minute = date.getMinutes();\r\n var second = date.getSeconds();\r\n minute = minute < 10 ? ('0' + minute) : minute;\r\n second = second < 10 ? ('0' + second) : second;\r\n if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;}\r\n if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;}\r\n if(returnType == 'h:m'){return h +':' + minute;}\r\n if(returnType == 'h:m:s'){return h +':' + minute +':' + second;}\r\n return [y, m, d, h, minute, second];\r\n}\r\n\r\nconst cfu = {\r\n //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可\r\n\t\"type\":[\"pie\",\"ring\",\"rose\",\"word\",\"funnel\",\"map\",\"arcbar\",\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"tline\",\"tarea\",\"scatter\",\"bubble\",\"demotype\"],\r\n\t\"range\":[\"饼状图\",\"圆环图\",\"玫瑰图\",\"词云图\",\"漏斗图\",\"地图\",\"圆弧进度条\",\"折线图\",\"柱状图\",\"山峰图\",\"条状图\",\"区域图\",\"雷达图\",\"仪表盘\",\"K线图\",\"混合图\",\"时间轴折线\",\"时间轴区域\",\"散点图\",\"气泡图\",\"自定义类型\"],\r\n //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的\"demotype\"\r\n //自定义类型时需要注意\"tline\",\"tarea\",\"scatter\",\"bubble\"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories\r\n\t\"categories\":[\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"demotype\"],\r\n //instance为实例变量承载属性,不要删除\r\n \"instance\":{},\r\n //option为opts及eopts承载属性,不要删除\r\n \"option\":{},\r\n //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换\r\n \"formatter\":{\r\n \"yAxisDemo1\":function(val, index, opts){return val+'元'},\r\n \"yAxisDemo2\":function(val, index, opts){return val.toFixed(2)},\r\n \"xAxisDemo1\":function(val, index, opts){return val+'年';},\r\n \"xAxisDemo2\":function(val, index, opts){return formatDateTime(val,'h:m')},\r\n \"seriesDemo1\":function(val, index, series, opts){return val+'元'},\r\n \"tooltipDemo1\":function(item, category, index, opts){\r\n if(index==0){\r\n \treturn '随便用'+item.data+'年'\r\n }else{\r\n \treturn '其他我没改'+item.data+'天'\r\n }\r\n },\r\n \"pieDemo\":function(val, index, series, opts){\r\n if(index !== undefined){\r\n return series[index].name+':'+series[index].data+'元'\r\n }\r\n },\r\n },\r\n //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type=\"demotype\" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。\r\n \"demotype\":{\r\n //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置\r\n \"type\": \"line\",\r\n \"color\": color,\r\n \"padding\": [15,10,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": true,\r\n },\r\n \"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"line\": {\r\n \t\t\"type\": \"curve\",\r\n \t\t\"width\": 2\r\n \t},\r\n }\r\n },\r\n //下面是自定义配置,请添加项目所需的通用配置\r\n\t\"pie\":{\r\n\t\t\"type\": \"pie\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"extra\": {\r\n\t\t\t\"pie\": {\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"ring\":{\r\n\t\t\"type\": \"ring\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"rotate\": false,\r\n\t\t\"dataLabel\": true,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"收益率\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"70%\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#7cb5ec\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"ring\": {\r\n\t\t\t\t\"ringWidth\":30,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\t\"rose\":{\r\n\t\t\"type\": \"rose\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"left\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"rose\": {\r\n\t\t\t\t\"type\": \"area\",\r\n\t\t\t\t\"minRadius\": 50,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": false,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"word\":{\r\n\t\t\"type\": \"word\",\r\n \"color\": color,\r\n\t\t\"extra\": {\r\n\t\t\t\"word\": {\r\n\t\t\t\t\"type\": \"normal\",\r\n\t\t\t\t\"autoColors\": false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"funnel\":{\r\n\t\t\"type\": \"funnel\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"extra\": {\r\n\t\t\t\"funnel\": {\r\n\t\t\t\t\"activeOpacity\": 0.3,\r\n\t\t\t\t\"activeWidth\": 10,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\",\r\n\t\t\t\t\"fillOpacity\": 1,\r\n\t\t\t\t\"labelAlign\": \"right\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"map\":{\r\n\t\t\"type\": \"map\",\r\n \"color\": color,\r\n\t\t\"padding\": [0,0,0,0],\r\n \"dataLabel\": true,\r\n\t\t\"extra\": {\r\n\t\t\t\"map\": {\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 1,\r\n\t\t\t\t\"borderColor\": \"#666666\",\r\n\t\t\t\t\"fillOpacity\": 0.6,\r\n\t\t\t\t\"activeBorderColor\": \"#F04864\",\r\n\t\t\t\t\"activeFillColor\": \"#FACC14\",\r\n\t\t\t\t\"activeFillOpacity\": 1\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"arcbar\":{\r\n\t\t\"type\": \"arcbar\",\r\n \"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"百分比\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#00FF00\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"默认标题\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"arcbar\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 12,\r\n\t\t\t\t\"backgroundColor\": \"#E9E9E9\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"gap\": 2\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"line\":{\r\n\t\t\"type\": \"line\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,10,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"width\": 2,\r\n \"activeType\": \"hollow\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"tline\":{\r\n \t\"type\": \"line\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": false,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"line\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"width\": 2,\r\n \"activeType\": \"hollow\"\r\n \t\t},\r\n \t}\r\n },\r\n \"tarea\":{\r\n \t\"type\": \"area\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"area\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"opacity\": 0.2,\r\n \t\t\t\"addLine\": true,\r\n \t\t\t\"width\": 2,\r\n \t\t\t\"gradient\": true,\r\n \"activeType\": \"hollow\"\r\n \t\t},\r\n \t}\r\n },\r\n\t\"column\":{\r\n\t\t\"type\": \"column\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,5],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"column\": {\r\n\t\t\t\t\"type\": \"group\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"activeBgColor\": \"#000000\",\r\n\t\t\t\t\"activeBgOpacity\": 0.08\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"mount\":{\r\n \t\"type\": \"mount\",\r\n \"color\": color,\r\n \t\"padding\": [15,15,0,5],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \t},\r\n \t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"mount\": {\r\n \t\t\t\"type\": \"mount\",\r\n \t\t\t\"widthRatio\": 1.5,\r\n \t\t},\r\n \t}\r\n },\r\n \"bar\":{\r\n \t\"type\": \"bar\",\r\n \"color\": color,\r\n \t\"padding\": [15,30,0,5],\r\n \t\"xAxis\": {\r\n \"boundaryGap\":\"justify\",\r\n \"disableGrid\":false,\r\n \"min\":0,\r\n \"axisLine\":false\r\n \t},\r\n \t\"yAxis\": {\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"bar\": {\r\n \t\t\t\"type\": \"group\",\r\n \t\t\t\"width\": 30,\r\n \t\t\t\"meterBorde\": 1,\r\n \t\t\t\"meterFillColor\": \"#FFFFFF\",\r\n \t\t\t\"activeBgColor\": \"#000000\",\r\n \t\t\t\"activeBgOpacity\": 0.08\r\n \t\t},\r\n \t}\r\n },\r\n\t\"area\":{\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"addLine\": true,\r\n\t\t\t\t\"width\": 2,\r\n\t\t\t\t\"gradient\": false,\r\n \"activeType\": \"hollow\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"radar\":{\r\n\t\t\"type\": \"radar\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n \"dataLabel\": false,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"radar\": {\r\n\t\t\t\t\"gridType\": \"radar\",\r\n\t\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\t\"gridCount\": 3,\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"max\": 200,\r\n\t\t\t\t\"labelShow\": true\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"gauge\":{\r\n\t\t\"type\": \"gauge\",\r\n\t\t\"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"66Km/H\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#2fc25b\",\r\n\t\t\t\"offsetY\": 50\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"实时速度\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#1890ff\",\r\n\t\t\t\"offsetY\": -50\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"gauge\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"labelColor\": \"#666666\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"startNumber\": 0,\r\n\t\t\t\t\"endNumber\": 100,\r\n\t\t\t\t\"labelFormat\": \"\",\r\n\t\t\t\t\"splitLine\": {\r\n\t\t\t\t\t\"fixRadius\": 0,\r\n\t\t\t\t\t\"splitNumber\": 10,\r\n\t\t\t\t\t\"width\": 30,\r\n\t\t\t\t\t\"color\": \"#FFFFFF\",\r\n\t\t\t\t\t\"childNumber\": 5,\r\n\t\t\t\t\t\"childWidth\": 12\r\n\t\t\t\t},\r\n\t\t\t\t\"pointer\": {\r\n\t\t\t\t\t\"width\": 24,\r\n\t\t\t\t\t\"color\": \"auto\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"candle\":{\r\n\t\t\"type\": \"candle\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"enableScroll\": true,\r\n\t\t\"enableMarkLine\": true,\r\n\t\t\"dataLabel\": false,\r\n\t\t\"xAxis\": {\r\n\t\t\t\"labelCount\": 4,\r\n\t\t\t\"itemCount\": 40,\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"gridType\": \"solid\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"scrollShow\": true,\r\n\t\t\t\"scrollAlign\": \"left\",\r\n\t\t\t\"scrollColor\": \"#A6A6A6\",\r\n\t\t\t\"scrollBackgroundColor\": \"#EFEBEF\"\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"candle\": {\r\n\t\t\t\t\"color\": {\r\n\t\t\t\t\t\"upLine\": \"#f04864\",\r\n\t\t\t\t\t\"upFill\": \"#f04864\",\r\n\t\t\t\t\t\"downLine\": \"#2fc25b\",\r\n\t\t\t\t\t\"downFill\": \"#2fc25b\"\r\n\t\t\t\t},\r\n\t\t\t\t\"average\": {\r\n\t\t\t\t\t\"show\": true,\r\n\t\t\t\t\t\"name\": [\"MA5\",\"MA10\",\"MA30\"],\r\n\t\t\t\t\t\"day\": [5,10,20],\r\n\t\t\t\t\t\"color\": [\"#1890ff\",\"#2fc25b\",\"#facc14\"]\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"markLine\": {\r\n\t\t\t\t\"type\": \"dash\",\r\n\t\t\t\t\"dashLength\": 5,\r\n\t\t\t\t\"data\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2150,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2350,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"mix\":{\r\n\t\t\"type\": \"mix\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disabled\": false,\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"padding\": 10,\r\n\t\t\t\"showTitle\": true,\r\n\t\t\t\"data\": []\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"mix\": {\r\n\t\t\t\t\"column\": {\r\n\t\t\t\t\t\"width\": 20\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"scatter\":{\r\n\t\t\"type\": \"scatter\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"dataLabel\":false,\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"scatter\": {\r\n \t},\r\n }\r\n\t},\r\n\t\"bubble\":{\r\n\t\t\"type\": \"bubble\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0,\r\n \"max\":250\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"data\":[{\r\n \"min\":0,\r\n \"max\":150\r\n }]\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"bubble\": {\r\n \"border\":2,\r\n \"opacity\": 0.5,\r\n \t},\r\n }\r\n\t}\r\n}\r\n\r\nexport default cfu;"],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/timeVideo/timeVideo.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/timeVideo/timeVideo.js.map
index c70137a..d7bd978 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/timeVideo/timeVideo.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/timeVideo/timeVideo.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js",null,"webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?bad3","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?4240","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?0390","uni-app:///pages/timeVideo/timeVideo.vue","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?12b5","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?850b"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","background","backgroundColor","userid","deviceList","liveList","accesstoken","src","time","onLoad","onPullDownRefresh","mounted","setInterval","methods","getEquipmentInfo","uni","title","url","method","type","toMiniProgram","cameraid","channelid","appId","path","success","console","icon","duration","getCurrentTime"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,kBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkI;AAClI;AAC6D;AACL;AACsC;;;AAG9F;AACgL;AAChL,gBAAgB,yLAAU;AAC1B,EAAE,+EAAM;AACR,EAAE,gGAAM;AACR,EAAE,yGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,2OAEN;AACP,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAA0pB,CAAgB,+qBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eCkC9qB;EACAC;IACA;MACA;MACAC;QACAC;MACA;MAEAC;MACAC;MACAC;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IACA;IACA;EACA;EACAC;IACA;EACA;EACAC;IAAA;IAGAC;MACA;IACA;EACA;EACAC;IACA;IACAC;MAAA;MACAC;QACAC;MACA;MACA;QACAC;QACAC;MACA;QACA;UACAH;UACAA;UACA;UACA;UACA;UACA;UACA;QACA;UACA;YACAC;YACAG;UACA;QACA;MACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEAC;MAAA;MACA;QACA;UACAH;UACAC;UACAlB;YACAqB;YACAC;UACA;QACA;UACA;YACA;YACA;YAEAP;cACAQ;cACAC;cACAC;gBACAC;cACA;YACA;UACA;QACA;MACA;QACAX;UACAY;UACAX;UACAY;QACA;MACA;IAGA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACxKA;AAAA;AAAA;AAAA;AAAywC,CAAgB,suCAAG,EAAC,C;;;;;;;;;;;ACA7xC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/timeVideo/timeVideo.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/timeVideo/timeVideo.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./timeVideo.vue?vue&type=template&id=dd7dcdb8&scoped=true&\"\nvar renderjs\nimport script from \"./timeVideo.vue?vue&type=script&lang=js&\"\nexport * from \"./timeVideo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./timeVideo.vue?vue&type=style&index=0&id=dd7dcdb8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dd7dcdb8\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/timeVideo/timeVideo.vue\"\nexport default component.exports","export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=template&id=dd7dcdb8&scoped=true&\"","var components\ntry {\n components = {\n uNavbar: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-navbar/u-navbar\" */ \"uview-ui/components/u-navbar/u-navbar.vue\"\n )\n },\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=script&lang=js&\"","\r\n\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{{item.deviceTypeName}}-摄像机#2\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{ time }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t现场实况\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=style&index=0&id=dd7dcdb8&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=style&index=0&id=dd7dcdb8&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1706239324303\n var cssReload = require(\"D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js",null,"webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?bad3","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?4240","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?0390","uni-app:///pages/timeVideo/timeVideo.vue","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?12b5","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/timeVideo/timeVideo.vue?850b"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","background","backgroundColor","userid","deviceList","liveList","accesstoken","src","time","onLoad","onPullDownRefresh","mounted","setInterval","methods","getEquipmentInfo","uni","title","url","method","type","toVideoLive","icon","duration","getCurrentTime"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,kBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkI;AAClI;AAC6D;AACL;AACsC;;;AAG9F;AACgL;AAChL,gBAAgB,yLAAU;AAC1B,EAAE,+EAAM;AACR,EAAE,gGAAM;AACR,EAAE,yGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,2OAEN;AACP,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAA0pB,CAAgB,+qBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eCkC9qB;EACAC;IACA;MACA;MACAC;QACAC;MACA;MAEAC;MACAC;MACAC;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IACA;IACA;EACA;EACAC;IACA;EACA;EACAC;IAAA;IAGAC;MACA;IACA;EACA;EACAC;IACA;IACAC;MAAA;MACAC;QACAC;MACA;MACA;QACAC;QACAC;MACA;QACA;UACAH;UACAA;UACA;UACA;UACA;UACA;UACA;QACA;UACA;YACAC;YACAG;UACA;QACA;MACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IAEAC;MACA;QACAL;UACAE;QACA;MACA;QACAF;UACAM;UACAL;UACAM;QACA;MACA;IACA;IAEAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACxKA;AAAA;AAAA;AAAA;AAAywC,CAAgB,suCAAG,EAAC,C;;;;;;;;;;;ACA7xC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/timeVideo/timeVideo.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/timeVideo/timeVideo.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./timeVideo.vue?vue&type=template&id=dd7dcdb8&scoped=true&\"\nvar renderjs\nimport script from \"./timeVideo.vue?vue&type=script&lang=js&\"\nexport * from \"./timeVideo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./timeVideo.vue?vue&type=style&index=0&id=dd7dcdb8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dd7dcdb8\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/timeVideo/timeVideo.vue\"\nexport default component.exports","export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=template&id=dd7dcdb8&scoped=true&\"","var components\ntry {\n components = {\n uNavbar: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-navbar/u-navbar\" */ \"uview-ui/components/u-navbar/u-navbar.vue\"\n )\n },\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=script&lang=js&\"","\r\n\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{{item.deviceTypeName}}-摄像机#2\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{ time }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t现场实况\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=style&index=0&id=dd7dcdb8&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./timeVideo.vue?vue&type=style&index=0&id=dd7dcdb8&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1706255872788\n var cssReload = require(\"D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/videoLive/videoLive.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/videoLive/videoLive.js.map
index 16fdb34..1aa7da3 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/videoLive/videoLive.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/videoLive/videoLive.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js",null,"webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?3607","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?2d4e","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?6e58","uni-app:///pages/videoLive/videoLive.vue","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?a462","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?a933"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","background","backgroundColor","flag1","flag2","flag3","cameraSerialNumber","cameraChannelNumber","accesstoken","src","onLoad","console","methods","getVideoData","url","method","cameraid","channelid","focus_addClick","focus_subtractClick","scale_addClick","scale_subtractClick","aperture_addClick","aperture_subtractClick"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,kBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkI;AAClI;AAC6D;AACL;AACsC;;;AAG9F;AACgL;AAChL,gBAAgB,yLAAU;AAC1B,EAAE,+EAAM;AACR,EAAE,gGAAM;AACR,EAAE,yGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,2OAEN;AACP,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAA0pB,CAAgB,+qBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eCkE9qB;EACAC;IACA;MACA;MACAC;QACAC;MACA;MAEAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IACAC;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACA;;EACAC;IACA;IACAC;MAAA;MACA;QACAC;QACAC;QACAf;UACAgB;UACAC;QACA;MACA;QACA;UACA;UACA;QACA;MACA;IACA;IAGA;IACAC;MACA;IACA;IACAC;MACA;IACA;IACA;IACAC;MACA;IACA;IACAC;MACA;IACA;IACA;IACAC;MACA;IACA;IACAC;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;AC7IA;AAAA;AAAA;AAAA;AAAywC,CAAgB,suCAAG,EAAC,C;;;;;;;;;;;ACA7xC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/videoLive/videoLive.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/videoLive/videoLive.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./videoLive.vue?vue&type=template&id=0ceca996&scoped=true&\"\nvar renderjs\nimport script from \"./videoLive.vue?vue&type=script&lang=js&\"\nexport * from \"./videoLive.vue?vue&type=script&lang=js&\"\nimport style0 from \"./videoLive.vue?vue&type=style&index=0&id=0ceca996&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ceca996\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/videoLive/videoLive.vue\"\nexport default component.exports","export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=template&id=0ceca996&scoped=true&\"","var components\ntry {\n components = {\n uNavbar: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-navbar/u-navbar\" */ \"uview-ui/components/u-navbar/u-navbar.vue\"\n )\n },\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=script&lang=js&\"","\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t焦距\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t缩放\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t光圈\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=style&index=0&id=0ceca996&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=style&index=0&id=0ceca996&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1706239081128\n var cssReload = require(\"D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js",null,"webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?3607","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?2d4e","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?6e58","uni-app:///pages/videoLive/videoLive.vue","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?a462","webpack:///C:/Users/PC/Desktop/2023-2-13/云上温室/wszhyWx/pages/videoLive/videoLive.vue?a933"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","background","backgroundColor","flag1","flag2","flag3","cameraSerialNumber","cameraChannelNumber","accesstoken","src","onLoad","methods","getVideoData","url","method","cameraid","channelid","focus_addClick","focus_subtractClick","scale_addClick","scale_subtractClick","aperture_addClick","aperture_subtractClick"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,kBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkI;AAClI;AAC6D;AACL;AACsC;;;AAG9F;AACgL;AAChL,gBAAgB,yLAAU;AAC1B,EAAE,+EAAM;AACR,EAAE,gGAAM;AACR,EAAE,yGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,2OAEN;AACP,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAA0pB,CAAgB,+qBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eCkE9qB;EACAC;IACA;MACA;MACAC;QACAC;MACA;MAEAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;IACA;EACA;EACAC;IACA;IACA;IACA;IACA;EACA;EACAC;IACA;IACAC;MAAA;MACA;QACAC;QACAC;QACAd;UACAe;UACAC;QACA;MACA;QACA;UACA;UACA;QACA;MACA;IACA;IAGA;IACAC;MACA;IACA;IACAC;MACA;IACA;IACA;IACAC;MACA;IACA;IACAC;MACA;IACA;IACA;IACAC;MACA;IACA;IACAC;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;AClIA;AAAA;AAAA;AAAA;AAAywC,CAAgB,suCAAG,EAAC,C;;;;;;;;;;;ACA7xC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/videoLive/videoLive.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/videoLive/videoLive.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./videoLive.vue?vue&type=template&id=0ceca996&scoped=true&\"\nvar renderjs\nimport script from \"./videoLive.vue?vue&type=script&lang=js&\"\nexport * from \"./videoLive.vue?vue&type=script&lang=js&\"\nimport style0 from \"./videoLive.vue?vue&type=style&index=0&id=0ceca996&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ceca996\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/videoLive/videoLive.vue\"\nexport default component.exports","export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=template&id=0ceca996&scoped=true&\"","var components\ntry {\n components = {\n uNavbar: function () {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-navbar/u-navbar\" */ \"uview-ui/components/u-navbar/u-navbar.vue\"\n )\n },\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=script&lang=js&\"","\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t焦距\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t缩放\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t光圈\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=style&index=0&id=0ceca996&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HbuilderX\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./videoLive.vue?vue&type=style&index=0&id=0ceca996&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1706255858942\n var cssReload = require(\"D:/HbuilderX/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
index 6e55787..ad07b97 100644
--- a/unpackage/dist/dev/mp-weixin/common/vendor.js
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -12006,7 +12006,7 @@ var api = (_api = {
sel_user: "/api/sel/user",
//根据id查询用户信息
getFs_rtdata: "/getFs/rtdata"
-}, (0, _defineProperty2.default)(_api, "selFs_time", "/selFs/time"), (0, _defineProperty2.default)(_api, "sel_eqbyid", "/sel/eqbyid/"), (0, _defineProperty2.default)(_api, "chart_fsdata", "/chart/fsdata"), (0, _defineProperty2.default)(_api, "user_update_pwd", "/user/update/pwd"), (0, _defineProperty2.default)(_api, "readFs_state", "/readFs/state"), (0, _defineProperty2.default)(_api, "writeFs", "/writeFs"), (0, _defineProperty2.default)(_api, "readFs_reg", "/readFs/reg"), (0, _defineProperty2.default)(_api, "readJinHuaControl_reg", "/readJinHuaControl/reg"), (0, _defineProperty2.default)(_api, "writeJinHuaControl_write", "/writeJinHuaControl/write"), (0, _defineProperty2.default)(_api, "getcontrol_rtdata", "/getcontrol/rtdata"), (0, _defineProperty2.default)(_api, "getcontrol_fsdata", "/getcontrol/fsdata"), (0, _defineProperty2.default)(_api, "getcontrol_cpermission", '/getcontrol/cpermission'), (0, _defineProperty2.default)(_api, "getControl_getState", '/readControl/getState'), (0, _defineProperty2.default)(_api, "getReadControlliShuiControl", '/readControl/liShuiControl'), (0, _defineProperty2.default)(_api, "readControl_fiveControl", '/readControl/fiveControl'), (0, _defineProperty2.default)(_api, "getcontrol_wxgetpermission", '/getcontrol/wxgetpermission'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve1", '/readControl/solenoidValve1'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve2", '/readControl/solenoidValve2'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve3", '/readControl/solenoidValve3'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve4", '/readControl/solenoidValve4'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve5", '/readControl/solenoidValve5'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve6", '/readControl/solenoidValve6'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve7", '/readControl/solenoidValve7'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve8", '/readControl/solenoidValve8'), (0, _defineProperty2.default)(_api, "readControl_readfilllight", '/readControl/readfilllight'), (0, _defineProperty2.default)(_api, "readControl_readcirculationfan", '/readControl/readcirculationfan'), (0, _defineProperty2.default)(_api, "readControl_fanwetcurtain", '/readControl/fanwetcurtain'), (0, _defineProperty2.default)(_api, "readControl_innercurtain", '/readControl/innercurtain'), (0, _defineProperty2.default)(_api, "readControl_externalsunshade", '/readControl/externalsunshade'), (0, _defineProperty2.default)(_api, "readControl_readskylight", '/readControl/readskylight'), (0, _defineProperty2.default)(_api, "camera_gethls", '/camera/gethls'), (0, _defineProperty2.default)(_api, "readFs_byid", '/readFs/byid'), (0, _defineProperty2.default)(_api, "getcontrol_geteqetdata", '/getcontrol/geteqetdata'), (0, _defineProperty2.default)(_api, "getcontrol_rtDatastation", '/getcontrol/rtDatastation'), (0, _defineProperty2.default)(_api, "readControl_interiorthermalinsulation", '/readControl/interiorthermalinsulation'), (0, _defineProperty2.default)(_api, "typeList", [{
+}, (0, _defineProperty2.default)(_api, "selFs_time", "/selFs/time"), (0, _defineProperty2.default)(_api, "sel_eqbyid", "/sel/eqbyid/"), (0, _defineProperty2.default)(_api, "chart_fsdata", "/chart/fsdata"), (0, _defineProperty2.default)(_api, "user_update_pwd", "/user/update/pwd"), (0, _defineProperty2.default)(_api, "readFs_state", "/readFs/state"), (0, _defineProperty2.default)(_api, "writeFs", "/writeFs"), (0, _defineProperty2.default)(_api, "readFs_reg", "/readFs/reg"), (0, _defineProperty2.default)(_api, "readJinHuaControl_reg", "/readJinHuaControl/reg"), (0, _defineProperty2.default)(_api, "writeJinHuaControl_write", "/writeJinHuaControl/write"), (0, _defineProperty2.default)(_api, "getcontrol_rtdata", "/getcontrol/rtdata"), (0, _defineProperty2.default)(_api, "getcontrol_fsdata", "/getcontrol/fsdata"), (0, _defineProperty2.default)(_api, "getcontrol_cpermission", '/getcontrol/cpermission'), (0, _defineProperty2.default)(_api, "getControl_getState", '/readControl/getState'), (0, _defineProperty2.default)(_api, "getReadControlliShuiControl", '/readControl/liShuiControl'), (0, _defineProperty2.default)(_api, "readControl_fiveControl", '/readControl/fiveControl'), (0, _defineProperty2.default)(_api, "getcontrol_wxgetpermission", '/getcontrol/wxgetpermission'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve1", '/readControl/solenoidValve1'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve2", '/readControl/solenoidValve2'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve3", '/readControl/solenoidValve3'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve4", '/readControl/solenoidValve4'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve5", '/readControl/solenoidValve5'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve6", '/readControl/solenoidValve6'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve7", '/readControl/solenoidValve7'), (0, _defineProperty2.default)(_api, "readControl_solenoidValve8", '/readControl/solenoidValve8'), (0, _defineProperty2.default)(_api, "readControl_readfilllight", '/readControl/readfilllight'), (0, _defineProperty2.default)(_api, "readControl_readcirculationfan", '/readControl/readcirculationfan'), (0, _defineProperty2.default)(_api, "readControl_fanwetcurtain", '/readControl/fanwetcurtain'), (0, _defineProperty2.default)(_api, "readControl_innercurtain", '/readControl/innercurtain'), (0, _defineProperty2.default)(_api, "readControl_externalsunshade", '/readControl/externalsunshade'), (0, _defineProperty2.default)(_api, "readControl_readskylight", '/readControl/readskylight'), (0, _defineProperty2.default)(_api, "camera_gethls", '/camera/gethls'), (0, _defineProperty2.default)(_api, "camera_getphonehls", '/camera/getphonehls'), (0, _defineProperty2.default)(_api, "readFs_byid", '/readFs/byid'), (0, _defineProperty2.default)(_api, "getcontrol_geteqetdata", '/getcontrol/geteqetdata'), (0, _defineProperty2.default)(_api, "getcontrol_rtDatastation", '/getcontrol/rtDatastation'), (0, _defineProperty2.default)(_api, "readControl_interiorthermalinsulation", '/readControl/interiorthermalinsulation'), (0, _defineProperty2.default)(_api, "typeList", [{
label: '无意义的传感器',
value: 0,
countType: 0,
diff --git a/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.js b/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.js
index 78a3a66..bd1542b 100644
--- a/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.js
+++ b/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.js
@@ -268,28 +268,40 @@ var _default = {
// }
// })
// },
- toMiniProgram: function toMiniProgram(cameraid, channelid) {
- var _this3 = this;
- if (cameraid && channelid) {
- this.$http({
- url: this.api.camera_gethls,
- method: 'GET',
- data: {
- cameraid: cameraid,
- channelid: channelid
- }
- }).then(function (res) {
- if (res.code == 200) {
- _this3.accesstoken = res.data.accesstoken;
- _this3.src = res.data.ezopen;
- uni.navigateToMiniProgram({
- appId: 'wxf2b3a0262975d8c2',
- path: 'pages/live/live?accessToken=' + _this3.accesstoken + '&deviceSerial=' + cameraid + '&channelNo=' + channelid,
- success: function success(res) {
- console.log(res);
- }
- });
- }
+ // toMiniProgram(cameraid,channelid){
+ // if(cameraid && channelid){
+ // this.$http({
+ // url: this.api.camera_gethls,
+ // method: 'GET',
+ // data: {
+ // cameraid,
+ // channelid
+ // }
+ // }).then(res => {
+ // if (res.code == 200) {
+ // this.accesstoken = res.data.accesstoken;
+ // this.src = res.data.ezopen;
+ // uni.navigateToMiniProgram({
+ // appId: 'wxf2b3a0262975d8c2',
+ // path: 'pages/live/live?accessToken=' + this.accesstoken + '&deviceSerial=' + cameraid + '&channelNo=' + channelid,
+ // success(res) {
+ // console.log(res);
+ // }
+ // })
+ // }
+ // })
+ // }else{
+ // uni.showToast({
+ // icon:'error',
+ // title: '暂无监控数据',
+ // duration: 2000
+ // });
+ // }
+ // },
+ toVideoLive: function toVideoLive(cameraSerialNumber, cameraChannelNumber) {
+ if (cameraSerialNumber && cameraChannelNumber) {
+ uni.navigateTo({
+ url: '/pages/videoLive/videoLive?cameraSerialNumber=' + cameraSerialNumber + '&cameraChannelNumber=' + cameraChannelNumber
});
} else {
uni.showToast({
@@ -299,19 +311,6 @@ var _default = {
});
}
},
- // toVideoLive(cameraSerialNumber,cameraChannelNumber) {
- // if(cameraSerialNumber && cameraChannelNumber){
- // uni.navigateTo({
- // url: '/pages/videoLive/videoLive?cameraSerialNumber=' + cameraSerialNumber + '&cameraChannelNumber=' + cameraChannelNumber
- // })
- // }else{
- // uni.showToast({
- // icon:'none',
- // title: '暂无监控数据',
- // duration: 2000
- // });
- // }
- // },
getCurrentTime: function getCurrentTime() {
var now = new Date();
var year = now.getFullYear();
diff --git a/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.wxml b/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.wxml
index 4074e13..c410a08 100644
--- a/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/timeVideo/timeVideo.wxml
@@ -1 +1 @@
-{{item.deviceTypeName+"-摄像机#2"}}{{time}}现场实况
\ No newline at end of file
+{{item.deviceTypeName+"-摄像机#2"}}{{time}}现场实况
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.js b/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.js
index fc39e30..9724b4d 100644
--- a/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.js
+++ b/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.js
@@ -246,29 +246,17 @@ var _default = {
};
},
onLoad: function onLoad(options) {
- console.log(options, '00');
+ // console.log(options,'00');
this.cameraSerialNumber = options.cameraSerialNumber;
this.cameraChannelNumber = options.cameraChannelNumber;
- // this.getVideoData(this.cameraSerialNumber, this.cameraChannelNumber)
-
- // let that = this;
- // let livePlayerContext = uni.createLivePlayerContext('myVideo');
- // 播放直播
- // livePlayerContext.play();
- // 监听直播播放结束事件
- // livePlayerContext.onEnded(function () {
- // console.log('直播播放结束');
- // // 暂停直播
- // livePlayerContext.pause();
- // });
+ this.getVideoData(this.cameraSerialNumber, this.cameraChannelNumber);
},
-
methods: {
// 获取摄像头得地址
getVideoData: function getVideoData(cameraid, channelid) {
var _this = this;
this.$http({
- url: this.api.camera_gethls,
+ url: this.api.camera_getphonehls,
method: 'GET',
data: {
cameraid: cameraid,
diff --git a/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.wxml b/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.wxml
index 3abc78f..13a62b2 100644
--- a/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/videoLive/videoLive.wxml
@@ -1 +1 @@
-焦距缩放光圈
\ No newline at end of file
+焦距缩放光圈
\ No newline at end of file