detection-business/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
2024-10-23 16:53:40 +08:00

1 line
2.3 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js?3223","webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js?df3c","webpack:///(webpack)/buildin/global.js?3698","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js?47a9","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js?34cf","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js?ed45","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?7172","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?6382","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js?6454","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js?dd3e","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js?7ca3","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js?d551","webpack:///./node_modules/@babel/runtime/helpers/typeof.js?3b2d","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js?e6db","webpack:///./node_modules/@babel/runtime/helpers/construct.js?931d","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js?7647","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js?011a","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js?af34","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js?a708","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js?b893","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js?9008","webpack:///./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js?d3b4","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?67ad","webpack:///./node_modules/@babel/runtime/helpers/createClass.js?0bdb","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js?3240","uni-app:///config.js","uni-app:///utils/request.js","uni-app:///store/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js?8f59","uni-app:///store/modules/user.js","uni-app:///utils/storage.js","uni-app:///utils/constant.js","uni-app:///api/login.js","uni-app:///utils/auth.js","webpack:///D:/lananWork/detection-business/static/logo.png?ee04","uni-app:///store/getters.js","uni-app:///utils/errorCode.js","uni-app:///utils/common.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?828b","uni-app:///uni_modules/uview-ui/index.js","uni-app:///uni_modules/uview-ui/libs/mixin/mixin.js","uni-app:///uni_modules/uview-ui/libs/mixin/mpMixin.js","uni-app:///uni_modules/uview-ui/libs/luch-request/index.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/Request.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/dispatchRequest.js","uni-app:///uni_modules/uview-ui/libs/luch-request/adapters/index.js","uni-app:///uni_modules/uview-ui/libs/luch-request/helpers/buildURL.js","uni-app:///uni_modules/uview-ui/libs/luch-request/utils.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/buildFullPath.js","uni-app:///uni_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js","uni-app:///uni_modules/uview-ui/libs/luch-request/helpers/combineURLs.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/settle.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/InterceptorManager.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/mergeConfig.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/defaults.js","uni-app:///uni_modules/uview-ui/libs/luch-request/utils/clone.js","webpack:///./node_modules/buffer/index.js?12e3","webpack:///./node_modules/base64-js/index.js?10ab","webpack:///./node_modules/ieee754/index.js?ba37","webpack:///./node_modules/isarray/index.js?b0e4","uni-app:///uni_modules/uview-ui/libs/util/route.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js?7eb4","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js?9fc1","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js?ee10","uni-app:///uni_modules/uview-ui/libs/function/colorGradient.js","uni-app:///uni_modules/uview-ui/libs/function/test.js","uni-app:///uni_modules/uview-ui/libs/function/debounce.js","uni-app:///uni_modules/uview-ui/libs/function/throttle.js","uni-app:///uni_modules/uview-ui/libs/function/index.js","uni-app:///uni_modules/uview-ui/libs/function/digit.js","webpack:///./node_modules/@babel/runtime/helpers/toArray.js?c70d","uni-app:///uni_modules/uview-ui/libs/config/config.js","uni-app:///uni_modules/uview-ui/libs/config/props.js","uni-app:///uni_modules/uview-ui/libs/config/props/actionSheet.js","uni-app:///uni_modules/uview-ui/libs/config/props/album.js","uni-app:///uni_modules/uview-ui/libs/config/props/alert.js","uni-app:///uni_modules/uview-ui/libs/config/props/avatar.js","uni-app:///uni_modules/uview-ui/libs/config/props/avatarGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/backtop.js","uni-app:///uni_modules/uview-ui/libs/config/props/badge.js","uni-app:///uni_modules/uview-ui/libs/config/props/button.js","uni-app:///uni_modules/uview-ui/libs/config/props/calendar.js","uni-app:///uni_modules/uview-ui/libs/config/props/carKeyboard.js","uni-app:///uni_modules/uview-ui/libs/config/props/cell.js","uni-app:///uni_modules/uview-ui/libs/config/props/cellGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/checkbox.js","uni-app:///uni_modules/uview-ui/libs/config/props/checkboxGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/circleProgress.js","uni-app:///uni_modules/uview-ui/libs/config/props/code.js","uni-app:///uni_modules/uview-ui/libs/config/props/codeInput.js","uni-app:///uni_modules/uview-ui/libs/config/props/col.js","uni-app:///uni_modules/uview-ui/libs/config/props/collapse.js","uni-app:///uni_modules/uview-ui/libs/config/props/collapseItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/columnNotice.js","uni-app:///uni_modules/uview-ui/libs/config/props/countDown.js","uni-app:///uni_modules/uview-ui/libs/config/props/countTo.js","uni-app:///uni_modules/uview-ui/libs/config/props/datetimePicker.js","uni-app:///uni_modules/uview-ui/libs/config/props/divider.js","uni-app:///uni_modules/uview-ui/libs/config/props/empty.js","uni-app:///uni_modules/uview-ui/libs/config/props/form.js","uni-app:///uni_modules/uview-ui/libs/config/props/formItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/gap.js","uni-app:///uni_modules/uview-ui/libs/config/props/grid.js","uni-app:///uni_modules/uview-ui/libs/config/props/gridItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/icon.js","uni-app:///uni_modules/uview-ui/libs/config/props/image.js","uni-app:///uni_modules/uview-ui/libs/config/props/indexAnchor.js","uni-app:///uni_modules/uview-ui/libs/config/props/indexList.js","uni-app:///uni_modules/uview-ui/libs/config/props/input.js","uni-app:///uni_modules/uview-ui/libs/config/props/keyboard.js","uni-app:///uni_modules/uview-ui/libs/config/props/line.js","uni-app:///uni_modules/uview-ui/libs/config/props/lineProgress.js","uni-app:///uni_modules/uview-ui/libs/config/props/link.js","uni-app:///uni_modules/uview-ui/libs/config/props/list.js","uni-app:///uni_modules/uview-ui/libs/config/props/listItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/loadingIcon.js","uni-app:///uni_modules/uview-ui/libs/config/props/loadingPage.js","uni-app:///uni_modules/uview-ui/libs/config/props/loadmore.js","uni-app:///uni_modules/uview-ui/libs/config/props/modal.js","uni-app:///uni_modules/uview-ui/libs/config/props/navbar.js","uni-app:///uni_modules/uview-ui/libs/config/color.js","uni-app:///uni_modules/uview-ui/libs/config/props/noNetwork.js","uni-app:///uni_modules/uview-ui/libs/config/props/noticeBar.js","uni-app:///uni_modules/uview-ui/libs/config/props/notify.js","uni-app:///uni_modules/uview-ui/libs/config/props/numberBox.js","uni-app:///uni_modules/uview-ui/libs/config/props/numberKeyboard.js","uni-app:///uni_modules/uview-ui/libs/config/props/overlay.js","uni-app:///uni_modules/uview-ui/libs/config/props/parse.js","uni-app:///uni_modules/uview-ui/libs/config/props/picker.js","uni-app:///uni_modules/uview-ui/libs/config/props/popup.js","uni-app:///uni_modules/uview-ui/libs/config/props/radio.js","uni-app:///uni_modules/uview-ui/libs/config/props/radioGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/rate.js","uni-app:///uni_modules/uview-ui/libs/config/props/readMore.js","uni-app:///uni_modules/uview-ui/libs/config/props/row.js","uni-app:///uni_modules/uview-ui/libs/config/props/rowNotice.js","uni-app:///uni_modules/uview-ui/libs/config/props/scrollList.js","uni-app:///uni_modules/uview-ui/libs/config/props/search.js","uni-app:///uni_modules/uview-ui/libs/config/props/section.js","uni-app:///uni_modules/uview-ui/libs/config/props/skeleton.js","uni-app:///uni_modules/uview-ui/libs/config/props/slider.js","uni-app:///uni_modules/uview-ui/libs/config/props/statusBar.js","uni-app:///uni_modules/uview-ui/libs/config/props/steps.js","uni-app:///uni_modules/uview-ui/libs/config/props/stepsItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/sticky.js","uni-app:///uni_modules/uview-ui/libs/config/props/subsection.js","uni-app:///uni_modules/uview-ui/libs/config/props/swipeAction.js","uni-app:///uni_modules/uview-ui/libs/config/props/swipeActionItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/swiper.js","uni-app:///uni_modules/uview-ui/libs/config/props/swipterIndicator.js","uni-app:///uni_modules/uview-ui/libs/config/props/switch.js","uni-app:///uni_modules/uview-ui/libs/config/props/tabbar.js","uni-app:///uni_modules/uview-ui/libs/config/props/tabbarItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/tabs.js","uni-app:///uni_modules/uview-ui/libs/config/props/tag.js","uni-app:///uni_modules/uview-ui/libs/config/props/text.js","uni-app:///uni_modules/uview-ui/libs/config/props/textarea.js","uni-app:///uni_modules/uview-ui/libs/config/props/toast.js","uni-app:///uni_modules/uview-ui/libs/config/props/toolbar.js","uni-app:///uni_modules/uview-ui/libs/config/props/tooltip.js","uni-app:///uni_modules/uview-ui/libs/config/props/transition.js","uni-app:///uni_modules/uview-ui/libs/config/props/upload.js","uni-app:///uni_modules/uview-ui/libs/config/zIndex.js","uni-app:///uni_modules/uview-ui/libs/function/platform.js","uni-app:///uni.promisify.adaptor.js","uni-app:///utils/upload.js","uni-app:///uni_modules/uni-icons/components/uni-icons/icons.js","uni-app:///uni_modules/uni-popup/components/uni-popup/popup.js","uni-app:///uni_modules/uni-popup/components/uni-popup/i18n/index.js","uni-app:///uni_modules/uview-ui/components/u-datetime-picker/props.js","uni-app:///uni_modules/uview-ui/libs/util/dayjs.js","uni-app:///uni_modules/uview-ui/components/u-overlay/props.js","uni-app:///uni_modules/uview-ui/components/u-upload/utils.js","uni-app:///uni_modules/uview-ui/components/u-upload/mixin.js","uni-app:///uni_modules/uview-ui/components/u-upload/props.js","uni-app:///uni_modules/uview-ui/components/u-icon/icons.js","uni-app:///uni_modules/uview-ui/components/u-icon/props.js","uni-app:///uni_modules/uview-ui/components/u-parse/props.js","uni-app:///uni_modules/uview-ui/components/u-parse/parser.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js?861b","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js?3352","webpack:///./node_modules/@babel/runtime/helpers/inherits.js?8ffa","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?4ffb","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js?b4d2","webpack:///./node_modules/@babel/runtime/helpers/wrapNativeSuper.js?7ce1","webpack:///./node_modules/@babel/runtime/helpers/isNativeFunction.js?4965","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","uni-app:///uni_modules/uview-ui/components/u-popup/props.js","uni-app:///uni_modules/uview-ui/components/u-modal/props.js","uni-app:///uni_modules/uview-ui/components/u-picker/props.js","uni-app:///uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js","uni-app:///uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js","uni-app:///uni_modules/uview-ui/components/u-textarea/props.js","uni-app:///uni_modules/uview-ui/components/u-input/props.js","uni-app:///uni_modules/uview-ui/libs/mixin/button.js","uni-app:///uni_modules/uview-ui/libs/mixin/openType.js","uni-app:///uni_modules/uview-ui/components/u-button/props.js","uni-app:///uni_modules/uview-ui/components/u-collapse/props.js","uni-app:///uni_modules/uview-ui/components/u-collapse-item/props.js","uni-app:///uni_modules/uni-transition/components/uni-transition/createAnimation.js","uni-app:///uni_modules/uview-ui/components/u-transition/props.js","uni-app:///uni_modules/uview-ui/components/u-transition/transition.js","uni-app:///uni_modules/uview-ui/components/u-transition/nvue.ani-map.js","uni-app:///uni_modules/uview-ui/components/u-loading-icon/props.js","uni-app:///uni_modules/uview-ui/components/u-status-bar/props.js","uni-app:///uni_modules/uview-ui/components/u-safe-bottom/props.js","uni-app:///uni_modules/uview-ui/components/u-line/props.js","uni-app:///uni_modules/uview-ui/components/u-toolbar/props.js","uni-app:///uni_modules/uview-ui/components/u-cell/props.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","r","l","Symbol","iterator","n","u","a","f","o","next","done","arrayLikeToArray","_unsupportedIterableToArray","minLen","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","setPrototypeOf","isNativeReflectConstruct","_construct","Reflect","construct","p","bind","_setPrototypeOf","_isNativeReflectConstruct","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","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","baseUrl","imagesUrl","baseImageUrl","appInfo","logo","site_url","agreements","timeout","config","request","isToken","headers","header","getToken","tansParams","isTanantId","getTenantId","dataType","response","code","msg","errorCode","clearStorageSync","reLaunch","toast","records","rows","total","use","Vuex","Store","modules","user","getters","storage","constant","avatar","roles","permissions","mutations","SET_TOKEN","SET_NAME","SET_AVATAR","SET_ROLES","SET_PERMISSIONS","actions","Login","commit","username","password","uuid","login","setToken","GetInfo","getInfo","userName","LogOut","logout","removeToken","clean","storageKey","storageNodeKeys","storageData","tmp","setStorageSync","remove","removeStorageSync","getCodeImg","getTenantIdByWebsite","website","TokenKey","TenantIdKey","setTenantId","TenantId","hasRole","roleCode","roleList","roleInfo","content","showToast","icon","showConfirm","showModal","cancelText","confirmText","propName","subPart","pleaseSetTranspileDependencies","babelTest","$u","date","timeFormat","colorGradient","hexToRgb","rgbToHex","colorToRgba","http","Request","zIndex","debounce","throttle","mpMixin","color","install","timestamp","timeFrom","customStyle","customClass","linkType","getRect","$uGetRect","created","computed","deepMerge","bem","fixed","change","prefix","classes","openPage","urlKey","all","createSelectorQuery","in","boundingClientRect","rect","exec","getParentData","parentName","children","parentData","preventEvent","onReachBottom","beforeDestroy","array","childrenList","child","clone","defaults","InterceptorManager","mergeConfig","dispatchRequest","fulfilled","rejected","shift","middleware","adapter","mergeKeys","config2","prop","isUndefined","buildURL","buildFullPath","baseURL","_config","settle","requestTask","otherConfig","filePath","optionalKeys","uploadFile","downloadFile","getTask","serializedParams","utils","isURLSearchParams","isDate","toISOString","hashmarkIndex","URLSearchParams","isBoolean","assignValue","requestedURL","isAbsoluteURL","combineURLs","relativeURL","validateStatus","status","statusCode","handlers","eject","h","globalsConfig","custom","defaultToConfig2Keys","uploadKeys","defaultsKeys","responseType","_instanceof","nativeMap","Map","nativeSet","nativePromise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","Infinity","_clone","proto","__isArray","__isRegExp","RegExp","source","__getRegExpFlags","lastIndex","__isDate","getTime","isBuffer","copy","getPrototypeOf","keyChild","valueChild","entryChild","attrs","getOwnPropertyDescriptor","objProperty","ReferenceError","getOwnPropertySymbols","symbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","clonePrototype","__objToStr","re","flags","ignoreCase","multiline","Router","animationType","animationDuration","intercept","addRootPath","queryParams","mixinParam","routeIntercept","isNext","navigateTo","switchTab","navigateBack","runtime","_regeneratorRuntime","asyncIterator","toStringTag","define","wrap","Generator","Context","makeInvokeMethod","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","g","defineIteratorMethods","_invoke","AsyncIterator","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","awrap","async","reverse","prev","stop","rval","handle","finish","_catch","delegateYield","asyncGeneratorStep","gen","_next","_throw","info","_asyncToGenerator","self","startColor","endColor","step","startRGB","startR","startG","startB","endRGB","endR","endG","endB","sR","sG","sB","colorArr","hex","round","sColor","reg","sColorNew","sColorChange","rgb","_this","aColor","strHex","aNum","numHex","alpha","email","mobile","dateISO","string","digits","idCard","carNo","xreg","creg","amount","chinese","letter","enOrNum","contains","range","rangeLength","landline","empty","jsonString","object","func","image","IMAGE_REGEXP","video","VIDEO_REGEXP","regExp","isEmpty","wait","immediate","clearTimeout","callNow","setTimeout","timer","flag","min","max","getPx","unit","sleep","os","sys","gab","guid","firstU","radix","chars","addStyle","styleArray","style","addUnit","deepClone","WeakMap","has","entries","merged","sourceValue","targetValue","randomArray","padStart","maxLength","fillString","fillLength","times","ceil","dateTime","formatStr","timeSource","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","beginIndex","tips","pos","isPrefix","arrayFormat","_result","_value","commaStr","duration","type2icon","fill","iconName","priceFormat","decimals","decimalPoint","thousandsSeparator","isFinite","prec","abs","sep","dec","getDuration","valueNum","padZero","formValidate","formItem","form","validateField","getProperty","firstObj","setProperty","inFn","_obj","k","getHistoryPage","back","setConfig","_boundaryCheckingState","strip","num","precision","parseFloat","toPrecision","digitLength","eSplit","float2Fixed","dLen","pow","checkBoundary","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","iteratorOperation","operation","num1","num2","others","nums","num1Changed","num2Changed","baseNum","leftValue","plus","minus","divide","ratio","base","enableBoundaryChecking","_toArray","log","actionSheet","album","alert","avatarGroup","backtop","badge","button","calendar","carKeyboard","cell","cellGroup","checkbox","checkboxGroup","circleProgress","codeInput","col","collapse","collapseItem","columnNotice","countDown","countTo","datetimePicker","divider","gap","grid","gridItem","indexAnchor","indexList","input","keyboard","line","lineProgress","link","list","listItem","loadingIcon","loadingPage","loadmore","modal","navbar","noNetwork","noticeBar","notify","numberBox","numberKeyboard","overlay","picker","popup","radio","radioGroup","rate","readMore","row","rowNotice","scrollList","search","section","skeleton","slider","statusBar","steps","stepsItem","sticky","subsection","swipeAction","swipeActionItem","swiper","swipterIndicator","_switch","tabbar","tabbarItem","tabs","tag","textarea","toolbar","tooltip","transition","upload","description","closeOnClickAction","safeAreaInsetBottom","openType","closeOnClickOverlay","keyName","singleSize","multipleSize","space","singleMode","multipleMode","maxCount","previewFullImage","rowCount","showMore","closable","showIcon","effect","fontSize","src","shape","bgColor","mpAvatar","randomBgColor","defaultUrl","colorIndex","extraValue","scrollTop","iconStyle","isDot","showZero","numberType","offset","inverted","absolute","hairline","plain","disabled","loading","loadingText","loadingMode","loadingSize","formType","appParameter","hoverStopPropagation","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","dataName","throttleTime","hoverStartTime","hoverStayTime","iconColor","showTitle","showSubtitle","startText","endText","customList","minDate","maxDate","defaultDate","rowHeight","formatter","showLunar","showMark","confirmDisabledText","readonly","maxRange","rangePrompt","showRangePrompt","allowSameDay","monthNum","label","border","clickable","isLink","required","arrowDirection","rightIconStyle","rightIcon","titleStyle","activeColor","inactiveColor","iconSize","labelSize","labelColor","labelDisabled","placement","iconPlacement","borderBottom","percentage","seconds","changeText","keepRunning","uniqueKey","adjustPosition","maxlength","dot","focus","bold","disabledKeyboard","borderColor","disabledDot","span","justify","align","textAlign","accordion","speed","disableTouch","time","autoStart","millisecond","startVal","endVal","autoplay","useEasing","decimal","separator","showToolbar","minHour","maxHour","minMinute","maxMinute","itemHeight","cancelColor","confirmColor","visibleItemCount","defaultIndex","dashed","textPosition","textSize","textColor","lineColor","width","height","marginTop","rules","errorType","labelPosition","labelWidth","labelAlign","labelStyle","leftIcon","leftIconStyle","marginBottom","hoverClass","customPrefix","labelPos","imgMode","radius","lazyLoad","showMenuByLongpress","errorIcon","showLoading","showError","fade","webp","customNavHeight","disabledColor","clearable","placeholder","placeholderClass","placeholderStyle","showWordLimit","confirmType","confirmHold","holdKeyboard","autoBlur","disableDefaultPadding","cursor","cursorSpacing","selectionStart","selectionEnd","inputAlign","prefixIcon","prefixIconStyle","suffixIcon","suffixIconStyle","dotDisabled","showTips","showCancel","autoChange","direction","margin","showText","underLine","href","mpTips","showScrollbar","lowerThreshold","upperThreshold","offsetAccuracy","enableFlex","pagingEnabled","scrollable","scrollIntoView","scrollWithAnimation","enableBackToTop","preLoadScreen","anchor","vertical","timingFunction","loadingColor","loadmoreText","nomoreText","showConfirmButton","showCancelButton","buttonReverse","zoom","asyncClose","negativeTop","confirmButtonShape","safeAreaInsetTop","leftText","rightText","titleWidth","leftIconSize","leftIconColor","mainColor","autoBack","primary","warning","contentColor","tipsColor","lightColor","integer","disabledInput","asyncChange","inputWidth","showMinus","showPlus","decimalLength","longPress","buttonSize","disableMinus","disablePlus","opacity","copyLink","errorImg","loadingImg","pauseVideo","previewImg","setTitle","showImgMenu","columns","immediateChange","closeable","overlayStyle","closeIconPos","overlayOpacity","count","gutter","minCount","allowHalf","activeIcon","inactiveIcon","touchable","showHeight","toggle","closeText","openText","textIndent","indicatorWidth","indicatorBarWidth","indicatorColor","indicatorActiveColor","indicatorStyle","clearabled","showAction","actionStyle","actionText","inputStyle","searchIconColor","searchIconSize","placeholderColor","searchIcon","animation","subTitle","subColor","showLine","arrow","animate","rowsWidth","rowsHeight","titleHeight","avatarSize","avatarShape","blockSize","blockColor","showValue","blockStyle","desc","offsetTop","autoClose","threshold","indicatorInactiveColor","indicatorMode","currentItemId","interval","previousMargin","nextMargin","acceleration","displayMultipleItems","easingFunction","swiperIndicator","switch","activeValue","inactiveValue","badgeStyle","activeStyle","inactiveStyle","lineWidth","lineHeight","lineBgSize","itemStyle","closeColor","plainFill","block","lines","decoration","wordWrap","autoHeight","showConfirmBar","isTab","copyText","showCopy","buttons","accept","capture","compressed","camera","maxDuration","uploadIcon","uploadIconColor","useBeforeRead","imageMode","sizeType","multiple","deletable","maxSize","MAX_VALUE","fileList","uploadText","mask","topTips","indexListSticky","formData","confirm","dispatch","getParent","en","zhHans","zhHant","Function","weekdays","months","$","z","utcOffset","m","year","month","M","w","D","ms","Q","S","$L","utc","$x","$offset","$d","NaN","substring","UTC","init","$y","$M","$D","$W","getDay","$H","$m","$s","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","toDate","weekStart","$set","daysInMonth","subtract","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toJSON","toUTCString","$i","isDayjs","Ls","pickExclude","reduce","formatImage","tempFiles","thumb","formatVideo","tempFilePath","thumbTempFilePath","formatMedia","formatFile","chooseFile","chooseImage","sourceType","chooseMedia","chooseVideo","chooseMessageFile","afterRead","beforeRead","domain","scrollTable","selectable","tagStyle","useAnchor","trustTags","makeMap","blockTags","ignoreTags","voidTags","entities","lt","gt","quot","apos","ensp","emsp","nbsp","semi","ndash","mdash","middot","lsquo","rsquo","ldquo","rdquo","bull","hellip","address","big","caption","cite","pre","small","blankChar","idIndex","decodeEntity","amp","j","parser","imgList","plugins","stack","nodes","onUpdate","lexer","popNode","expose","node","onParse","getUrl","parseStyle","styleObj","lastIndexOf","onTagName","tagName","xml","onAttrName","attrName","onAttrVal","onOpenTag","selfClose","siblings","close","autostart","controls","ignore","_j","_style","_src","_i","newSrc","display","onCloseTag","setNavigationBarTitle","xmlns","traversal","_i2","float","face","class","types","I","_i4","padding","cellpadding","spacing","cellspacing","trList","cells","_i5","td","_style2","start","end","colspan","rowspan","temp","_i6","_i7","_td","table","_i8","_i9","_i10","_i11","_item","flex","getNFCAdapter","onText","checkClose","endTag","needVal","attrVal","window","lib","Base","mixIn","$super","WordArray","words","sigBytes","clamp","enc","Hex","Latin1","Utf8","escape","unescape","BufferedBlockAlgorithm","_data","_nDataBytes","_append","_process","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","sin","MD5","_hash","b","P","T","C","O","HmacMD5","_hasher","_oKey","_iKey","Base64","_map","_reverseMap","createPromise","retryRule","needRetry","appid","E","L","_globalUniCloudObj","R","U","N","q","F","K","B","W","J","G","V","Y","X","ee","te","errCode","errSubject","subject","cause","requestId","toJson","ne","se","ie","oe","ae","ce","channel","ue","LOCALE","PLATFORM","OS","APPID","DEVICEID","he","sign","wrappedRequest","toBase64","le","endpoint","spaceId","requestUrl","envType","accessTokenKey","_getAccessTokenPromiseHub","requestAuth","setupRequest","accessToken","setAccessToken","requestWrapped","hasAccessToken","getAccessToken","rebuildRequest","clientSecret","functionTarget","functionArgs","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","tempFileURL","de","signInAnonymously","authorize","getLoginState","auth","customAuth","pe","location","fe","local","none","session","ge","me","sqrt","SHA256","HmacSHA256","ye","_e","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","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","append","Je","seqId","Ge","_reqClass","reqClass","timeoutMsg","restrictedMethods","_cache","_localCache","post","download","_refreshAccessTokenPromise","_refreshAccessToken","_shouldRefreshAccessTokenHook","removeStore","getStore","refresh_token","send","anonymous_uuid","setRefreshToken","access_token","setStore","access_token_expire","accessTokenExpire","refreshAccessToken","action","dataVersion","FormData","inQuery","Ve","Ye","Qe","_request","setLocalUserInfo","Xe","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","users","wxOpenId","wxPublicId","hasPrimaryUid","nickName","gender","avatarUrl","province","country","city","Ze","credential","refreshToken","loginType","et","updatePersistence","_setAnonymousUUID","refresh","_clearAnonymousUUID","tt","refreshUserInfo","nt","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","dt","pt","authObj","requestClient","ft","mt","yt","clear","_t","useAdapters","wt","vt","It","St","fileUrl","bt","kt","At","functionName","signHeaderKeys","spaceAppId","signedHeaders","body","secretKey","secretId","accessKey","Authorization","Pt","trace_id","Tt","Ct","xt","Ot","file_id","upload_url","form_data","expire","Et","Lt","clientInfo","uniIdToken","Rt","__dev__","initLocalNetwork","localAddress","localPort","aliyun","tencent","alipay","_callCloudFunction","Ut","rule","Nt","Dt","Mt","qt","Ft","Kt","jt","$t","secretType","uniCloudIns","clientType","scopedGlobalCache","_systemInfo","platformEncryptData","platformDecryptResult","prepare","platformGetSignOption","_uniCloudOptions","isClientKeyNotFound","forceUpdate","encryptData","decryptResult","Bt","Wt","Ht","buffer","Uint8Array","zt","Jt","Gt","Vt","toBytes","fromBytes","Yt","Qt","Xt","Zt","tn","nn","sn","rn","an","cn","un","hn","ln","dn","pn","gn","_prepare","_Ke","_Kd","mn","_aes","encrypt","decrypt","yn","_lastCipherblock","_n","segmentSize","_shiftRegister","wn","_lastPrecipher","_lastPrecipherIndex","vn","_counter","setValue","setBytes","In","_remainingCounter","_remainingCounterIndex","increment","Sn","AES","Counter","ModeOfOperation","ecb","cbc","cfb","ofb","ctr","utf8","pkcs7","pad","_arrayTest","coerceArray","createArray","copyArray","bn","base64ToArrayBuffer","arrayBufferToBase64","kn","An","Pn","Tn","Cn","xn","On","En","Ln","userEncryptKey","mpWeixinCode","mpWeixinOpenid","isLogin","initPromise","expireTime","getUserCryptoManager","getLatestUserKey","getAccountInfoSync","miniProgram","getUserEncryptKey","encryptKey","iv","verifyClientSign","wxAppId","getWxAppId","simulator","encryptKeyId","Rn","Un","appUtils","requireNativePlugin","systemInfo","hasClientKey","_hasClientKey","encryptGetClientKeyPayload","callFunction","clientKey","setClientKey","initStatus","getAppClientKey","ensureClientKey","Nn","Dn","Mn","accessControl","enable","function","qn","logPvd","debugLog","Fn","tcb","extraInfo","debugInfo","forceRemote","_callLocalFunction","wrapEncryptDataCallFunction","wrapVerifyClientCallFunction","UTSJSONObject","Kn","jn","_internalType","inspect","__ob__","$n","Bn","Wn","Hn","$regexp","$date","zn","$method","Jn","prevStage","udb","_database","$db","$param","Gn","isAggregate","getNextStageFn","_send","isCommand","getAction","getCommand","command","Vn","$newDb","Yn","Qn","_isJQL","multiCommand","queryList","setResult","dataList","_callback","_uniClient","level","_callbackAuth","_parseResult","uniClient","isJQL","_authCallBacks","_dbCallBacks","_isDefault","$env","Geo","serverDate","Xn","Zn","es","TOKEN_INVALID_TOKEN_EXPIRED","TOKEN_INVALID_INVALID_CLIENTID","TOKEN_INVALID","TOKEN_INVALID_WRONG_TOKEN","TOKEN_INVALID_ANONYMOUS_USER","ts","ns","needLogin","needLoginPage","notNeedLoginPage","rs","as","some","pagePath","cs","uniIdRouter","subPackages","tabBar","loginPage","resToLogin","routerNeedLogin","loginPageInTabBar","us","hs","ls","ds","ps","fs","gs","ys","redirect","_s","ws","abortLoginPageJump","autoToLoginPage","uniIdRedirectUrl","vs","Is","onResponse","Ss","offResponse","onNeedLogin","offNeedLogin","needLoginInit","onRefreshToken","offRefreshToken","bs","ks","As","Ps","Ts","tempFilePaths","onChooseFile","tempFile","initChooseAndUploadFile","extension","Cs","xs","Os","localdata","spaceInfo","collection","field","orderby","where","pageData","pageCurrent","pageSize","getcount","gettree","gettreepath","startwith","limitlevel","groupby","groupField","distinct","foreignKey","loadtime","manual","mixinDatacomLoading","mixinDatacomHasMore","mixinDatacomResData","mixinDatacomErrorMessage","mixinDatacomPage","mixinDatacomError","onMixinDatacomPropsChange","mixinDatacomEasyGet","getone","mixinDatacomGet","__uniX","databaseForJQL","database","groupBy","orderBy","getCount","limitLevel","startWith","getTree","getTreePath","skip","limit","Es","customUI","parseSystemError","loadingOptions","errorOptions","secretMethods","retry","interceptorName","getCallbackArgs","newToken","hideLoading","objectName","cancel","Rs","openid","callLoginByWeixin","importObject","secureNetworkHandshakeByWeixin","Us","Ns","Ds","Ms","_uniPushMessageCallback","_receivePushMessage","_currentMessageId","_payloadQueue","_appId","_pushClientId","_seqId","emit","_initMessageListener","payload","_isUniCloudSSE","messageId","_consumMessage","_parseMessagePayload","_end","_appendMessage","pushClientId","_destroy","addListener","removeListener","qs","Fs","servePort","port","initialLaunchType","Ks","_initPromiseHub","js","private","navigator","userAgent","_databaseForJQL","chooseAndUploadFile","mixinDatacom","SSEChannel","initSecureNetworkByWeixin","interceptObject","uniCloud","Bs","_assertThisInitialized","_inherits","subClass","superClass","assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","isNativeFunction","_wrapNativeSuper","Class","Wrapper","_isNativeFunction","yAxisWidth","xAxisHeight","rotate","fontColor","dataPointShape","linearColor","pieChartLinePadding","pieChartTextPadding","titleFontSize","subtitleFontSize","radarLabelTextMargin","varArgs","deepAssign","obj1","obj2","util","toFixed","isFloat","approximatelyEqual","isSameSign","isSameXCoordinateArea","p1","p2","isCollision","getH5Offset","changedTouches","offsetX","offsetY","hexValue","opc","rgx","findRange","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","series","pieSeriesArr","_pieSeries_","oldseries","fillSeries","linearIndex","pointShape","legendShape","fillCustomColor","linearType","customColor","newcolor","chazhi","getDataRange","minData","maxData","minRange","measureText","setFontSize","dataCombine","dataCombineStack","getTouches","touches","clientX","pix","pageY","getSeriesDataItem","group","newSeries","indexIsArr","tempSeries","filterSeries","tmpindex","disableLegend","getMaxTextListLength","lengthList","getRadarCoordinateSeries","eachAngle","CoordinateSeries","getToolTipData","seriesData","categories","calPoints","filterPoints","textList","titleText","getMixToolTipData","getCandleToolTipData","upColor","upFill","downColor","downFill","text1","text2","text3","text4","validCalPoints","findCurrentIndex","currentPoints","boundaryGap","isInExactChartArea","timePoints","pointValue","pointIndex","minValue","findBarChartCurrentIndex","yAxisPoints","findLegendIndex","legendData","isInExactLegendArea","findRadarChartCurrentIndex","radarData","eachAngleArea","isInExactPieChartArea","fixAngle","atan2","angleList","rangeStart","rangeEnd","findFunnelChartCurrentIndex","funnelData","funnelArea","findWordChartCurrentIndex","wordData","findMapChartCurrentIndex","cData","mapData","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","shapeWidth","shapeRight","legendList","widthCount","widthCountArr","currentRow","legendText","itemWidth","itemGap","legendWidth","maxHeight","lineNum","maxWidth","calCategoriesData","categoriesTextLenth","xitem","maxTextLength","rotateLabel","rotateAngle","tempHeight","enableScroll","scrollShow","getXAxisTextList","sorted","subitem","rangeSpan","eachRange","splitNumber","calXAxisData","columnstyle","bar","ranges","rangesFormat","xAxisScaleValues","getXAxisPoints","textLength","getRadarDataPoints","radarOption","radar","each","proportion","cos","_radius_","getFunnelDataPoints","minRadius","dataArr","radiusLength","getArcbarDataPoints","arcbarOption","totalAngle","getGaugeArcbarDataPoints","getGaugeAxisPoints","tempStartAngle","_startAngle_","_endAngle_","getGaugeDataPoints","gaugeOption","pointer","_oldAngle_","oldAngle","oldData","getPieTextMaxLength","fixColumeData","columnLen","seriesGap","categoryGap","mix","column","fixBarData","fixColumeMeterData","fixColumeStackData","indexn","fixBarStackData","spacingValid","dataCount","itemCount","startX","endX","getCandleDataPoints","validHeight","cPoints","indexs","point","getDataPoints","validWidth","xranges","xminRange","xmaxRange","getLineDataPoints","lineOption","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","beginPath","dataPointShapeType","setStrokeStyle","setFillStyle","background","setLineWidth","moveTo","lineTo","arc","closePath","stroke","drawActivePoint","activeType","drawRingTitle","titlefontSize","subtitlefontSize","subtitle","titleFontColor","subtitleFontColor","subtitleHeight","textWidth","startY","fillText","_textWidth","_startX","_startY","drawPointText","textOffset","formatVal","setTextAlign","drawColumePointText","Position","drawMountPointText","drawBarPointText","drawGaugeLabel","centerPosition","labelOffset","splitAngle","splitLine","totalNumber","endNumber","startNumber","nowAngle","nowNumber","labelText","drawRadarLabel","labelPointShow","posPoint","posPointAxis","labelPointColor","labelPointRadius","labelShow","posRelativeCanvas","drawPieText","lineRadius","textObjectCollection","lastTextObject","seriesConvert","orginX1","orginY1","orginX2","orginY2","orginX3","orginY3","textObject","lineStart","lineEnd","lineStartPoistion","lineEndPoistion","curveStartX","textStartX","quadraticCurveTo","drawToolTipSplitLine","toolTipOption","gridType","dashLength","endY","setLineDash","gridColor","xAxisLabel","textX","textY","labelBgColor","toolTipBackground","labelBgOpacity","toolTipOpacity","boxPadding","labelFontColor","drawMarkLine","markLineOption","markLine","showLabel","labelFontSize","labelPadding","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","addLine","gradient","firstPoint","lastPoint","lineType","drawScatterDataPoints","scatterOption","scatter","drawBubbleDataPoints","bubbleOption","bubble","drawLineDataPoints","onShadow","setShadow","drawMixDataPoints","columnIndex","columnLength","addPoint","drawToolTipBridge","horizentalLine","drawXAxis","scrollY","scrollScreenWidth","scrollTotalWidth","scrollWidth","scrollLeft","setLineCap","scrollBackgroundColor","scrollColor","disableGrid","gridEval","maxXAxisListLength","labelCount","newCategories","cgLength","xAxisFontSize","_xAxisTextAngle_","scrollHeight","truePoints","titleOffsetX","titleOffsetY","axisLine","axisLineColor","drawYAxisGrid","xAxiseachSpacing","TotalWidth","drawYAxis","tStartCenter","tmpstrat","gapwidth","drawLegend","legendArea","backgroundColor","itemList","listIndex","hiddenColor","fontTrans","drawPieDataPoints","pieOption","activeOpacity","activeRadius","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","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","_len","_key","uCharts","gridSet","canvas2d","config$$1","tempWidth","strokeStyle","font","fillStyle","textBaseline","blur","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","updateData","_getXAxisPoints0","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","Calendar","selected","startDate","endDate","getDateObj","cleanMultipleStatus","weeks","lastHover","selectDate","getWeeks","fullDate","multipleStatus","before","fixIosDateFormat","oldMonth","setMonth","newMonth","addZero","dateObj","multiples","multiplesStatus","findIndex","dateEqual","checked","beforeMultiple","isLogicBefore","afterMultiple","isLogicAfter","disable","dateCompare","isToday","userChecked","currentDate","disableBefore","disableAfter","logicBefore","logicAfter","begin","ab","db","setFullYear","unixDb","unixDe","fulldate","geDateAll","dateData","preMonthDayAmount","preMonthDays","getPreMonthDays","currentMonthDayAmount","currentMonthDays","getCurrentMonthDays","nextMonthDayAmount","nextMonthDays","_getNextMonthDays","calendarDays","getDateTime","hideSecond","hour","getDefaultSecond","checkDate","dateReg","dateTimeReg","ignoreCompositionEvent","onGetUserInfo","onContact","onGetPhoneNumber","onError","onLaunchApp","onOpenSetting","MPAnimation","createAnimation","currentStepAnimates","aniObj","styles","animateTypes1","transform","nvueAnimation","animates","_animateRun","_nvueNextAnimate","isEnd","animationData","export","durationTime","animateTypes2","animateTypes3","nextTick","getClassNames","enter","leave","clickHandler","vueEnter","classNames","inited","$nextTick","transitionEnded","vueLeave","onTransitionEnd"],"mappings":"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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,oIAAW;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,oIAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,oIAAW;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,oIAAW;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;AACAD,MAAM,CAACC,OAAO,GAAG;EAChB+G,OAAO,EAAE,mCAAmC;EAC5C;EACAC,SAAS,EAAE,iCAAiC;EACzCC,YAAY,EAAE,+BAA+B;EAChD;EACAC,OAAO,EAAE;IACR;IACAlrB,IAAI,EAAE,UAAU;IAChB;IACA8J,OAAO,EAAE,KAAK;IACd;IACAqhB,IAAI,EAAE,mBAAmB;IACzB;IACAC,QAAQ,EAAE,kBAAkB;IAC5B;IACAC,UAAU,EAAE,CAAC;MACX3d,KAAK,EAAE,MAAM;MACbrG,GAAG,EAAE;IACN,CAAC,EACD;MACCqG,KAAK,EAAE,QAAQ;MACfrG,GAAG,EAAE;IACN,CAAC;EAEH;AACD,CAAC,C;;;;;;;;;;;;;;;;;;AC3BD;AACA;AACA;AACA;AACA;AAEA,IAAIikB,OAAO,GAAG,KAAK;AACnB,IAAMP,OAAO,GAAGQ,eAAM,CAACR,OAAO;AAE9B,IAAMS,OAAO,GAAG,SAAVA,OAAO,CAAGD,MAAM,EAAI;EACxB;EACA,IAAME,OAAO,GAAG,CAACF,MAAM,CAACG,OAAO,IAAI,CAAC,CAAC,EAAED,OAAO,KAAK,KAAK;EACxDF,MAAM,CAACI,MAAM,GAAGJ,MAAM,CAACI,MAAM,IAAI,CAAC,CAAC;EACnC,IAAI,IAAAC,cAAQ,GAAE,IAAI,CAACH,OAAO,EAAE;IAC1BF,MAAM,CAACI,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,IAAAC,cAAQ,GAAE;EACzD;EACA;EACA,IAAIL,MAAM,CAAClsB,MAAM,EAAE;IACjB,IAAIgI,GAAG,GAAGkkB,MAAM,CAAClkB,GAAG,GAAG,GAAG,GAAG,IAAAwkB,kBAAU,EAACN,MAAM,CAAClsB,MAAM,CAAC;IACtDgI,GAAG,GAAGA,GAAG,CAAC7N,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB+xB,MAAM,CAAClkB,GAAG,GAAGA,GAAG;EAClB;EACD;EACA,IAAMykB,UAAU,GAAG,CAACP,MAAM,CAACG,OAAO,IAAI,CAAC,CAAC,EAAEI,UAAU,KAAK,KAAK;EAC9DP,MAAM,CAACI,MAAM,GAAGJ,MAAM,CAACI,MAAM,IAAI,CAAC,CAAC;EACnC,IAAG,IAAAI,iBAAW,GAAE,IAAI,CAACD,UAAU,EAAC;IAC9BP,MAAM,CAACI,MAAM,CAAC,WAAW,CAAC,GAAG,IAAAI,iBAAW,GAAE;EAC5C;EACC,OAAO,IAAIpsB,OAAO,CAAC,UAACC,OAAO,EAAEgB,MAAM,EAAK;IACtC8iB,GAAG,CAAC8H,OAAO,CAAC;MACRtsB,MAAM,EAAEqsB,MAAM,CAACrsB,MAAM,IAAI,KAAK;MAC9BosB,OAAO,EAAEC,MAAM,CAACD,OAAO,IAAKA,OAAO;MACnCjkB,GAAG,EAAEkkB,MAAM,CAACR,OAAO,IAAIA,OAAO,GAAGQ,MAAM,CAAClkB,GAAG;MAC3C/H,IAAI,EAAEisB,MAAM,CAACjsB,IAAI;MACjBqsB,MAAM,EAAEJ,MAAM,CAACI,MAAM;MACrBK,QAAQ,EAAE;IACZ,CAAC,CAAC,CAACxsB,IAAI,CAAC,UAAAysB,QAAQ,EAAI;MACtB;MACI,IAAK/tB,GAAG,GAAG+tB,QAAQ;MAEnB,IAAMC,IAAI,GAAGhuB,GAAG,CAACoB,IAAI,CAAC4sB,IAAI,IAAI,GAAG;MACjC,IAAMC,GAAG,GAAGC,kBAAS,CAACF,IAAI,CAAC,IAAIhuB,GAAG,CAACoB,IAAI,CAAC6sB,GAAG,IAAIC,kBAAS,CAAC,SAAS,CAAC;MACnE,IAAIF,IAAI,KAAK,GAAG,EAAE;QACrB;;QAEC;QACA;QACA;QACCxI,GAAG,CAAC2I,gBAAgB,EAAE;QACf3I,GAAG,CAAC4I,QAAQ,CAAC;UAAEjlB,GAAG,EAAE;QAAqB,CAAC,CAAC;MAGjD,CAAC,MAAM,IAAI6kB,IAAI,KAAK,GAAG,EAAE;QACvB,IAAAK,aAAK,EAACJ,GAAG,CAAC;QACVvrB,MAAM,CAAC,KAAK,CAAC;MACf,CAAC,MAAM,IAAIsrB,IAAI,KAAK,GAAG,EAAE;QACvB,IAAAK,aAAK,EAACJ,GAAG,CAAC;QACVvrB,MAAM,CAACsrB,IAAI,CAAC;MACd;MACJhuB,GAAG,CAACoB,IAAI,CAAC4sB,IAAI,GAAIhuB,GAAG,CAACoB,IAAI,CAAC4sB,IAAI,KAAK,CAAC,GAAG,GAAG,GAAGhuB,GAAG,CAACoB,IAAI,CAAC4sB,IAAK;MAC3D,IAAGhuB,GAAG,CAACoB,IAAI,CAACA,IAAI,IAAIpB,GAAG,CAACoB,IAAI,CAACA,IAAI,CAACktB,OAAO,EAAC;QACxCtuB,GAAG,CAACoB,IAAI,CAACmtB,IAAI,GAAGvuB,GAAG,CAACoB,IAAI,CAACA,IAAI,CAACktB,OAAO;MACvC;MACA,IAAGtuB,GAAG,CAACoB,IAAI,CAACA,IAAI,IAAIpB,GAAG,CAACoB,IAAI,CAACA,IAAI,CAACotB,KAAK,EAAC;QACtCxuB,GAAG,CAACoB,IAAI,CAACotB,KAAK,GAAGxuB,GAAG,CAACoB,IAAI,CAACA,IAAI,CAACotB,KAAK;MACtC;MACI9sB,OAAO,CAAC1B,GAAG,CAACoB,IAAI,CAAC;IACnB,CAAC,CAAC,CACDgC,KAAK,CAAC,UAAAlG,KAAK,EAAI;MACd,IAAMC,OAAO,GAAKD,KAAK,CAAjBC,OAAO;MACb,IAAIA,OAAO,KAAK,eAAe,EAAE;QAC/BA,OAAO,GAAG,UAAU;MACtB,CAAC,MAAM,IAAIA,OAAO,CAAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC0C,OAAO,GAAG,UAAU;MACtB,CAAC,MAAM,IAAIA,OAAO,CAAC1C,QAAQ,CAAC,iCAAiC,CAAC,EAAE;QAC9D0C,OAAO,GAAG,MAAM,GAAGA,OAAO,CAACwgB,MAAM,CAACxgB,OAAO,CAAC5B,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI;MAC9D;MACA,IAAA8yB,aAAK,EAAClxB,OAAO,CAAC;MACduF,MAAM,CAACxF,KAAK,CAAC;IACf,CAAC,CAAC;EACN,CAAC,CAAC;AACJ,CAAC;AAAA,eAEcowB,OAAO;AAAA,2B;;;;;;;;;;;;;;;;;;;ACnFtB;AACA;AACA;AACA;AAEA/vB,YAAG,CAACkxB,GAAG,CAACC,aAAI,CAAC;AAEb,IAAMnN,KAAK,GAAG,IAAImN,aAAI,CAACC,KAAK,CAAC;EAC3BC,OAAO,EAAE;IACPC,IAAI,EAAJA;EACF,CAAC;EACDC,OAAO,EAAPA;AACF,CAAC,CAAC;AAAA,eAEavN,KAAK;AAAA,2B;;;;;;;;;;;ACdpB;AACA;AACA;AACA;AACA;AACa;;AAEb;AACA;;AAEA;AACA,eAAe,yBAAyB;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG,GAAG,gBAAgB;;AAEtB;AACA;AACA,GAAG,GAAG,gBAAgB;AACtB;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,2BAA2B,EAAE;AACnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B,EAAE;AACvE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,cAAc,qBAAqB;;AAE7D;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,oCAAoC,EAAE;AAClE;AACA;;AAEA;AACA,4BAA4B;AAC5B,uEAAuE,EAAE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;;AAER;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,uBAAuB,EAAE;;AAE9D;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS,qBAAqB;;AAE1D;AACA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,6BAA6B,oCAAoC,EAAE;;AAEnE;AACA,KAAK,KAAqC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD,+BAA+B,yCAAyC,EAAE;AAC1E,GAAG;AACH,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,wCAAwC,EAAE;AAC7E,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,+CAA+C,EAAE;AACpF,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC,aAAa;AACtD;AACA;;AAEA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA,6CAA6C,6CAA6C,EAAE;AAC5F;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA,yEAAyE,iCAAiC;AAC1G;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB,EAAE;AACjD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,yBAAyB,EAAE;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,aAAoB;AACtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C,uBAAuB,2CAA2C;AAClE,KAAK;AACL;AACA,wBAAwB,0CAA0C;AAClE;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,4BAA4B;AAC5D,SAAS,IAAqC;AAC9C;AACA;AACA,GAAG,GAAG,yBAAyB;AAC/B;;AAEA;AACA,4CAA4C,mBAAmB,EAAE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW;AACX;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA,iCAAiC,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAC1F,iBAAiB,iBAAiB,QAAQ,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB;AACzG,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,UAAU,qBAAqB,EAAE,EAAE;AACjE,2CAA2C,UAAU,0BAA0B,EAAE,EAAE;AACnF;;AAEA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC;AAChC,0BAA0B,iFAAiF,aAAa;AACxH,oCAAoC,+DAA+D,cAAc;AACjH,oDAAoD,6EAA6E,YAAY;AAC7I,sCAAsC,yEAAyE,aAAa;AAC5H,gDAAgD,yEAAyE,YAAY;AACrI,sCAAsC;AACtC,kCAAkC;AAClC,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;AACtD,oDAAoD;AACpD,sDAAsD;AACtD;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;AC3tCA;AACA;AACA;AACA;AACA;AAEA,IAAMsL,OAAO,GAAGQ,eAAM,CAACR,OAAO;AAE9B,IAAMgC,IAAI,GAAG;EACX3nB,KAAK,EAAE;IACL3K,KAAK,EAAE,IAAAmxB,cAAQ,GAAE;IACjB5rB,IAAI,EAAEitB,gBAAO,CAACxnB,GAAG,CAACynB,iBAAQ,CAACltB,IAAI,CAAC;IAChCmtB,MAAM,EAAEF,gBA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AID,EAAE,CAACryB,MAAM,EAAEsyB,KAAK,IAAI,GAAG;IAC3B,IAAID,EAAE,CAACE,UAAU,EAAED,KAAK,IAAI,GAAG;IAC/B,IAAID,EAAE,CAACG,SAAS,EAAEF,KAAK,IAAI,GAAG;IAC9B,OAAOA,KAAK;EACd;EACA7F,KAAK,CAACsE,gBAAgB,GAAGA,gBAAgB;EAEzC,OAAOtE,KAAK;AACd,CAAC,EAAG;AAAC,eAEUA,KAAK;AAAA,2B;;;;;;;;;;;;ACvQpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,mBAAW;AAChC,cAAc,mBAAO,CAAC,iBAAS;AAC/B,cAAc,mBAAO,CAAC,iBAAS;;AAE/B;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;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,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;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,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;AC5vDY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA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;AAExB;AACA,IAAIoB,IAAsC,EAAE;EAC3CgE,OAAO,CAACo5B,GAAG,wBAAiBx+B,OAAO,oCAAiC,yEAAyE,CAAC;AAC/I;AAAC,eAEc;EACXnE,CAAC,EAAEmE,OAAO;EACVA,OAAO,EAAPA,OAAO;EACP;EACA4H,IAAI,EAAE,CACF,SAAS,EACT,SAAS,EACT,MAAM,EACN,OAAO,EACP,SAAS,CACZ;EACD;EACA2f,KAAK,EAAE;IACH,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,SAAS;IAC5B,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE;EACrB,CAAC;EACJ;EACAyQ,IAAI,EAAE;AACP,CAAC;AAAA,2B;;;;;;;;;;;;;;;;;;;AC5BD;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;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;AACA;AACA;AACA;AAAmC;AAAA;AAEnC,IACIzQ,KAAK,GACL9F,eAAM,CADN8F,KAAK;AACC,muCAGHkX,oBAAW,GACXC,cAAK,GACLC,cAAK,GACLtb,eAAM,GACNub,oBAAW,GACXC,gBAAO,GACPC,cAAK,GACLC,eAAM,GACNC,iBAAQ,GACRC,oBAAW,GACXC,aAAI,GACJC,kBAAS,GACTC,iBAAQ,GACRC,sBAAa,GACbC,uBAAc,GACdld,aAAI,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,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;EAACnmB,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;EAAComB,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;EAAC/M,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;EAACgN,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;EAACC,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,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,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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 (\r\n ( this.mpType === 'page') &&\r\n typeof getApp === 'function'\r\n ) { // 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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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++) arr2[i] = arr[i];\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(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\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(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\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 '<Root>'\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)) + \">\") : \"<Anonymous>\") +\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<VNode>. 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. <template>, <slot>, 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 <slot>\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","// 应用全局配置\r\nmodule.exports = {\r\n\tbaseUrl: 'https://www.nuoyunr.com/admin-api',\r\n\t//baseUrl: 'http://192.168.2.3:48080/admin-api',\r\n\timagesUrl: 'http://www.nuoyunr.com/lananRsc',\r\n baseImageUrl: 'https://www.nuoyunr.com/minio',\r\n\t// 应用信息\r\n\tappInfo: {\r\n\t\t// 应用名称\r\n\t\tname: \"lanan-jc\",\r\n\t\t// 应用版本\r\n\t\tversion: \"2.2\",\r\n\t\t// 应用logo\r\n\t\tlogo: \"/static/logo.png'\",\r\n\t\t// 官方网站\r\n\t\tsite_url: \"http://ruoyi.vip\",\r\n\t\t// 政策协议\r\n\t\tagreements: [{\r\n\t\t\t\ttitle: \"隐私政策\",\r\n\t\t\t\turl: \"https://ruoyi.vip/protocol.html\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: \"用户服务协议\",\r\n\t\t\t\turl: \"https://ruoyi.vip/protocol.html\"\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n}","import store from '@/store'\r\nimport config from '@/config'\r\nimport { getToken, getTenantId } from '@/utils/auth'\r\nimport errorCode from '@/utils/errorCode'\r\nimport { toast, showConfirm, tansParams } from '@/utils/common'\r\n\r\nlet timeout = 10000\r\nconst baseUrl = config.baseUrl\r\n\r\nconst request = config => {\r\n // 是否需要设置 token\r\n const isToken = (config.headers || {}).isToken === false\r\n config.header = config.header || {}\r\n if (getToken() && !isToken) {\r\n config.header['Authorization'] = 'Bearer ' + getToken()\r\n }\r\n // get请求映射params参数\r\n if (config.params) {\r\n let url = config.url + '?' + tansParams(config.params)\r\n url = url.slice(0, -1)\r\n config.url = url\r\n }\r\n\t// 设置租户\r\n\tconst isTanantId = (config.headers || {}).isTanantId === false\r\n\tconfig.header = config.header || {}\r\n\tif(getTenantId() && !isTanantId){\r\n\t config.header['Tenant-Id'] = getTenantId()\r\n\t}\r\n return new Promise((resolve, reject) => {\r\n uni.request({\r\n method: config.method || 'get',\r\n timeout: config.timeout || timeout,\r\n url: config.baseUrl || baseUrl + config.url,\r\n data: config.data,\r\n header: config.header,\r\n dataType: 'json'\r\n }).then(response => {\r\n\t\t // debugger\r\n let res = response\r\n \r\n const code = res.data.code || 200\r\n const msg = errorCode[code] || res.data.msg || errorCode['default']\r\n if (code === 401) {\r\n\t\t\t // uni.reLaunch({ url: '/pages/Login/login' })\r\n\r\n // store.dispatch('LogOut').then(res => {\r\n\t\t\t\t // uni.reLaunch({ url: '/pages/Login/login' })\r\n\t\t\t\t // })\r\n\t\t\t\t\t\t\tuni.clearStorageSync()\r\n uni.reLaunch({ url: '/pages/Login/login' })\r\n\t\t\t\t\r\n\r\n } else if (code === 500) {\r\n toast(msg)\r\n reject('500')\r\n } else if (code !== 200) {\r\n toast(msg)\r\n reject(code)\r\n }\r\n\t\t\t\tres.data.code = (res.data.code === 0 ? 200 : res.data.code)\r\n\t\t\t\tif(res.data.data && res.data.data.records){\r\n\t\t\t\t res.data.rows = res.data.data.records\r\n\t\t\t\t}\r\n\t\t\t\tif(res.data.data && res.data.data.total){\r\n\t\t\t\t res.data.total = res.data.data.total\r\n\t\t\t\t}\r\n resolve(res.data)\r\n })\r\n .catch(error => {\r\n let { message } = error\r\n if (message === 'Network Error') {\r\n message = '后端接口连接异常'\r\n } else if (message.includes('timeout')) {\r\n message = '系统接口请求超时'\r\n } else if (message.includes('Request failed with status code')) {\r\n message = '系统接口' + message.substr(message.length - 3) + '异常'\r\n }\r\n toast(message)\r\n reject(error)\r\n })\r\n })\r\n}\r\n\r\nexport default request\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport user from '@/store/modules/user'\r\nimport getters from './getters'\r\n\r\nVue.use(Vuex)\r\n\r\nconst store = new Vuex.Store({\r\n modules: {\r\n user\r\n },\r\n getters\r\n})\r\n\r\nexport default store\r\n","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\n'use strict';\n\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype[[104,111,116,85,112,100,97,116,101].map(function (item) {return String.fromCharCode(item)}).join('')] = function (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index_cjs = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nmodule.exports = index_cjs;\n","import config from '@/config'\r\nimport storage from '@/utils/storage'\r\nimport constant from '@/utils/constant'\r\nimport { login, logout, getInfo } from '@/api/login'\r\nimport { getToken, setToken, removeToken } from '@/utils/auth'\r\n\r\nconst baseUrl = config.baseUrl\r\n\r\nconst user = {\r\n state: {\r\n token: getToken(),\r\n name: storage.get(constant.name),\r\n avatar: storage.get(constant.avatar),\r\n roles: storage.get(constant.roles),\r\n permissions: storage.get(constant.permissions)\r\n },\r\n\r\n mutations: {\r\n SET_TOKEN: (state, token) => {\r\n state.token = token\r\n },\r\n SET_NAME: (state, name) => {\r\n state.name = name\r\n storage.set(constant.name, name)\r\n },\r\n SET_AVATAR: (state, avatar) => {\r\n state.avatar = avatar\r\n storage.set(constant.avatar, avatar)\r\n },\r\n SET_ROLES: (state, roles) => {\r\n state.roles = roles\r\n storage.set(constant.roles, roles)\r\n },\r\n SET_PERMISSIONS: (state, permissions) => {\r\n state.permissions = permissions\r\n storage.set(constant.permissions, permissions)\r\n }\r\n },\r\n\r\n actions: {\r\n // 登录\r\n Login({ commit }, userInfo) {\r\n const username = userInfo.username.trim()\r\n const password = userInfo.password\r\n const code = userInfo.code\r\n const uuid = userInfo.uuid\r\n return new Promise((resolve, reject) => {\r\n login(username, password, code, uuid).then(res => {\r\n setToken(res.token)\r\n commit('SET_TOKEN', res.token)\r\n resolve()\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n\r\n // 获取用户信息\r\n GetInfo({ commit, state }) {\r\n return new Promise((resolve, reject) => {\r\n getInfo().then(res => {\r\n const user = res.user\r\n const avatar = (user == null || user.avatar == \"\" || user.avatar == null) ? require(\"@/static/logo.png\") : baseUrl + user.avatar\r\n const username = (user == null || user.userName == \"\" || user.userName == null) ? \"\" : user.userName\r\n if (res.roles && res.roles.length > 0) {\r\n commit('SET_ROLES', res.roles)\r\n commit('SET_PERMISSIONS', res.permissions)\r\n } else {\r\n commit('SET_ROLES', ['ROLE_DEFAULT'])\r\n }\r\n commit('SET_NAME', username)\r\n commit('SET_AVATAR', avatar)\r\n resolve(res)\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n\r\n // 退出系统\r\n LogOut({ commit, state }) {\r\n return new Promise((resolve, reject) => {\r\n logout(state.token).then(() => {\r\n commit('SET_TOKEN', '')\r\n commit('SET_ROLES', [])\r\n commit('SET_PERMISSIONS', [])\r\n removeToken()\r\n storage.clean()\r\n resolve()\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default user\r\n","import constant from './constant'\r\n\r\n// 存储变量名\r\nlet storageKey = 'storage_data'\r\n\r\n// 存储节点变量名\r\nlet storageNodeKeys = [constant.avatar, constant.name, constant.roles, constant.permissions]\r\n\r\n// 存储的数据\r\nlet storageData = uni.getStorageSync(storageKey) || {}\r\n\r\nconst storage = {\r\n set: function(key, value) {\r\n if (storageNodeKeys.indexOf(key) != -1) {\r\n let tmp = uni.getStorageSync(storageKey)\r\n tmp = tmp ? tmp : {}\r\n tmp[key] = value\r\n uni.setStorageSync(storageKey, tmp)\r\n }\r\n },\r\n get: function(key) {\r\n return storageData[key] || \"\"\r\n },\r\n remove: function(key) {\r\n delete storageData[key]\r\n uni.setStorageSync(storageKey, storageData)\r\n },\r\n clean: function() {\r\n uni.removeStorageSync(storageKey)\r\n }\r\n}\r\n\r\nexport default storage\r\n","const constant = {\r\n avatar: 'vuex_avatar',\r\n name: 'vuex_name',\r\n roles: 'vuex_roles',\r\n permissions: 'vuex_permissions'\r\n }\r\n\r\n export default constant\r\n","import request from '@/utils/request'\r\n\r\n// 登录方法\r\nexport function login(username, password, code, uuid) {\r\n const data = {\r\n username,\r\n password,\r\n code,\r\n uuid\r\n }\r\n return request({\r\n 'url': '/login',\r\n headers: {\r\n isToken: false\r\n },\r\n 'method': 'post',\r\n 'data': data\r\n })\r\n}\r\n\r\n// 获取用户详细信息\r\nexport function getInfo() {\r\n return request({\r\n 'url': '/getInfo',\r\n 'method': 'get'\r\n })\r\n}\r\n\r\n// 退出方法\r\nexport function logout() {\r\n return request({\r\n 'url': '/rescue/logout',\r\n 'method': 'post'\r\n })\r\n}\r\n\r\n// 获取验证码\r\nexport function getCodeImg() {\r\n return request({\r\n 'url': '/captchaImage',\r\n headers: {\r\n isToken: false\r\n },\r\n method: 'get',\r\n timeout: 20000\r\n })\r\n}\r\n\r\n// 使用租户域名(标识),获得租户编号\r\nexport function getTenantIdByWebsite(website) {\r\n return request({\r\n url: '/system/tenant/get-by-website',\r\n method: 'get',\r\n params: {\r\n website\r\n }\r\n })\r\n}","const TokenKey = 'App-Token'\r\nconst TenantIdKey = 'TENANT_ID'\r\nexport function getToken() {\r\n return uni.getStorageSync(TokenKey)\r\n}\r\n\r\nexport function setToken(token) {\r\n return uni.setStorageSync(TokenKey, token)\r\n}\r\n\r\nexport function removeToken() {\r\n return uni.removeStorageSync(TokenKey)\r\n}\r\n\r\nexport function setTenantId(TenantId) {\r\n return uni.setStorageSync(TenantIdKey, TenantId);\r\n}\r\nexport function getTenantId(){\r\n return uni.getStorageSync(TenantIdKey)\r\n}\r\n\r\nexport function hasRole(roleCode) {\r\n const roleList = uni.getStorageSync('role')\r\n if (roleList && roleList.length > 0) {\r\n const roleInfo = roleList.find(f => f.code === roleCode)\r\n if (roleInfo) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n","module.exports = \"data:image/png;base64,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UmVhZHlxyWU8AAADKmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkE0MjcxNTdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkE0MjcxNDdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkE4RkFCN0M3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkE4RkFCN0Q3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BZZ+3AAAB1ElEQVR42mJkAALtmZb/GfAAJkIKwIoYiAA4FV1JO0Ylk0hWxILLHTgV6cyywqoIIIAYiQinb8S4iYs036E7esgEJq6ABAGAACImMBmo5m6yDcLlR5gcNnnaumhADWIhJoOTbRC+9ILPa9+o4TWAAAIlyDVAOphCc1SYqGAICNwZxumIidi8NILz2qhBdCyPaOcicgq1wRnYAAFErRKSgZo+GzSOoWpQD1sHsRCjCDnzkpp90DM+If2jUTbqoFEHjZZDpJYroyFESeNmNFHTykEqg8g9bwACCNRiVAYyLgEx1wA7Zu3V9OMhVBt1opajBlsaCh7NZaMOGnXQgFeupHZjKO1CjUbZqINGHTTqoFEHjTpo1EGjDhqMgw342kejUTaahggpoOdg1WiUjTpoODoIvL7tzSBykB5AgPbtGIdBGIYCaBR16swROEQvzT06cxjm1lRFDC0LcpXC+xJzpIdJhOW8e4z359MVWSde1C32xRYasC0mCmascDZzrQz+7NgABAgQINnRY/iUrb5D9v9l9toqCBAgQIAAAQIESAABAgQIEKCD5ZK9QPaMigoCdIJP7NdjOyoIECBAgGQBGjB8zVDjam153T0OqInJbBAWfdg8AExKZVcA71uIAAAAAElFTkSuQmCC\"","const getters = {\r\n token: state => state.user.token,\r\n avatar: state => state.user.avatar,\r\n name: state => state.user.name,\r\n roles: state => state.user.roles,\r\n permissions: state => state.user.permissions\r\n}\r\nexport default getters\r\n","export default {\r\n '401': '认证失败,无法访问系统资源',\r\n '403': '当前操作没有权限',\r\n '404': '访问资源不存在',\r\n 'default': '系统未知错误,请反馈给管理员'\r\n}\r\n","/**\r\n* 显示消息提示框\r\n* @param content 提示的标题\r\n*/\r\nexport function toast(content) {\r\n uni.showToast({\r\n icon: 'none',\r\n title: content\r\n })\r\n}\r\n\r\n/**\r\n* 显示模态弹窗\r\n* @param content 提示的标题\r\n*/\r\nexport function showConfirm(content) {\r\n return new Promise((resolve, reject) => {\r\n uni.showModal({\r\n title: '提示',\r\n content: content,\r\n cancelText: '取消',\r\n confirmText: '确定',\r\n success: function(res) {\r\n resolve(res)\r\n }\r\n })\r\n })\r\n}\r\n\r\n/**\r\n* 参数处理\r\n* @param params 参数\r\n*/\r\nexport function tansParams(params) {\r\n let result = ''\r\n for (const propName of Object.keys(params)) {\r\n const value = params[propName]\r\n var part = encodeURIComponent(propName) + \"=\"\r\n if (value !== null && value !== \"\" && typeof (value) !== \"undefined\") {\r\n if (typeof value === 'object') {\r\n for (const key of Object.keys(value)) {\r\n if (value[key] !== null && value[key] !== \"\" && typeof (value[key]) !== 'undefined') {\r\n let params = propName + '[' + key + ']'\r\n var subPart = encodeURIComponent(params) + \"=\"\r\n result += subPart + encodeURIComponent(value[key]) + \"&\"\r\n }\r\n }\r\n } else {\r\n result += part + encodeURIComponent(value) + \"&\"\r\n }\r\n }\r\n }\r\n return result\r\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","// 看到此报错是因为没有配置vue.config.js的【transpileDependencies】详见https://www.uviewui.com/components/npmSetting.html#_5-cli模式额外配置\r\nconst pleaseSetTranspileDependencies = {}, babelTest = pleaseSetTranspileDependencies?.test\r\n\r\n\r\n\r\n// 引入全局mixin\r\nimport mixin from './libs/mixin/mixin.js'\r\n// 小程序特有的mixin\r\nimport mpMixin from './libs/mixin/mpMixin.js'\r\n// 全局挂载引入http相关请求拦截插件\r\nimport Request from './libs/luch-request'\r\n\r\n// 路由封装\r\nimport route from './libs/util/route.js'\r\n// 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制\r\nimport colorGradient from './libs/function/colorGradient.js'\r\n\r\n// 规则检验\r\nimport test from './libs/function/test.js'\r\n// 防抖方法\r\nimport debounce from './libs/function/debounce.js'\r\n// 节流方法\r\nimport throttle from './libs/function/throttle.js'\r\n// 公共文件写入的方法\r\nimport index from './libs/function/index.js'\r\n\r\n// 配置信息\r\nimport config from './libs/config/config.js'\r\n// props配置信息\r\nimport props from './libs/config/props.js'\r\n// 各个需要fixed的地方的z-index配置文件\r\nimport zIndex from './libs/config/zIndex.js'\r\n// 关于颜色的配置,特殊场景使用\r\nimport color from './libs/config/color.js'\r\n// 平台\r\nimport platform from './libs/function/platform'\r\n\r\nconst $u = {\r\n route,\r\n date: index.timeFormat, // 另名date\r\n colorGradient: colorGradient.colorGradient,\r\n hexToRgb: colorGradient.hexToRgb,\r\n rgbToHex: colorGradient.rgbToHex,\r\n colorToRgba: colorGradient.colorToRgba,\r\n test,\r\n type: ['primary', 'success', 'error', 'warning', 'info'],\r\n http: new Request(),\r\n config, // uView配置信息相关比如版本号\r\n zIndex,\r\n debounce,\r\n throttle,\r\n mixin,\r\n mpMixin,\r\n props,\r\n ...index,\r\n color,\r\n platform\r\n}\r\n\r\n// $u挂载到uni对象上\r\nuni.$u = $u\r\n\r\nconst install = (Vue) => {\r\n // 时间格式化同时两个名称date和timeFormat\r\n Vue.filter('timeFormat', (timestamp, format) => uni.$u.timeFormat(timestamp, format))\r\n Vue.filter('date', (timestamp, format) => uni.$u.timeFormat(timestamp, format))\r\n // 将多久以前的方法,注入到全局过滤器\r\n Vue.filter('timeFrom', (timestamp, format) => uni.$u.timeFrom(timestamp, format))\r\n // 同时挂载到uni和Vue.prototype中\r\n\r\n // 只有vue挂载到Vue.prototype才有意义因为nvue中全局Vue.prototype和Vue.mixin是无效的\r\n Vue.prototype.$u = $u\r\n Vue.mixin(mixin)\r\n\r\n}\r\n\r\nexport default {\r\n install\r\n}\r\n","module.exports = {\r\n // 定义每个组件都可能需要用到的外部样式以及类名\r\n props: {\r\n // 每个组件都有的父组件传递的样式,可以为字符串或者对象形式\r\n customStyle: {\r\n type: [Object, String],\r\n default: () => ({})\r\n },\r\n customClass: {\r\n type: String,\r\n default: ''\r\n },\r\n // 跳转的页面路径\r\n url: {\r\n type: String,\r\n default: ''\r\n },\r\n // 页面跳转的类型\r\n linkType: {\r\n type: String,\r\n default: 'navigateTo'\r\n }\r\n },\r\n data() {\r\n return {}\r\n },\r\n onLoad() {\r\n // getRect挂载到$u上因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出\r\n this.$u.getRect = this.$uGetRect\r\n },\r\n created() {\r\n // 组件当中只有created声明周期为了能在组件使用故也在created中将方法挂载到$u\r\n this.$u.getRect = this.$uGetRect\r\n },\r\n computed: {\r\n // 在2.x版本中将会把$u挂载到uni对象下导致在模板中无法使用uni.$u.xxx形式\r\n // 所以这里通过computed计算属性将其附加到this.$u上就可以在模板或者js中使用uni.$u.xxx\r\n // 只在nvue环境通过此方式引入完整的$u其他平台会出现性能问题非nvue则按需引入主要原因是props过大\r\n $u() {\r\n\r\n // 在非nvue端移除propshttpmixin等对象避免在小程序setData时数据过大影响性能\r\n return uni.$u.deepMerge(uni.$u, {\r\n props: undefined,\r\n http: undefined,\r\n mixin: undefined\r\n })\r\n\r\n\r\n\r\n\r\n },\r\n /**\r\n * 生成bem规则类名\r\n * 由于微信小程序H5nvue之间绑定class的差异无法通过:class=\"[bem()]\"的形式进行同用\r\n * 故采用如下折中做法,最后返回的是数组(一般平台)或字符串(支付宝和字节跳动平台),类似['a', 'b', 'c']或'a b c'的形式\r\n * @param {String} name 组件名称\r\n * @param {Array} fixed 一直会存在的类名\r\n * @param {Array} change 会根据变量值为true或者false而出现或者隐藏的类名\r\n * @returns {Array|string}\r\n */\r\n bem() {\r\n return function (name, fixed, change) {\r\n // 类名前缀\r\n const prefix = `u-${name}--`\r\n const classes = {}\r\n if (fixed) {\r\n fixed.map((item) => {\r\n // 这里的类名,会一直存在\r\n classes[prefix + this[item]] = true\r\n })\r\n }\r\n if (change) {\r\n change.map((item) => {\r\n // 这里的类名会根据this[item]的值为true或者false而进行添加或者移除某一个类\r\n this[item] ? (classes[prefix + item] = this[item]) : (delete classes[prefix + item])\r\n })\r\n }\r\n return Object.keys(classes)\r\n // 支付宝,头条小程序无法动态绑定一个数组类名,否则解析出来的结果会带有\",\",而导致失效\r\n\r\n\r\n\r\n }\r\n }\r\n },\r\n methods: {\r\n // 跳转某一个页面\r\n openPage(urlKey = 'url') {\r\n const url = this[urlKey]\r\n if (url) {\r\n // 执行类似uni.navigateTo的方法\r\n uni[this.linkType]({\r\n url\r\n })\r\n }\r\n },\r\n // 查询节点信息\r\n // 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸为支付宝的bug(2020-07-21)\r\n // 解决办法为在组件根部再套一个没有任何作用的view元素\r\n $uGetRect(selector, all) {\r\n return new Promise((resolve) => {\r\n uni.createSelectorQuery()\r\n .in(this)[all ? 'selectAll' : 'select'](selector)\r\n .boundingClientRect((rect) => {\r\n if (all && Array.isArray(rect) && rect.length) {\r\n resolve(rect)\r\n }\r\n if (!all && rect) {\r\n resolve(rect)\r\n }\r\n })\r\n .exec()\r\n })\r\n },\r\n getParentData(parentName = '') {\r\n // 避免在created中去定义parent变量\r\n if (!this.parent) this.parent = {}\r\n // 这里的本质原理是,通过获取父组件实例(也即类似u-radio的父组件u-radio-group的this)\r\n // 将父组件this中对应的参数赋值给本组件(u-radio的this)的parentData对象中对应的属性\r\n // 之所以需要这么做是因为所有端中头条小程序不支持通过this.parent.xxx去监听父组件参数的变化\r\n // 此处并不会自动更新子组件的数据而是依赖父组件u-radio-group去监听data的变化手动调用更新子组件的方法去重新获取\r\n this.parent = uni.$u.$parent.call(this, parentName)\r\n if (this.parent.children) {\r\n // 如果父组件的children不存在本组件的实例才将本实例添加到父组件的children中\r\n this.parent.children.indexOf(this) === -1 && this.parent.children.push(this)\r\n }\r\n if (this.parent && this.parentData) {\r\n // 历遍parentData中的属性将parent中的同名属性赋值给parentData\r\n Object.keys(this.parentData).map((key) => {\r\n this.parentData[key] = this.parent[key]\r\n })\r\n }\r\n },\r\n // 阻止事件冒泡\r\n preventEvent(e) {\r\n e && typeof (e.stopPropagation) === 'function' && e.stopPropagation()\r\n },\r\n // 空操作\r\n noop(e) {\r\n this.preventEvent(e)\r\n }\r\n },\r\n onReachBottom() {\r\n uni.$emit('uOnReachBottom')\r\n },\r\n beforeDestroy() {\r\n // 判断当前页面是否存在parent和chldren一般在checkbox和checkbox-group父子联动的场景会有此情况\r\n // 组件销毁时移除子组件在父组件children数组中的实例释放资源避免数据混乱\r\n if (this.parent && uni.$u.test.array(this.parent.children)) {\r\n // 组件销毁时移除父组件中的children数组中对应的实例\r\n const childrenList = this.parent.children\r\n childrenList.map((child, index) => {\r\n // 如果相等,则移除\r\n if (child === this) {\r\n childrenList.splice(index, 1)\r\n }\r\n })\r\n }\r\n }\r\n}\r\n","export default {\r\n\r\n // 将自定义节点设置成虚拟的更加接近Vue组件的表现能更好的使用flex属性\r\n options: {\r\n virtualHost: true\r\n }\r\n\r\n}\r\n","import Request from './core/Request'\r\n\r\nexport default Request\r\n","/**\r\n * @Class Request\r\n * @description luch-request http请求插件\r\n * @version 3.0.7\r\n * @Author lu-ch\r\n * @Date 2021-09-04\r\n * @Email webwork.s@qq.com\r\n * 文档: https://www.quanzhan.co/luch-request/\r\n * github: https://github.com/lei-mu/luch-request\r\n * DCloud: http://ext.dcloud.net.cn/plugin?id=392\r\n * HBuilderX: beat-3.0.4 alpha-3.0.4\r\n */\r\n\r\nimport dispatchRequest from './dispatchRequest'\r\nimport InterceptorManager from './InterceptorManager'\r\nimport mergeConfig from './mergeConfig'\r\nimport defaults from './defaults'\r\nimport { isPlainObject } from '../utils'\r\nimport clone from '../utils/clone'\r\n\r\nexport default class Request {\r\n /**\r\n * @param {Object} arg - 全局配置\r\n * @param {String} arg.baseURL - 全局根路径\r\n * @param {Object} arg.header - 全局header\r\n * @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式\r\n * @param {String} arg.dataType = [json] - 全局默认的dataType\r\n * @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持\r\n * @param {Object} arg.custom - 全局默认的自定义参数\r\n * @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序2.10.0)、支付宝小程序\r\n * @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持HBuilderX 2.3.3+\r\n * @param {Boolean} arg.withCredentials - 全局默认的跨域请求时是否携带凭证cookies。默认false。仅H5支持HBuilderX 2.6.15+\r\n * @param {Boolean} arg.firstIpv4 - 全DNS解析时优先使用ipv4。默认false。仅 App-Android 支持 (HBuilderX 2.8.0+)\r\n * @param {Function(statusCode):Boolean} arg.validateStatus - 全局默认的自定义验证器。默认statusCode >= 200 && statusCode < 300\r\n */\r\n constructor(arg = {}) {\r\n if (!isPlainObject(arg)) {\r\n arg = {}\r\n console.warn('设置全局参数必须接收一个Object')\r\n }\r\n this.config = clone({ ...defaults, ...arg })\r\n this.interceptors = {\r\n request: new InterceptorManager(),\r\n response: new InterceptorManager()\r\n }\r\n }\r\n\r\n /**\r\n * @Function\r\n * @param {Request~setConfigCallback} f - 设置全局默认配置\r\n */\r\n setConfig(f) {\r\n this.config = f(this.config)\r\n }\r\n\r\n middleware(config) {\r\n config = mergeConfig(this.config, config)\r\n const chain = [dispatchRequest, undefined]\r\n let promise = Promise.resolve(config)\r\n\r\n this.interceptors.request.forEach((interceptor) => {\r\n chain.unshift(interceptor.fulfilled, interceptor.rejected)\r\n })\r\n\r\n this.interceptors.response.forEach((interceptor) => {\r\n chain.push(interceptor.fulfilled, interceptor.rejected)\r\n })\r\n\r\n while (chain.length) {\r\n promise = promise.then(chain.shift(), chain.shift())\r\n }\r\n\r\n return promise\r\n }\r\n\r\n /**\r\n * @Function\r\n * @param {Object} config - 请求配置项\r\n * @prop {String} options.url - 请求路径\r\n * @prop {Object} options.data - 请求参数\r\n * @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 响应的数据类型\r\n * @prop {Object} [options.dataType = config.dataType] - 如果设为 json会尝试对返回的数据做一次 JSON.parse\r\n * @prop {Object} [options.header = config.header] - 请求header\r\n * @prop {Object} [options.method = config.method] - 请求方法\r\n * @returns {Promise<unknown>}\r\n */\r\n request(config = {}) {\r\n return this.middleware(config)\r\n }\r\n\r\n get(url, options = {}) {\r\n return this.middleware({\r\n url,\r\n method: 'GET',\r\n ...options\r\n })\r\n }\r\n\r\n post(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'POST',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n put(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'PUT',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n delete(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'DELETE',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n connect(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'CONNECT',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n head(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'HEAD',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n options(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'OPTIONS',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n trace(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'TRACE',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n upload(url, config = {}) {\r\n config.url = url\r\n config.method = 'UPLOAD'\r\n return this.middleware(config)\r\n }\r\n\r\n download(url, config = {}) {\r\n config.url = url\r\n config.method = 'DOWNLOAD'\r\n return this.middleware(config)\r\n }\r\n}\r\n\r\n/**\r\n * setConfig回调\r\n * @return {Object} - 返回操作后的config\r\n * @callback Request~setConfigCallback\r\n * @param {Object} config - 全局默认config\r\n */\r\n","import adapter from '../adapters/index'\r\n\r\nexport default (config) => adapter(config)\r\n","import buildURL from '../helpers/buildURL'\r\nimport buildFullPath from '../core/buildFullPath'\r\nimport settle from '../core/settle'\r\nimport { isUndefined } from '../utils'\r\n\r\n/**\r\n * 返回可选值存在的配置\r\n * @param {Array} keys - 可选值数组\r\n * @param {Object} config2 - 配置\r\n * @return {{}} - 存在的配置项\r\n */\r\nconst mergeKeys = (keys, config2) => {\r\n const config = {}\r\n keys.forEach((prop) => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n }\r\n })\r\n return config\r\n}\r\nexport default (config) => new Promise((resolve, reject) => {\r\n const fullPath = buildURL(buildFullPath(config.baseURL, config.url), config.params)\r\n const _config = {\r\n url: fullPath,\r\n header: config.header,\r\n complete: (response) => {\r\n config.fullPath = fullPath\r\n response.config = config\r\n try {\r\n // 对可能字符串不是json 的情况容错\r\n if (typeof response.data === 'string') {\r\n response.data = JSON.parse(response.data)\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch (e) {\r\n }\r\n settle(resolve, reject, response)\r\n }\r\n }\r\n let requestTask\r\n if (config.method === 'UPLOAD') {\r\n delete _config.header['content-type']\r\n delete _config.header['Content-Type']\r\n const otherConfig = {\r\n\r\n\r\n\r\n filePath: config.filePath,\r\n name: config.name\r\n }\r\n const optionalKeys = [\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n 'formData'\r\n ]\r\n requestTask = uni.uploadFile({ ..._config, ...otherConfig, ...mergeKeys(optionalKeys, config) })\r\n } else if (config.method === 'DOWNLOAD') {\r\n\r\n\r\n\r\n\r\n\r\n requestTask = uni.downloadFile(_config)\r\n } else {\r\n const optionalKeys = [\r\n 'data',\r\n 'method',\r\n\r\n 'timeout',\r\n\r\n 'dataType',\r\n\r\n 'responseType',\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n ]\r\n requestTask = uni.request({ ..._config, ...mergeKeys(optionalKeys, config) })\r\n }\r\n if (config.getTask) {\r\n config.getTask(requestTask, config)\r\n }\r\n})\r\n","'use strict'\r\n\r\nimport * as utils from '../utils'\r\n\r\nfunction encode(val) {\r\n return encodeURIComponent(val)\r\n .replace(/%40/gi, '@')\r\n .replace(/%3A/gi, ':')\r\n .replace(/%24/g, '$')\r\n .replace(/%2C/gi, ',')\r\n .replace(/%20/g, '+')\r\n .replace(/%5B/gi, '[')\r\n .replace(/%5D/gi, ']')\r\n}\r\n\r\n/**\r\n * Build a URL by appending params to the end\r\n *\r\n * @param {string} url The base of the url (e.g., http://www.google.com)\r\n * @param {object} [params] The params to be appended\r\n * @returns {string} The formatted url\r\n */\r\nexport default function buildURL(url, params) {\r\n /* eslint no-param-reassign:0 */\r\n if (!params) {\r\n return url\r\n }\r\n\r\n let serializedParams\r\n if (utils.isURLSearchParams(params)) {\r\n serializedParams = params.toString()\r\n } else {\r\n const parts = []\r\n\r\n utils.forEach(params, (val, key) => {\r\n if (val === null || typeof val === 'undefined') {\r\n return\r\n }\r\n\r\n if (utils.isArray(val)) {\r\n key = `${key}[]`\r\n } else {\r\n val = [val]\r\n }\r\n\r\n utils.forEach(val, (v) => {\r\n if (utils.isDate(v)) {\r\n v = v.toISOString()\r\n } else if (utils.isObject(v)) {\r\n v = JSON.stringify(v)\r\n }\r\n parts.push(`${encode(key)}=${encode(v)}`)\r\n })\r\n })\r\n\r\n serializedParams = parts.join('&')\r\n }\r\n\r\n if (serializedParams) {\r\n const hashmarkIndex = url.indexOf('#')\r\n if (hashmarkIndex !== -1) {\r\n url = url.slice(0, hashmarkIndex)\r\n }\r\n\r\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams\r\n }\r\n\r\n return url\r\n}\r\n","'use strict'\r\n\r\n// utils is a library of generic helper functions non-specific to axios\r\n\r\nconst { toString } = Object.prototype\r\n\r\n/**\r\n * Determine if a value is an Array\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Array, otherwise false\r\n */\r\nexport function isArray(val) {\r\n return toString.call(val) === '[object Array]'\r\n}\r\n\r\n/**\r\n * Determine if a value is an Object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Object, otherwise false\r\n */\r\nexport function isObject(val) {\r\n return val !== null && typeof val === 'object'\r\n}\r\n\r\n/**\r\n * Determine if a value is a Date\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a Date, otherwise false\r\n */\r\nexport function isDate(val) {\r\n return toString.call(val) === '[object Date]'\r\n}\r\n\r\n/**\r\n * Determine if a value is a URLSearchParams object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\r\n */\r\nexport function isURLSearchParams(val) {\r\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams\r\n}\r\n\r\n/**\r\n * Iterate over an Array or an Object invoking a function for each item.\r\n *\r\n * If `obj` is an Array callback will be called passing\r\n * the value, index, and complete array for each item.\r\n *\r\n * If 'obj' is an Object callback will be called passing\r\n * the value, key, and complete object for each property.\r\n *\r\n * @param {Object|Array} obj The object to iterate\r\n * @param {Function} fn The callback to invoke for each item\r\n */\r\nexport function forEach(obj, fn) {\r\n // Don't bother if no value provided\r\n if (obj === null || typeof obj === 'undefined') {\r\n return\r\n }\r\n\r\n // Force an array if not already something iterable\r\n if (typeof obj !== 'object') {\r\n /* eslint no-param-reassign:0 */\r\n obj = [obj]\r\n }\r\n\r\n if (isArray(obj)) {\r\n // Iterate over array values\r\n for (let i = 0, l = obj.length; i < l; i++) {\r\n fn.call(null, obj[i], i, obj)\r\n }\r\n } else {\r\n // Iterate over object keys\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n fn.call(null, obj[key], key, obj)\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 是否为boolean 值\r\n * @param val\r\n * @returns {boolean}\r\n */\r\nexport function isBoolean(val) {\r\n return typeof val === 'boolean'\r\n}\r\n\r\n/**\r\n * 是否为真正的对象{} new Object\r\n * @param {any} obj - 检测的对象\r\n * @returns {boolean}\r\n */\r\nexport function isPlainObject(obj) {\r\n return Object.prototype.toString.call(obj) === '[object Object]'\r\n}\r\n\r\n/**\r\n * Function equal to merge with the difference being that no reference\r\n * to original objects is kept.\r\n *\r\n * @see merge\r\n * @param {Object} obj1 Object to merge\r\n * @returns {Object} Result of all merge properties\r\n */\r\nexport function deepMerge(/* obj1, obj2, obj3, ... */) {\r\n const result = {}\r\n function assignValue(val, key) {\r\n if (typeof result[key] === 'object' && typeof val === 'object') {\r\n result[key] = deepMerge(result[key], val)\r\n } else if (typeof val === 'object') {\r\n result[key] = deepMerge({}, val)\r\n } else {\r\n result[key] = val\r\n }\r\n }\r\n for (let i = 0, l = arguments.length; i < l; i++) {\r\n forEach(arguments[i], assignValue)\r\n }\r\n return result\r\n}\r\n\r\nexport function isUndefined(val) {\r\n return typeof val === 'undefined'\r\n}\r\n","'use strict'\r\n\r\nimport isAbsoluteURL from '../helpers/isAbsoluteURL'\r\nimport combineURLs from '../helpers/combineURLs'\r\n\r\n/**\r\n * Creates a new URL by combining the baseURL with the requestedURL,\r\n * only when the requestedURL is not already an absolute URL.\r\n * If the requestURL is absolute, this function returns the requestedURL untouched.\r\n *\r\n * @param {string} baseURL The base URL\r\n * @param {string} requestedURL Absolute or relative URL to combine\r\n * @returns {string} The combined full path\r\n */\r\nexport default function buildFullPath(baseURL, requestedURL) {\r\n if (baseURL && !isAbsoluteURL(requestedURL)) {\r\n return combineURLs(baseURL, requestedURL)\r\n }\r\n return requestedURL\r\n}\r\n","'use strict'\r\n\r\n/**\r\n * Determines whether the specified URL is absolute\r\n *\r\n * @param {string} url The URL to test\r\n * @returns {boolean} True if the specified URL is absolute, otherwise false\r\n */\r\nexport default function isAbsoluteURL(url) {\r\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\r\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\r\n // by any combination of letters, digits, plus, period, or hyphen.\r\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url)\r\n}\r\n","'use strict'\r\n\r\n/**\r\n * Creates a new URL by combining the specified URLs\r\n *\r\n * @param {string} baseURL The base URL\r\n * @param {string} relativeURL The relative URL\r\n * @returns {string} The combined URL\r\n */\r\nexport default function combineURLs(baseURL, relativeURL) {\r\n return relativeURL\r\n ? `${baseURL.replace(/\\/+$/, '')}/${relativeURL.replace(/^\\/+/, '')}`\r\n : baseURL\r\n}\r\n","/**\r\n * Resolve or reject a Promise based on response status.\r\n *\r\n * @param {Function} resolve A function that resolves the promise.\r\n * @param {Function} reject A function that rejects the promise.\r\n * @param {object} response The response.\r\n */\r\nexport default function settle(resolve, reject, response) {\r\n const { validateStatus } = response.config\r\n const status = response.statusCode\r\n if (status && (!validateStatus || validateStatus(status))) {\r\n resolve(response)\r\n } else {\r\n reject(response)\r\n }\r\n}\r\n","'use strict'\r\n\r\nfunction InterceptorManager() {\r\n this.handlers = []\r\n}\r\n\r\n/**\r\n * Add a new interceptor to the stack\r\n *\r\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\r\n * @param {Function} rejected The function to handle `reject` for a `Promise`\r\n *\r\n * @return {Number} An ID used to remove interceptor later\r\n */\r\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\r\n this.handlers.push({\r\n fulfilled,\r\n rejected\r\n })\r\n return this.handlers.length - 1\r\n}\r\n\r\n/**\r\n * Remove an interceptor from the stack\r\n *\r\n * @param {Number} id The ID that was returned by `use`\r\n */\r\nInterceptorManager.prototype.eject = function eject(id) {\r\n if (this.handlers[id]) {\r\n this.handlers[id] = null\r\n }\r\n}\r\n\r\n/**\r\n * Iterate over all the registered interceptors\r\n *\r\n * This method is particularly useful for skipping over any\r\n * interceptors that may have become `null` calling `eject`.\r\n *\r\n * @param {Function} fn The function to call for each interceptor\r\n */\r\nInterceptorManager.prototype.forEach = function forEach(fn) {\r\n this.handlers.forEach((h) => {\r\n if (h !== null) {\r\n fn(h)\r\n }\r\n })\r\n}\r\n\r\nexport default InterceptorManager\r\n","import { deepMerge, isUndefined } from '../utils'\r\n\r\n/**\r\n * 合并局部配置优先的配置,如果局部有该配置项则用局部,如果全局有该配置项则用全局\r\n * @param {Array} keys - 配置项\r\n * @param {Object} globalsConfig - 当前的全局配置\r\n * @param {Object} config2 - 局部配置\r\n * @return {{}}\r\n */\r\nconst mergeKeys = (keys, globalsConfig, config2) => {\r\n const config = {}\r\n keys.forEach((prop) => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n } else if (!isUndefined(globalsConfig[prop])) {\r\n config[prop] = globalsConfig[prop]\r\n }\r\n })\r\n return config\r\n}\r\n/**\r\n *\r\n * @param globalsConfig - 当前实例的全局配置\r\n * @param config2 - 当前的局部配置\r\n * @return - 合并后的配置\r\n */\r\nexport default (globalsConfig, config2 = {}) => {\r\n const method = config2.method || globalsConfig.method || 'GET'\r\n let config = {\r\n baseURL: globalsConfig.baseURL || '',\r\n method,\r\n url: config2.url || '',\r\n params: config2.params || {},\r\n custom: { ...(globalsConfig.custom || {}), ...(config2.custom || {}) },\r\n header: deepMerge(globalsConfig.header || {}, config2.header || {})\r\n }\r\n const defaultToConfig2Keys = ['getTask', 'validateStatus']\r\n config = { ...config, ...mergeKeys(defaultToConfig2Keys, globalsConfig, config2) }\r\n\r\n // eslint-disable-next-line no-empty\r\n if (method === 'DOWNLOAD') {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n } else if (method === 'UPLOAD') {\r\n delete config.header['content-type']\r\n delete config.header['Content-Type']\r\n const uploadKeys = [\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n 'filePath',\r\n 'name',\r\n\r\n\r\n\r\n 'formData'\r\n ]\r\n uploadKeys.forEach((prop) => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n }\r\n })\r\n\r\n\r\n\r\n\r\n\r\n } else {\r\n const defaultsKeys = [\r\n 'data',\r\n\r\n 'timeout',\r\n\r\n 'dataType',\r\n\r\n 'responseType',\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n ]\r\n config = { ...config, ...mergeKeys(defaultsKeys, globalsConfig, config2) }\r\n }\r\n\r\n return config\r\n}\r\n","/**\r\n * 默认的全局配置\r\n */\r\n\r\nexport default {\r\n baseURL: '',\r\n header: {},\r\n method: 'GET',\r\n dataType: 'json',\r\n\r\n responseType: 'text',\r\n\r\n custom: {},\r\n\r\n timeout: 60000,\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n validateStatus: function validateStatus(status) {\r\n return status >= 200 && status < 300\r\n }\r\n}\r\n","/* eslint-disable */\r\nvar clone = (function() {\r\n 'use strict';\r\n\r\n function _instanceof(obj, type) {\r\n return type != null && obj instanceof type;\r\n }\r\n\r\n var nativeMap;\r\n try {\r\n nativeMap = Map;\r\n } catch(_) {\r\n // maybe a reference error because no `Map`. Give it a dummy value that no\r\n // value will ever be an instanceof.\r\n nativeMap = function() {};\r\n }\r\n\r\n var nativeSet;\r\n try {\r\n nativeSet = Set;\r\n } catch(_) {\r\n nativeSet = function() {};\r\n }\r\n\r\n var nativePromise;\r\n try {\r\n nativePromise = Promise;\r\n } catch(_) {\r\n nativePromise = function() {};\r\n }\r\n\r\n /**\r\n * Clones (copies) an Object using deep copying.\r\n *\r\n * This function supports circular references by default, but if you are certain\r\n * there are no circular references in your object, you can save some CPU time\r\n * by calling clone(obj, false).\r\n *\r\n * Caution: if `circular` is false and `parent` contains circular references,\r\n * your program may enter an infinite loop and crash.\r\n *\r\n * @param `parent` - the object to be cloned\r\n * @param `circular` - set to true if the object to be cloned may contain\r\n * circular references. (optional - true by default)\r\n * @param `depth` - set to a number if the object is only to be cloned to\r\n * a particular depth. (optional - defaults to Infinity)\r\n * @param `prototype` - sets the prototype to be used when cloning an object.\r\n * (optional - defaults to parent prototype).\r\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\r\n * should be cloned as well. Non-enumerable properties on the prototype\r\n * chain will be ignored. (optional - false by default)\r\n */\r\n function clone(parent, circular, depth, prototype, includeNonEnumerable) {\r\n if (typeof circular === 'object') {\r\n depth = circular.depth;\r\n prototype = circular.prototype;\r\n includeNonEnumerable = circular.includeNonEnumerable;\r\n circular = circular.circular;\r\n }\r\n // maintain two arrays for circular references, where corresponding parents\r\n // and children have the same index\r\n var allParents = [];\r\n var allChildren = [];\r\n\r\n var useBuffer = typeof Buffer != 'undefined';\r\n\r\n if (typeof circular == 'undefined')\r\n circular = true;\r\n\r\n if (typeof depth == 'undefined')\r\n depth = Infinity;\r\n\r\n // recurse this function so we don't reset allParents and allChildren\r\n function _clone(parent, depth) {\r\n // cloning null always returns null\r\n if (parent === null)\r\n return null;\r\n\r\n if (depth === 0)\r\n return parent;\r\n\r\n var child;\r\n var proto;\r\n if (typeof parent != 'object') {\r\n return parent;\r\n }\r\n\r\n if (_instanceof(parent, nativeMap)) {\r\n child = new nativeMap();\r\n } else if (_instanceof(parent, nativeSet)) {\r\n child = new nativeSet();\r\n } else if (_instanceof(parent, nativePromise)) {\r\n child = new nativePromise(function (resolve, reject) {\r\n parent.then(function(value) {\r\n resolve(_clone(value, depth - 1));\r\n }, function(err) {\r\n reject(_clone(err, depth - 1));\r\n });\r\n });\r\n } else if (clone.__isArray(parent)) {\r\n child = [];\r\n } else if (clone.__isRegExp(parent)) {\r\n child = new RegExp(parent.source, __getRegExpFlags(parent));\r\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\r\n } else if (clone.__isDate(parent)) {\r\n child = new Date(parent.getTime());\r\n } else if (useBuffer && Buffer.isBuffer(parent)) {\r\n if (Buffer.from) {\r\n // Node.js >= 5.10.0\r\n child = Buffer.from(parent);\r\n } else {\r\n // Older Node.js versions\r\n child = new Buffer(parent.length);\r\n parent.copy(child);\r\n }\r\n return child;\r\n } else if (_instanceof(parent, Error)) {\r\n child = Object.create(parent);\r\n } else {\r\n if (typeof prototype == 'undefined') {\r\n proto = Object.getPrototypeOf(parent);\r\n child = Object.create(proto);\r\n }\r\n else {\r\n child = Object.create(prototype);\r\n proto = prototype;\r\n }\r\n }\r\n\r\n if (circular) {\r\n var index = allParents.indexOf(parent);\r\n\r\n if (index != -1) {\r\n return allChildren[index];\r\n }\r\n allParents.push(parent);\r\n allChildren.push(child);\r\n }\r\n\r\n if (_instanceof(parent, nativeMap)) {\r\n parent.forEach(function(value, key) {\r\n var keyChild = _clone(key, depth - 1);\r\n var valueChild = _clone(value, depth - 1);\r\n child.set(keyChild, valueChild);\r\n });\r\n }\r\n if (_instanceof(parent, nativeSet)) {\r\n parent.forEach(function(value) {\r\n var entryChild = _clone(value, depth - 1);\r\n child.add(entryChild);\r\n });\r\n }\r\n\r\n for (var i in parent) {\r\n var attrs = Object.getOwnPropertyDescriptor(parent, i);\r\n if (attrs) {\r\n child[i] = _clone(parent[i], depth - 1);\r\n }\r\n\r\n try {\r\n var objProperty = Object.getOwnPropertyDescriptor(parent, i);\r\n if (objProperty.set === 'undefined') {\r\n // no setter defined. Skip cloning this property\r\n continue;\r\n }\r\n child[i] = _clone(parent[i], depth - 1);\r\n } catch(e){\r\n if (e instanceof TypeError) {\r\n // when in strict mode, TypeError will be thrown if child[i] property only has a getter\r\n // we can't do anything about this, other than inform the user that this property cannot be set.\r\n continue\r\n } else if (e instanceof ReferenceError) {\r\n //this may happen in non strict mode\r\n continue\r\n }\r\n }\r\n\r\n }\r\n\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(parent);\r\n for (var i = 0; i < symbols.length; i++) {\r\n // Don't need to worry about cloning a symbol because it is a primitive,\r\n // like a number or string.\r\n var symbol = symbols[i];\r\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\r\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\r\n continue;\r\n }\r\n child[symbol] = _clone(parent[symbol], depth - 1);\r\n Object.defineProperty(child, symbol, descriptor);\r\n }\r\n }\r\n\r\n if (includeNonEnumerable) {\r\n var allPropertyNames = Object.getOwnPropertyNames(parent);\r\n for (var i = 0; i < allPropertyNames.length; i++) {\r\n var propertyName = allPropertyNames[i];\r\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\r\n if (descriptor && descriptor.enumerable) {\r\n continue;\r\n }\r\n child[propertyName] = _clone(parent[propertyName], depth - 1);\r\n Object.defineProperty(child, propertyName, descriptor);\r\n }\r\n }\r\n\r\n return child;\r\n }\r\n\r\n return _clone(parent, depth);\r\n }\r\n\r\n /**\r\n * Simple flat clone using prototype, accepts only objects, usefull for property\r\n * override on FLAT configuration object (no nested props).\r\n *\r\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\r\n * works.\r\n */\r\n clone.clonePrototype = function clonePrototype(parent) {\r\n if (parent === null)\r\n return null;\r\n\r\n var c = function () {};\r\n c.prototype = parent;\r\n return new c();\r\n };\r\n\r\n// private utility functions\r\n\r\n function __objToStr(o) {\r\n return Object.prototype.toString.call(o);\r\n }\r\n clone.__objToStr = __objToStr;\r\n\r\n function __isDate(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\r\n }\r\n clone.__isDate = __isDate;\r\n\r\n function __isArray(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\r\n }\r\n clone.__isArray = __isArray;\r\n\r\n function __isRegExp(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\r\n }\r\n clone.__isRegExp = __isRegExp;\r\n\r\n function __getRegExpFlags(re) {\r\n var flags = '';\r\n if (re.global) flags += 'g';\r\n if (re.ignoreCase) flags += 'i';\r\n if (re.multiline) flags += 'm';\r\n return flags;\r\n }\r\n clone.__getRegExpFlags = __getRegExpFlags;\r\n\r\n return clone;\r\n})();\r\n\r\nexport default clone\r\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\r\n * 路由跳转方法该方法相对于直接使用uni.xxx的好处是使用更加简单快捷\r\n * 并且带有路由拦截功能\r\n */\r\n\r\nclass Router {\r\n\tconstructor() {\r\n\t\t// 原始属性定义\r\n\t\tthis.config = {\r\n\t\t\ttype: 'navigateTo',\r\n\t\t\turl: '',\r\n\t\t\tdelta: 1, // navigateBack页面后退时,回退的层数\r\n\t\t\tparams: {}, // 传递的参数\r\n\t\t\tanimationType: 'pop-in', // 窗口动画,只在APP有效\r\n\t\t\tanimationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效\r\n\t\t\tintercept: false // 是否需要拦截\r\n\t\t}\r\n\t\t// 因为route方法是需要对外赋值给另外的对象使用同时route内部有使用this会导致route失去上下文\r\n\t\t// 这里在构造函数中进行this绑定\r\n\t\tthis.route = this.route.bind(this)\r\n\t}\r\n\r\n\t// 判断url前面是否有\"/\",如果没有则加上,否则无法跳转\r\n\taddRootPath(url) {\r\n\t\treturn url[0] === '/' ? url : `/${url}`\r\n\t}\r\n\r\n\t// 整合路由参数\r\n\tmixinParam(url, params) {\r\n\t\turl = url && this.addRootPath(url)\r\n\r\n\t\t// 使用正则匹配,主要依据是判断是否有\"/\",\"?\",\"=\"等,如“/page/index/index?name=mary\"\r\n\t\t// 如果有url中有get参数转换后无需带上\"?\"\r\n\t\tlet query = ''\r\n\t\tif (/.*\\/.*\\?.*=.*/.test(url)) {\r\n\t\t\t// object对象转为get类型的参数\r\n\t\t\tquery = uni.$u.queryParams(params, false)\r\n\t\t\t// 因为已有get参数,所以后面拼接的参数需要带上\"&\"隔开\r\n\t\t\treturn url += `&${query}`\r\n\t\t}\r\n\t\t// 直接拼接参数因为此处url中没有后面的query参数也就没有\"?/&\"之类的符号\r\n\t\tquery = uni.$u.queryParams(params)\r\n\t\treturn url += query\r\n\t}\r\n\r\n\t// 对外的方法名称\r\n\tasync route(options = {}, params = {}) {\r\n\t\t// 合并用户的配置和内部的默认配置\r\n\t\tlet mergeConfig = {}\r\n\r\n\t\tif (typeof options === 'string') {\r\n\t\t\t// 如果options为字符串则为route(url, params)的形式\r\n\t\t\tmergeConfig.url = this.mixinParam(options, params)\r\n\t\t\tmergeConfig.type = 'navigateTo'\r\n\t\t} else {\r\n\t\t\tmergeConfig = uni.$u.deepMerge(this.config, options)\r\n\t\t\t// 否则正常使用mergeConfig中的url和params进行拼接\r\n\t\t\tmergeConfig.url = this.mixinParam(options.url, options.params)\r\n\t\t}\r\n\r\n\t\t// 如果本次跳转的路径和本页面路径一致,不执行跳转,防止用户快速点击跳转按钮,造成多次跳转同一个页面的问题\r\n\t\tif (mergeConfig.url === uni.$u.page()) return\r\n\r\n\t\tif (params.intercept) {\r\n\t\t\tthis.config.intercept = params.intercept\r\n\t\t}\r\n\t\t// params参数也带给拦截器\r\n\t\tmergeConfig.params = params\r\n\t\t// 合并内外部参数\r\n\t\tmergeConfig = uni.$u.deepMerge(this.config, mergeConfig)\r\n\t\t// 判断用户是否定义了拦截器\r\n\t\tif (typeof uni.$u.routeIntercept === 'function') {\r\n\t\t\t// 定一个promise根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转\r\n\t\t\tconst isNext = await new Promise((resolve, reject) => {\r\n\t\t\t\tuni.$u.routeIntercept(mergeConfig, resolve)\r\n\t\t\t})\r\n\t\t\t// 如果isNext为true则执行路由跳转\r\n\t\t\tisNext && this.openPage(mergeConfig)\r\n\t\t} else {\r\n\t\t\tthis.openPage(mergeConfig)\r\n\t\t}\r\n\t}\r\n\r\n\t// 执行路由跳转\r\n\topenPage(config) {\r\n\t\t// 解构参数\r\n\t\tconst {\r\n\t\t\turl,\r\n\t\t\ttype,\r\n\t\t\tdelta,\r\n\t\t\tanimationType,\r\n\t\t\tanimationDuration\r\n\t\t} = config\r\n\t\tif (config.type == 'navigateTo' || config.type == 'to') {\r\n\t\t\tuni.navigateTo({\r\n\t\t\t\turl,\r\n\t\t\t\tanimationType,\r\n\t\t\t\tanimationDuration\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'redirectTo' || config.type == 'redirect') {\r\n\t\t\tuni.redirectTo({\r\n\t\t\t\turl\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'switchTab' || config.type == 'tab') {\r\n\t\t\tuni.switchTab({\r\n\t\t\t\turl\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'reLaunch' || config.type == 'launch') {\r\n\t\t\tuni.reLaunch({\r\n\t\t\t\turl\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'navigateBack' || config.type == 'back') {\r\n\t\t\tuni.navigateBack({\r\n\t\t\t\tdelta\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport default (new Router()).route\r\n","// 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 e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\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;","/**\r\n * 求两个颜色之间的渐变值\r\n * @param {string} startColor 开始的颜色\r\n * @param {string} endColor 结束的颜色\r\n * @param {number} step 颜色等分的份额\r\n * */\r\nfunction colorGradient(startColor = 'rgb(0, 0, 0)', endColor = 'rgb(255, 255, 255)', step = 10) {\r\n const startRGB = hexToRgb(startColor, false) // 转换为rgb数组模式\r\n const startR = startRGB[0]\r\n const startG = startRGB[1]\r\n const startB = startRGB[2]\r\n\r\n const endRGB = hexToRgb(endColor, false)\r\n const endR = endRGB[0]\r\n const endG = endRGB[1]\r\n const endB = endRGB[2]\r\n\r\n const sR = (endR - startR) / step // 总差值\r\n const sG = (endG - startG) / step\r\n const sB = (endB - startB) / step\r\n const colorArr = []\r\n for (let i = 0; i < step; i++) {\r\n // 计算每一步的hex值\r\n let hex = rgbToHex(`rgb(${Math.round((sR * i + startR))},${Math.round((sG * i + startG))},${Math.round((sB\r\n\t\t\t* i + startB))})`)\r\n // 确保第一个颜色值为startColor的值\r\n if (i === 0) hex = rgbToHex(startColor)\r\n // 确保最后一个颜色值为endColor的值\r\n if (i === step - 1) hex = rgbToHex(endColor)\r\n colorArr.push(hex)\r\n }\r\n return colorArr\r\n}\r\n\r\n// 将hex表示方式转换为rgb表示方式(这里返回rgb数组模式)\r\nfunction hexToRgb(sColor, str = true) {\r\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\r\n sColor = String(sColor).toLowerCase()\r\n if (sColor && reg.test(sColor)) {\r\n if (sColor.length === 4) {\r\n let sColorNew = '#'\r\n for (let i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1))\r\n }\r\n sColor = sColorNew\r\n }\r\n // 处理六位的颜色值\r\n const sColorChange = []\r\n for (let i = 1; i < 7; i += 2) {\r\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`))\r\n }\r\n if (!str) {\r\n return sColorChange\r\n }\r\n return `rgb(${sColorChange[0]},${sColorChange[1]},${sColorChange[2]})`\r\n } if (/^(rgb|RGB)/.test(sColor)) {\r\n const arr = sColor.replace(/(?:\\(|\\)|rgb|RGB)*/g, '').split(',')\r\n return arr.map((val) => Number(val))\r\n }\r\n return sColor\r\n}\r\n\r\n// 将rgb表示方式转换为hex表示方式\r\nfunction rgbToHex(rgb) {\r\n const _this = rgb\r\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\r\n if (/^(rgb|RGB)/.test(_this)) {\r\n const aColor = _this.replace(/(?:\\(|\\)|rgb|RGB)*/g, '').split(',')\r\n let strHex = '#'\r\n for (let i = 0; i < aColor.length; i++) {\r\n let hex = Number(aColor[i]).toString(16)\r\n hex = String(hex).length == 1 ? `${0}${hex}` : hex // 保证每个rgb的值为2位\r\n if (hex === '0') {\r\n hex += hex\r\n }\r\n strHex += hex\r\n }\r\n if (strHex.length !== 7) {\r\n strHex = _this\r\n }\r\n return strHex\r\n } if (reg.test(_this)) {\r\n const aNum = _this.replace(/#/, '').split('')\r\n if (aNum.length === 6) {\r\n return _this\r\n } if (aNum.length === 3) {\r\n let numHex = '#'\r\n for (let i = 0; i < aNum.length; i += 1) {\r\n numHex += (aNum[i] + aNum[i])\r\n }\r\n return numHex\r\n }\r\n } else {\r\n return _this\r\n }\r\n}\r\n\r\n/**\r\n* JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba2552552550.5)字符串\r\n* sHex为传入的十六进制的色值\r\n* alpha为rgba的透明度\r\n*/\r\nfunction colorToRgba(color, alpha) {\r\n color = rgbToHex(color)\r\n // 十六进制颜色值的正则表达式\r\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\r\n /* 16进制颜色转为RGB格式 */\r\n let sColor = String(color).toLowerCase()\r\n if (sColor && reg.test(sColor)) {\r\n if (sColor.length === 4) {\r\n let sColorNew = '#'\r\n for (let i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1))\r\n }\r\n sColor = sColorNew\r\n }\r\n // 处理六位的颜色值\r\n const sColorChange = []\r\n for (let i = 1; i < 7; i += 2) {\r\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`))\r\n }\r\n // return sColorChange.join(',')\r\n return `rgba(${sColorChange.join(',')},${alpha})`\r\n }\r\n\r\n return sColor\r\n}\r\n\r\nexport default {\r\n colorGradient,\r\n hexToRgb,\r\n rgbToHex,\r\n colorToRgba\r\n}\r\n","/**\r\n * 验证电子邮箱格式\r\n */\r\nfunction email(value) {\r\n return /^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证手机格式\r\n */\r\nfunction mobile(value) {\r\n return /^1([3589]\\d|4[5-9]|6[1-2,4-7]|7[0-8])\\d{8}$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证URL格式\r\n */\r\nfunction url(value) {\r\n return /^((https|http|ftp|rtsp|mms):\\/\\/)(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z].[a-zA-Z]{2,6})(:[0-9]{1,4})?((\\/?)|(\\/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+\\/?)$/\r\n .test(value)\r\n}\r\n\r\n/**\r\n * 验证日期格式\r\n */\r\nfunction date(value) {\r\n if (!value) return false\r\n // 判断是否数值或者字符串数值(意味着为时间戳)转为数值否则new Date无法识别字符串时间戳\r\n if (number(value)) value = +value\r\n return !/Invalid|NaN/.test(new Date(value).toString())\r\n}\r\n\r\n/**\r\n * 验证ISO类型的日期格式\r\n */\r\nfunction dateISO(value) {\r\n return /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证十进制数字\r\n */\r\nfunction number(value) {\r\n return /^[\\+-]?(\\d+\\.?\\d*|\\.\\d+|\\d\\.\\d+e\\+\\d+)$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证字符串\r\n */\r\nfunction string(value) {\r\n return typeof value === 'string'\r\n}\r\n\r\n/**\r\n * 验证整数\r\n */\r\nfunction digits(value) {\r\n return /^\\d+$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证身份证号码\r\n */\r\nfunction idCard(value) {\r\n return /^[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(\r\n value\r\n )\r\n}\r\n\r\n/**\r\n * 是否车牌号\r\n */\r\nfunction carNo(value) {\r\n // 新能源车牌\r\n const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/\r\n // 旧车牌\r\n const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/\r\n if (value.length === 7) {\r\n return creg.test(value)\r\n } if (value.length === 8) {\r\n return xreg.test(value)\r\n }\r\n return false\r\n}\r\n\r\n/**\r\n * 金额,只允许2位小数\r\n */\r\nfunction amount(value) {\r\n // 金额,只允许保留两位小数\r\n return /^[1-9]\\d*(,\\d{3})*(\\.\\d{1,2})?$|^0\\.\\d{1,2}$/.test(value)\r\n}\r\n\r\n/**\r\n * 中文\r\n */\r\nfunction chinese(value) {\r\n const reg = /^[\\u4e00-\\u9fa5]+$/gi\r\n return reg.test(value)\r\n}\r\n\r\n/**\r\n * 只能输入字母\r\n */\r\nfunction letter(value) {\r\n return /^[a-zA-Z]*$/.test(value)\r\n}\r\n\r\n/**\r\n * 只能是字母或者数字\r\n */\r\nfunction enOrNum(value) {\r\n // 英文或者数字\r\n const reg = /^[0-9a-zA-Z]*$/g\r\n return reg.test(value)\r\n}\r\n\r\n/**\r\n * 验证是否包含某个值\r\n */\r\nfunction contains(value, param) {\r\n return value.indexOf(param) >= 0\r\n}\r\n\r\n/**\r\n * 验证一个值范围[min, max]\r\n */\r\nfunction range(value, param) {\r\n return value >= param[0] && value <= param[1]\r\n}\r\n\r\n/**\r\n * 验证一个长度范围[min, max]\r\n */\r\nfunction rangeLength(value, param) {\r\n return value.length >= param[0] && value.length <= param[1]\r\n}\r\n\r\n/**\r\n * 是否固定电话\r\n */\r\nfunction landline(value) {\r\n const reg = /^\\d{3,4}-\\d{7,8}(-\\d{3,4})?$/\r\n return reg.test(value)\r\n}\r\n\r\n/**\r\n * 判断是否为空\r\n */\r\nfunction empty(value) {\r\n switch (typeof value) {\r\n case 'undefined':\r\n return true\r\n case 'string':\r\n if (value.replace(/(^[ \\t\\n\\r]*)|([ \\t\\n\\r]*$)/g, '').length == 0) return true\r\n break\r\n case 'boolean':\r\n if (!value) return true\r\n break\r\n case 'number':\r\n if (value === 0 || isNaN(value)) return true\r\n break\r\n case 'object':\r\n if (value === null || value.length === 0) return true\r\n for (const i in value) {\r\n return false\r\n }\r\n return true\r\n }\r\n return false\r\n}\r\n\r\n/**\r\n * 是否json字符串\r\n */\r\nfunction jsonString(value) {\r\n if (typeof value === 'string') {\r\n try {\r\n const obj = JSON.parse(value)\r\n if (typeof obj === 'object' && obj) {\r\n return true\r\n }\r\n return false\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n return false\r\n}\r\n\r\n/**\r\n * 是否数组\r\n */\r\nfunction array(value) {\r\n if (typeof Array.isArray === 'function') {\r\n return Array.isArray(value)\r\n }\r\n return Object.prototype.toString.call(value) === '[object Array]'\r\n}\r\n\r\n/**\r\n * 是否对象\r\n */\r\nfunction object(value) {\r\n return Object.prototype.toString.call(value) === '[object Object]'\r\n}\r\n\r\n/**\r\n * 是否短信验证码\r\n */\r\nfunction code(value, len = 6) {\r\n return new RegExp(`^\\\\d{${len}}$`).test(value)\r\n}\r\n\r\n/**\r\n * 是否函数方法\r\n * @param {Object} value\r\n */\r\nfunction func(value) {\r\n return typeof value === 'function'\r\n}\r\n\r\n/**\r\n * 是否promise对象\r\n * @param {Object} value\r\n */\r\nfunction promise(value) {\r\n return object(value) && func(value.then) && func(value.catch)\r\n}\r\n\r\n/** 是否图片格式\r\n * @param {Object} value\r\n */\r\nfunction image(value) {\r\n const newValue = value.split('?')[0]\r\n const IMAGE_REGEXP = /\\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i\r\n return IMAGE_REGEXP.test(newValue)\r\n}\r\n\r\n/**\r\n * 是否视频格式\r\n * @param {Object} value\r\n */\r\nfunction video(value) {\r\n const VIDEO_REGEXP = /\\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv|m3u8)/i\r\n return VIDEO_REGEXP.test(value)\r\n}\r\n\r\n/**\r\n * 是否为正则对象\r\n * @param {Object}\r\n * @return {Boolean}\r\n */\r\nfunction regExp(o) {\r\n return o && Object.prototype.toString.call(o) === '[object RegExp]'\r\n}\r\n\r\nexport default {\r\n email,\r\n mobile,\r\n url,\r\n date,\r\n dateISO,\r\n number,\r\n digits,\r\n idCard,\r\n carNo,\r\n amount,\r\n chinese,\r\n letter,\r\n enOrNum,\r\n contains,\r\n range,\r\n rangeLength,\r\n empty,\r\n isEmpty: empty,\r\n jsonString,\r\n landline,\r\n object,\r\n array,\r\n code,\r\n func,\r\n promise,\r\n video,\r\n image,\r\n regExp,\r\n string\r\n}\r\n","let timeout = null\r\n\r\n/**\r\n * 防抖原理一定时间内只有最后一次操作再过wait毫秒后才执行函数\r\n *\r\n * @param {Function} func 要执行的回调函数\r\n * @param {Number} wait 延时的时间\r\n * @param {Boolean} immediate 是否立即执行\r\n * @return null\r\n */\r\nfunction debounce(func, wait = 500, immediate = false) {\r\n // 清除定时器\r\n if (timeout !== null) clearTimeout(timeout)\r\n // 立即执行,此类情况一般用不到\r\n if (immediate) {\r\n const callNow = !timeout\r\n timeout = setTimeout(() => {\r\n timeout = null\r\n }, wait)\r\n if (callNow) typeof func === 'function' && func()\r\n } else {\r\n // 设置定时器当最后一次操作后timeout不会再被清除所以在延时wait毫秒后执行func回调方法\r\n timeout = setTimeout(() => {\r\n typeof func === 'function' && func()\r\n }, wait)\r\n }\r\n}\r\n\r\nexport default debounce\r\n","let timer; let\r\n flag\r\n/**\r\n * 节流原理:在一定时间内,只能触发一次\r\n *\r\n * @param {Function} func 要执行的回调函数\r\n * @param {Number} wait 延时的时间\r\n * @param {Boolean} immediate 是否立即执行\r\n * @return null\r\n */\r\nfunction throttle(func, wait = 500, immediate = true) {\r\n if (immediate) {\r\n if (!flag) {\r\n flag = true\r\n // 如果是立即执行则在wait毫秒内开始时执行\r\n typeof func === 'function' && func()\r\n timer = setTimeout(() => {\r\n flag = false\r\n }, wait)\r\n }\r\n } else if (!flag) {\r\n flag = true\r\n // 如果是非立即执行则在wait毫秒内的结束处执行\r\n timer = setTimeout(() => {\r\n flag = false\r\n typeof func === 'function' && func()\r\n }, wait)\r\n }\r\n}\r\nexport default throttle\r\n","import test from './test.js'\r\nimport { round } from './digit.js'\r\n/**\r\n * @description 如果value小于min取min如果value大于max取max\r\n * @param {number} min\r\n * @param {number} max\r\n * @param {number} value\r\n */\r\nfunction range(min = 0, max = 0, value = 0) {\r\n\treturn Math.max(min, Math.min(max, Number(value)))\r\n}\r\n\r\n/**\r\n * @description 用于获取用户传递值的px值 如果用户传递了\"xxpx\"或者\"xxrpx\",取出其数值部分,如果是\"xxxrpx\"还需要用过uni.upx2px进行转换\r\n * @param {number|string} value 用户传递值的px值\r\n * @param {boolean} unit\r\n * @returns {number|string}\r\n */\r\nfunction getPx(value, unit = false) {\r\n\tif (test.number(value)) {\r\n\t\treturn unit ? `${value}px` : Number(value)\r\n\t}\r\n\t// 如果带有rpx先取出其数值部分再转为px值\r\n\tif (/(rpx|upx)$/.test(value)) {\r\n\t\treturn unit ? `${uni.upx2px(parseInt(value))}px` : Number(uni.upx2px(parseInt(value)))\r\n\t}\r\n\treturn unit ? `${parseInt(value)}px` : parseInt(value)\r\n}\r\n\r\n/**\r\n * @description 进行延时,以达到可以简写代码的目的 比如: await uni.$u.sleep(20)将会阻塞20ms\r\n * @param {number} value 堵塞时间 单位ms 毫秒\r\n * @returns {Promise} 返回promise\r\n */\r\nfunction sleep(value = 30) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tresolve()\r\n\t\t}, value)\r\n\t})\r\n}\r\n/**\r\n * @description 运行期判断平台\r\n * @returns {string} 返回所在平台(小写)\r\n * @link 运行期判断平台 https://uniapp.dcloud.io/frame?id=判断平台\r\n */\r\nfunction os() {\r\n\treturn uni.getSystemInfoSync().platform.toLowerCase()\r\n}\r\n/**\r\n * @description 获取系统信息同步接口\r\n * @link 获取系统信息同步接口 https://uniapp.dcloud.io/api/system/info?id=getsysteminfosync\r\n */\r\nfunction sys() {\r\n\treturn uni.getSystemInfoSync()\r\n}\r\n\r\n/**\r\n * @description 取一个区间数\r\n * @param {Number} min 最小值\r\n * @param {Number} max 最大值\r\n */\r\nfunction random(min, max) {\r\n\tif (min >= 0 && max > 0 && max >= min) {\r\n\t\tconst gab = max - min + 1\r\n\t\treturn Math.floor(Math.random() * gab + min)\r\n\t}\r\n\treturn 0\r\n}\r\n\r\n/**\r\n * @param {Number} len uuid的长度\r\n * @param {Boolean} firstU 将返回的首字母置为\"u\"\r\n * @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制\r\n */\r\nfunction guid(len = 32, firstU = true, radix = null) {\r\n\tconst chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')\r\n\tconst uuid = []\r\n\tradix = radix || chars.length\r\n\r\n\tif (len) {\r\n\t\t// 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位\r\n\t\tfor (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]\r\n\t} else {\r\n\t\tlet r\r\n\t\t// rfc4122标准要求返回的uuid中,某些位为固定的字符\r\n\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'\r\n\t\tuuid[14] = '4'\r\n\r\n\t\tfor (let i = 0; i < 36; i++) {\r\n\t\t\tif (!uuid[i]) {\r\n\t\t\t\tr = 0 | Math.random() * 16\r\n\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class\r\n\tif (firstU) {\r\n\t\tuuid.shift()\r\n\t\treturn `u${uuid.join('')}`\r\n\t}\r\n\treturn uuid.join('')\r\n}\r\n\r\n/**\r\n* @description 获取父组件的参数因为支付宝小程序不支持provide/inject的写法\r\n this.$parent在非H5中可以准确获取到父组件但是在H5中需要多次this.$parent.$parent.xxx\r\n 这里默认值等于undefined有它的含义因为最顶层元素(组件)的$parent就是undefined意味着不传name\r\n 值(默认为undefined),就是查找最顶层的$parent\r\n* @param {string|undefined} name 父组件的参数名\r\n*/\r\nfunction $parent(name = undefined) {\r\n\tlet parent = this.$parent\r\n\t// 通过while历遍这里主要是为了H5需要多层解析的问题\r\n\twhile (parent) {\r\n\t\t// 父组件\r\n\t\tif (parent.$options && parent.$options.name !== name) {\r\n\t\t\t// 如果组件的name不相等继续上一级寻找\r\n\t\t\tparent = parent.$parent\r\n\t\t} else {\r\n\t\t\treturn parent\r\n\t\t}\r\n\t}\r\n\treturn false\r\n}\r\n\r\n/**\r\n * @description 样式转换\r\n * 对象转字符串,或者字符串转对象\r\n * @param {object | string} customStyle 需要转换的目标\r\n * @param {String} target 转换的目的object-转为对象string-转为字符串\r\n * @returns {object|string}\r\n */\r\nfunction addStyle(customStyle, target = 'object') {\r\n\t// 字符串转字符串,对象转对象情形,直接返回\r\n\tif (test.empty(customStyle) || typeof(customStyle) === 'object' && target === 'object' || target === 'string' &&\r\n\t\ttypeof(customStyle) === 'string') {\r\n\t\treturn customStyle\r\n\t}\r\n\t// 字符串转对象\r\n\tif (target === 'object') {\r\n\t\t// 去除字符串样式中的两端空格(中间的空格不能去掉比如padding: 20px 0如果去掉了就错了),空格是无用的\r\n\t\tcustomStyle = trim(customStyle)\r\n\t\t// 根据\";\"将字符串转为数组形式\r\n\t\tconst styleArray = customStyle.split(';')\r\n\t\tconst style = {}\r\n\t\t// 历遍数组,拼接成对象\r\n\t\tfor (let i = 0; i < styleArray.length; i++) {\r\n\t\t\t// 'font-size:20px;color:red;',如此最后字符串有\";\"的话会导致styleArray最后一个元素为空字符串这里需要过滤\r\n\t\t\tif (styleArray[i]) {\r\n\t\t\t\tconst item = styleArray[i].split(':')\r\n\t\t\t\tstyle[trim(item[0])] = trim(item[1])\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn style\r\n\t}\r\n\t// 这里为对象转字符串形式\r\n\tlet string = ''\r\n\tfor (const i in customStyle) {\r\n\t\t// 驼峰转为中划线的形式否则css内联样式无法识别驼峰样式属性名\r\n\t\tconst key = i.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n\t\tstring += `${key}:${customStyle[i]};`\r\n\t}\r\n\t// 去除两端空格\r\n\treturn trim(string)\r\n}\r\n\r\n/**\r\n * @description 添加单位如果有rpxupx%px等单位结尾或者值为auto直接返回否则加上px单位结尾\r\n * @param {string|number} value 需要添加单位的值\r\n * @param {string} unit 添加的单位名 比如px\r\n */\r\nfunction addUnit(value = 'auto', unit = uni?.$u?.config?.unit ?? 'px') {\r\n\tvalue = String(value)\r\n\t// 用uView内置验证规则中的number判断是否为数值\r\n\treturn test.number(value) ? `${value}${unit}` : value\r\n}\r\n\r\n/**\r\n * @description 深度克隆\r\n * @param {object} obj 需要深度克隆的对象\r\n * @param cache 缓存\r\n * @returns {*} 克隆后的对象或者原值(不是对象)\r\n */\r\nfunction deepClone(obj, cache = new WeakMap()) {\r\n\tif (obj === null || typeof obj !== 'object') return obj;\r\n\tif (cache.has(obj)) return cache.get(obj);\r\n\tlet clone;\r\n\tif (obj instanceof Date) {\r\n\t\tclone = new Date(obj.getTime());\r\n\t} else if (obj instanceof RegExp) {\r\n\t\tclone = new RegExp(obj);\r\n\t} else if (obj instanceof Map) {\r\n\t\tclone = new Map(Array.from(obj, ([key, value]) => [key, deepClone(value, cache)]));\r\n\t} else if (obj instanceof Set) {\r\n\t\tclone = new Set(Array.from(obj, value => deepClone(value, cache)));\r\n\t} else if (Array.isArray(obj)) {\r\n\t\tclone = obj.map(value => deepClone(value, cache));\r\n\t} else if (Object.prototype.toString.call(obj) === '[object Object]') {\r\n\t\tclone = Object.create(Object.getPrototypeOf(obj));\r\n\t\tcache.set(obj, clone);\r\n\t\tfor (const [key, value] of Object.entries(obj)) {\r\n\t\t\tclone[key] = deepClone(value, cache);\r\n\t\t}\r\n\t} else {\r\n\t\tclone = Object.assign({}, obj);\r\n\t}\r\n\tcache.set(obj, clone);\r\n\treturn clone;\r\n}\r\n\r\n/**\r\n * @description JS对象深度合并\r\n * @param {object} target 需要拷贝的对象\r\n * @param {object} source 拷贝的来源对象\r\n * @returns {object|boolean} 深度合并后的对象或者false入参有不是对象\r\n */\r\nfunction deepMerge(target = {}, source = {}) {\r\n\ttarget = deepClone(target)\r\n\tif (typeof target !== 'object' || target === null || typeof source !== 'object' || source === null) return target;\r\n\tconst merged = Array.isArray(target) ? target.slice() : Object.assign({}, target);\r\n\tfor (const prop in source) {\r\n\t\tif (!source.hasOwnProperty(prop)) continue;\r\n\t\tconst sourceValue = source[prop];\r\n\t\tconst targetValue = merged[prop];\r\n\t\tif (sourceValue instanceof Date) {\r\n\t\t\tmerged[prop] = new Date(sourceValue);\r\n\t\t} else if (sourceValue instanceof RegExp) {\r\n\t\t\tmerged[prop] = new RegExp(sourceValue);\r\n\t\t} else if (sourceValue instanceof Map) {\r\n\t\t\tmerged[prop] = new Map(sourceValue);\r\n\t\t} else if (sourceValue instanceof Set) {\r\n\t\t\tmerged[prop] = new Set(sourceValue);\r\n\t\t} else if (typeof sourceValue === 'object' && sourceValue !== null) {\r\n\t\t\tmerged[prop] = deepMerge(targetValue, sourceValue);\r\n\t\t} else {\r\n\t\t\tmerged[prop] = sourceValue;\r\n\t\t}\r\n\t}\r\n\treturn merged;\r\n}\r\n\r\n/**\r\n * @description error提示\r\n * @param {*} err 错误内容\r\n */\r\nfunction error(err) {\r\n\t// 开发环境才提示,生产环境不会提示\r\n\tif (process.env.NODE_ENV === 'development') {\r\n\t\tconsole.error(`uView提示${err}`)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 打乱数组\r\n * @param {array} array 需要打乱的数组\r\n * @returns {array} 打乱后的数组\r\n */\r\nfunction randomArray(array = []) {\r\n\t// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0\r\n\treturn array.sort(() => Math.random() - 0.5)\r\n}\r\n\r\n// padStart 的 polyfill因为某些机型或情况还无法支持es7的padStart比如电脑版的微信小程序\r\n// 所以这里做一个兼容polyfill的兼容处理\r\nif (!String.prototype.padStart) {\r\n\t// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解\r\n\tString.prototype.padStart = function(maxLength, fillString = ' ') {\r\n\t\tif (Object.prototype.toString.call(fillString) !== '[object String]') {\r\n\t\t\tthrow new TypeError(\r\n\t\t\t\t'fillString must be String'\r\n\t\t\t)\r\n\t\t}\r\n\t\tconst str = this\r\n\t\t// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉\r\n\t\tif (str.length >= maxLength) return String(str)\r\n\r\n\t\tconst fillLength = maxLength - str.length\r\n\t\tlet times = Math.ceil(fillLength / fillString.length)\r\n\t\twhile (times >>= 1) {\r\n\t\t\tfillString += fillString\r\n\t\t\tif (times === 1) {\r\n\t\t\t\tfillString += fillString\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn fillString.slice(0, fillLength) + str\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 格式化时间\r\n * @param {String|Number} dateTime 需要格式化的时间戳\r\n * @param {String} fmt 格式化规则 yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合 默认yyyy-mm-dd\r\n * @returns {string} 返回格式化后的字符串\r\n */\r\n function timeFormat(dateTime = null, formatStr = 'yyyy-mm-dd') {\r\n let date\r\n\t// 若传入时间为假值,则取当前时间\r\n if (!dateTime) {\r\n date = new Date()\r\n }\r\n // 若为unix秒时间戳则转为毫秒时间戳逻辑有点奇怪但不敢改以保证历史兼容\r\n else if (/^\\d{10}$/.test(dateTime?.toString().trim())) {\r\n date = new Date(dateTime * 1000)\r\n }\r\n // 若用户传入字符串格式时间戳new Date无法解析需做兼容\r\n else if (typeof dateTime === 'string' && /^\\d+$/.test(dateTime.trim())) {\r\n date = new Date(Number(dateTime))\r\n }\r\n\t// 处理平台性差异在Safari/Webkit中new Date仅支持/作为分割符的字符串时间\r\n\t// 处理 '2022-07-10 01:02:03',跳过 '2022-07-10T01:02:03'\r\n\telse if (typeof dateTime === 'string' && dateTime.includes('-') && !dateTime.includes('T')) {\r\n\t\tdate = new Date(dateTime.replace(/-/g, '/'))\r\n\t}\r\n\t// 其他都认为符合 RFC 2822 规范\r\n\telse {\r\n\t\tdate = new Date(dateTime)\r\n\t}\r\n\r\n\tconst timeSource = {\r\n\t\t'y': date.getFullYear().toString(), // 年\r\n\t\t'm': (date.getMonth() + 1).toString().padStart(2, '0'), // 月\r\n\t\t'd': date.getDate().toString().padStart(2, '0'), // 日\r\n\t\t'h': date.getHours().toString().padStart(2, '0'), // 时\r\n\t\t'M': date.getMinutes().toString().padStart(2, '0'), // 分\r\n\t\t's': date.getSeconds().toString().padStart(2, '0') // 秒\r\n\t\t// 有其他格式化字符需求可以继续添加,必须转化成字符串\r\n\t}\r\n\r\n for (const key in timeSource) {\r\n const [ret] = new RegExp(`${key}+`).exec(formatStr) || []\r\n if (ret) {\r\n // 年可能只需展示两位\r\n const beginIndex = key === 'y' && ret.length === 2 ? 2 : 0\r\n formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex))\r\n }\r\n }\r\n\r\n return formatStr\r\n}\r\n\r\n/**\r\n * @description 时间戳转为多久之前\r\n * @param {String|Number} timestamp 时间戳\r\n * @param {String|Boolean} format\r\n * 格式化规则如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;\r\n * 如果为布尔值false无论什么时间都返回多久以前的格式\r\n * @returns {string} 转化后的内容\r\n */\r\nfunction timeFrom(timestamp = null, format = 'yyyy-mm-dd') {\r\n\tif (timestamp == null) timestamp = Number(new Date())\r\n\ttimestamp = parseInt(timestamp)\r\n\t// 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位)\r\n\tif (timestamp.toString().length == 10) timestamp *= 1000\r\n\tlet timer = (new Date()).getTime() - timestamp\r\n\ttimer = parseInt(timer / 1000)\r\n\t// 如果小于5分钟,则返回\"刚刚\",其他以此类推\r\n\tlet tips = ''\r\n\tswitch (true) {\r\n\t\tcase timer < 300:\r\n\t\t\ttips = '刚刚'\r\n\t\t\tbreak\r\n\t\tcase timer >= 300 && timer < 3600:\r\n\t\t\ttips = `${parseInt(timer / 60)}分钟前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 3600 && timer < 86400:\r\n\t\t\ttips = `${parseInt(timer / 3600)}小时前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 86400 && timer < 2592000:\r\n\t\t\ttips = `${parseInt(timer / 86400)}天前`\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\t// 如果format为false则无论什么时间戳都显示xx之前\r\n\t\t\tif (format === false) {\r\n\t\t\t\tif (timer >= 2592000 && timer < 365 * 86400) {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 30))}个月前`\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 365))}年前`\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttips = timeFormat(timestamp, format)\r\n\t\t\t}\r\n\t}\r\n\treturn tips\r\n}\r\n\r\n/**\r\n * @description 去除空格\r\n * @param String str 需要去除空格的字符串\r\n * @param String pos both(左右)|left|right|all 默认both\r\n */\r\nfunction trim(str, pos = 'both') {\r\n\tstr = String(str)\r\n\tif (pos == 'both') {\r\n\t\treturn str.replace(/^\\s+|\\s+$/g, '')\r\n\t}\r\n\tif (pos == 'left') {\r\n\t\treturn str.replace(/^\\s*/, '')\r\n\t}\r\n\tif (pos == 'right') {\r\n\t\treturn str.replace(/(\\s*$)/g, '')\r\n\t}\r\n\tif (pos == 'all') {\r\n\t\treturn str.replace(/\\s+/g, '')\r\n\t}\r\n\treturn str\r\n}\r\n\r\n/**\r\n * @description 对象转url参数\r\n * @param {object} data,对象\r\n * @param {Boolean} isPrefix,是否自动加上\"?\"\r\n * @param {string} arrayFormat 规则 indices|brackets|repeat|comma\r\n */\r\nfunction queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') {\r\n\tconst prefix = isPrefix ? '?' : ''\r\n\tconst _result = []\r\n\tif (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets'\r\n\tfor (const key in data) {\r\n\t\tconst value = data[key]\r\n\t\t// 去掉为空的参数\r\n\t\tif (['', undefined, null].indexOf(value) >= 0) {\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\t// 如果值为数组,另行处理\r\n\t\tif (value.constructor === Array) {\r\n\t\t\t// e.g. {ids: [1, 2, 3]}\r\n\t\t\tswitch (arrayFormat) {\r\n\t\t\t\tcase 'indices':\r\n\t\t\t\t\t// 结果: ids[0]=1&ids[1]=2&ids[2]=3\r\n\t\t\t\t\tfor (let i = 0; i < value.length; i++) {\r\n\t\t\t\t\t\t_result.push(`${key}[${i}]=${value[i]}`)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'brackets':\r\n\t\t\t\t\t// 结果: ids[]=1&ids[]=2&ids[]=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'repeat':\r\n\t\t\t\t\t// 结果: ids=1&ids=2&ids=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'comma':\r\n\t\t\t\t\t// 结果: ids=1,2,3\r\n\t\t\t\t\tlet commaStr = ''\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\tcommaStr += (commaStr ? ',' : '') + _value\r\n\t\t\t\t\t})\r\n\t\t\t\t\t_result.push(`${key}=${commaStr}`)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t_result.push(`${key}=${value}`)\r\n\t\t}\r\n\t}\r\n\treturn _result.length ? prefix + _result.join('&') : ''\r\n}\r\n\r\n/**\r\n * 显示消息提示框\r\n * @param {String} title 提示的内容,长度与 icon 取值有关。\r\n * @param {Number} duration 提示的延迟时间单位毫秒默认2000\r\n */\r\nfunction toast(title, duration = 2000) {\r\n\tuni.showToast({\r\n\t\ttitle: String(title),\r\n\t\ticon: 'none',\r\n\t\tduration\r\n\t})\r\n}\r\n\r\n/**\r\n * @description 根据主题type值,获取对应的图标\r\n * @param {String} type 主题名称,primary|info|error|warning|success\r\n * @param {boolean} fill 是否使用fill填充实体的图标\r\n */\r\nfunction type2icon(type = 'success', fill = false) {\r\n\t// 如果非预置值,默认为success\r\n\tif (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success'\r\n\tlet iconName = ''\r\n\t// 目前(2019-12-12),info和primary使用同一个图标\r\n\tswitch (type) {\r\n\t\tcase 'primary':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'info':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'error':\r\n\t\t\ticonName = 'close-circle'\r\n\t\t\tbreak\r\n\t\tcase 'warning':\r\n\t\t\ticonName = 'error-circle'\r\n\t\t\tbreak\r\n\t\tcase 'success':\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t}\r\n\t// 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的\r\n\tif (fill) iconName += '-fill'\r\n\treturn iconName\r\n}\r\n\r\n/**\r\n * @description 数字格式化\r\n * @param {number|string} number 要格式化的数字\r\n * @param {number} decimals 保留几位小数\r\n * @param {string} decimalPoint 小数点符号\r\n * @param {string} thousandsSeparator 千分位符号\r\n * @returns {string} 格式化后的数字\r\n */\r\nfunction priceFormat(number, decimals = 0, decimalPoint = '.', thousandsSeparator = ',') {\r\n\tnumber = (`${number}`).replace(/[^0-9+-Ee.]/g, '')\r\n\tconst n = !isFinite(+number) ? 0 : +number\r\n\tconst prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)\r\n\tconst sep = (typeof thousandsSeparator === 'undefined') ? ',' : thousandsSeparator\r\n\tconst dec = (typeof decimalPoint === 'undefined') ? '.' : decimalPoint\r\n\tlet s = ''\r\n\r\n\ts = (prec ? round(n, prec) + '' : `${Math.round(n)}`).split('.')\r\n\tconst re = /(-?\\d+)(\\d{3})/\r\n\twhile (re.test(s[0])) {\r\n\t\ts[0] = s[0].replace(re, `$1${sep}$2`)\r\n\t}\r\n\r\n\tif ((s[1] || '').length < prec) {\r\n\t\ts[1] = s[1] || ''\r\n\t\ts[1] += new Array(prec - s[1].length + 1).join('0')\r\n\t}\r\n\treturn s.join(dec)\r\n}\r\n\r\n/**\r\n * @description 获取duration值\r\n * 如果带有ms或者s直接返回如果大于一定值认为是ms单位小于一定值认为是s单位\r\n * 比如以30位阈值那么300大于30可以理解为用户想要的是300ms而不是想花300s去执行一个动画\r\n * @param {String|number} value 比如: \"1s\"|\"100ms\"|1|100\r\n * @param {boolean} unit 提示: 如果是false 默认返回number\r\n * @return {string|number}\r\n */\r\nfunction getDuration(value, unit = true) {\r\n\tconst valueNum = parseInt(value)\r\n\tif (unit) {\r\n\t\tif (/s$/.test(value)) return value\r\n\t\treturn value > 30 ? `${value}ms` : `${value}s`\r\n\t}\r\n\tif (/ms$/.test(value)) return valueNum\r\n\tif (/s$/.test(value)) return valueNum > 30 ? valueNum : valueNum * 1000\r\n\treturn valueNum\r\n}\r\n\r\n/**\r\n * @description 日期的月或日补零操作\r\n * @param {String} value 需要补零的值\r\n */\r\nfunction padZero(value) {\r\n\treturn `00${value}`.slice(-2)\r\n}\r\n\r\n/**\r\n * @description 在u-form的子组件内容发生变化或者失去焦点时尝试通知u-form执行校验方法\r\n * @param {*} instance\r\n * @param {*} event\r\n */\r\nfunction formValidate(instance, event) {\r\n\tconst formItem = uni.$u.$parent.call(instance, 'u-form-item')\r\n\tconst form = uni.$u.$parent.call(instance, 'u-form')\r\n\t// 如果发生变化的input或者textarea等其父组件中有u-form-item或者u-form等就执行form的validate方法\r\n\t// 同时将form-item的pros传递给form让其进行精确对象验证\r\n\tif (formItem && form) {\r\n\t\tform.validateField(formItem.prop, () => {}, event)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取某个对象下的属性,用于通过类似'a.b.c'的形式去获取一个对象的的属性的形式\r\n * @param {object} obj 对象\r\n * @param {string} key 需要获取的属性字段\r\n * @returns {*}\r\n */\r\nfunction getProperty(obj, key) {\r\n\tif (!obj) {\r\n\t\treturn\r\n\t}\r\n\tif (typeof key !== 'string' || key === '') {\r\n\t\treturn ''\r\n\t}\r\n\tif (key.indexOf('.') !== -1) {\r\n\t\tconst keys = key.split('.')\r\n\t\tlet firstObj = obj[keys[0]] || {}\r\n\r\n\t\tfor (let i = 1; i < keys.length; i++) {\r\n\t\t\tif (firstObj) {\r\n\t\t\t\tfirstObj = firstObj[keys[i]]\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn firstObj\r\n\t}\r\n\treturn obj[key]\r\n}\r\n\r\n/**\r\n * @description 设置对象的属性值,如果'a.b.c'的形式进行设置\r\n * @param {object} obj 对象\r\n * @param {string} key 需要设置的属性\r\n * @param {string} value 设置的值\r\n */\r\nfunction setProperty(obj, key, value) {\r\n\tif (!obj) {\r\n\t\treturn\r\n\t}\r\n\t// 递归赋值\r\n\tconst inFn = function(_obj, keys, v) {\r\n\t\t// 最后一个属性key\r\n\t\tif (keys.length === 1) {\r\n\t\t\t_obj[keys[0]] = v\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// 0~length-1个key\r\n\t\twhile (keys.length > 1) {\r\n\t\t\tconst k = keys[0]\r\n\t\t\tif (!_obj[k] || (typeof _obj[k] !== 'object')) {\r\n\t\t\t\t_obj[k] = {}\r\n\t\t\t}\r\n\t\t\tconst key = keys.shift()\r\n\t\t\t// 自调用判断是否存在属性,不存在则自动创建对象\r\n\t\t\tinFn(_obj[k], keys, v)\r\n\t\t}\r\n\t}\r\n\r\n\tif (typeof key !== 'string' || key === '') {\r\n\r\n\t} else if (key.indexOf('.') !== -1) { // 支持多层级赋值操作\r\n\t\tconst keys = key.split('.')\r\n\t\tinFn(obj, keys, value)\r\n\t} else {\r\n\t\tobj[key] = value\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取当前页面路径\r\n */\r\nfunction page() {\r\n\tconst pages = getCurrentPages()\r\n\t// 某些特殊情况下(比如页面进行redirectTo时的一些时机)pages可能为空数组\r\n\treturn `/${pages[pages.length - 1]?.route ?? ''}`\r\n}\r\n\r\n/**\r\n * @description 获取当前路由栈实例数组\r\n */\r\nfunction pages() {\r\n\tconst pages = getCurrentPages()\r\n\treturn pages\r\n}\r\n\r\n/**\r\n * 获取页面历史栈指定层实例\r\n * @param back {number} [0] - 0或者负数表示获取历史栈的哪一层0表示获取当前页面实例-1 表示获取上一个页面实例。默认0。\r\n */\r\nfunction getHistoryPage(back = 0) {\r\n\tconst pages = getCurrentPages()\r\n\tconst len = pages.length\r\n\treturn pages[len - 1 + back]\r\n}\r\n\r\n/**\r\n * @description 修改uView内置属性值\r\n * @param {object} props 修改内置props属性\r\n * @param {object} config 修改内置config属性\r\n * @param {object} color 修改内置color属性\r\n * @param {object} zIndex 修改内置zIndex属性\r\n */\r\nfunction setConfig({\r\n\tprops = {},\r\n\tconfig = {},\r\n\tcolor = {},\r\n\tzIndex = {}\r\n}) {\r\n\tconst {\r\n\t\tdeepMerge,\r\n\t} = uni.$u\r\n\tuni.$u.config = deepMerge(uni.$u.config, config)\r\n\tuni.$u.props = deepMerge(uni.$u.props, props)\r\n\tuni.$u.color = deepMerge(uni.$u.color, color)\r\n\tuni.$u.zIndex = deepMerge(uni.$u.zIndex, zIndex)\r\n}\r\n\r\nexport default {\r\n\trange,\r\n\tgetPx,\r\n\tsleep,\r\n\tos,\r\n\tsys,\r\n\trandom,\r\n\tguid,\r\n\t$parent,\r\n\taddStyle,\r\n\taddUnit,\r\n\tdeepClone,\r\n\tdeepMerge,\r\n\terror,\r\n\trandomArray,\r\n\ttimeFormat,\r\n\ttimeFrom,\r\n\ttrim,\r\n\tqueryParams,\r\n\ttoast,\r\n\ttype2icon,\r\n\tpriceFormat,\r\n\tgetDuration,\r\n\tpadZero,\r\n\tformValidate,\r\n\tgetProperty,\r\n\tsetProperty,\r\n\tpage,\r\n\tpages,\r\n\tgetHistoryPage,\r\n\tsetConfig\r\n}\r\n","let _boundaryCheckingState = true; // 是否进行越界检查的全局开关\r\n\r\n/**\r\n * 把错误的数据转正\r\n * @private\r\n * @example strip(0.09999999999999998)=0.1\r\n */\r\nfunction strip(num, precision = 15) {\r\n return +parseFloat(Number(num).toPrecision(precision));\r\n}\r\n\r\n/**\r\n * Return digits length of a number\r\n * @private\r\n * @param {*number} num Input number\r\n */\r\nfunction digitLength(num) {\r\n // Get digit length of e\r\n const eSplit = num.toString().split(/[eE]/);\r\n const len = (eSplit[0].split('.')[1] || '').length - +(eSplit[1] || 0);\r\n return len > 0 ? len : 0;\r\n}\r\n\r\n/**\r\n * 把小数转成整数,如果是小数则放大成整数\r\n * @private\r\n * @param {*number} num 输入数\r\n */\r\nfunction float2Fixed(num) {\r\n if (num.toString().indexOf('e') === -1) {\r\n return Number(num.toString().replace('.', ''));\r\n }\r\n const dLen = digitLength(num);\r\n return dLen > 0 ? strip(Number(num) * Math.pow(10, dLen)) : Number(num);\r\n}\r\n\r\n/**\r\n * 检测数字是否越界,如果越界给出提示\r\n * @private\r\n * @param {*number} num 输入数\r\n */\r\nfunction checkBoundary(num) {\r\n if (_boundaryCheckingState) {\r\n if (num > Number.MAX_SAFE_INTEGER || num < Number.MIN_SAFE_INTEGER) {\r\n console.warn(`${num} 超出了精度限制,结果可能不正确`);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 把递归操作扁平迭代化\r\n * @param {number[]} arr 要操作的数字数组\r\n * @param {function} operation 迭代操作\r\n * @private\r\n */\r\nfunction iteratorOperation(arr, operation) {\r\n const [num1, num2, ...others] = arr;\r\n let res = operation(num1, num2);\r\n\r\n others.forEach((num) => {\r\n res = operation(res, num);\r\n });\r\n\r\n return res;\r\n}\r\n\r\n/**\r\n * 高精度乘法\r\n * @export\r\n */\r\nexport function times(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, times);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n const num1Changed = float2Fixed(num1);\r\n const num2Changed = float2Fixed(num2);\r\n const baseNum = digitLength(num1) + digitLength(num2);\r\n const leftValue = num1Changed * num2Changed;\r\n\r\n checkBoundary(leftValue);\r\n\r\n return leftValue / Math.pow(10, baseNum);\r\n}\r\n\r\n/**\r\n * 高精度加法\r\n * @export\r\n */\r\nexport function plus(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, plus);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n // 取最大的小数位\r\n const baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));\r\n // 把小数都转为整数然后再计算\r\n return (times(num1, baseNum) + times(num2, baseNum)) / baseNum;\r\n}\r\n\r\n/**\r\n * 高精度减法\r\n * @export\r\n */\r\nexport function minus(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, minus);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n const baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));\r\n return (times(num1, baseNum) - times(num2, baseNum)) / baseNum;\r\n}\r\n\r\n/**\r\n * 高精度除法\r\n * @export\r\n */\r\nexport function divide(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, divide);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n const num1Changed = float2Fixed(num1);\r\n const num2Changed = float2Fixed(num2);\r\n checkBoundary(num1Changed);\r\n checkBoundary(num2Changed);\r\n // 重要这里必须用strip进行修正\r\n return times(num1Changed / num2Changed, strip(Math.pow(10, digitLength(num2) - digitLength(num1))));\r\n}\r\n\r\n/**\r\n * 四舍五入\r\n * @export\r\n */\r\nexport function round(num, ratio) {\r\n const base = Math.pow(10, ratio);\r\n let result = divide(Math.round(Math.abs(times(num, base))), base);\r\n if (num < 0 && result !== 0) {\r\n result = times(result, -1);\r\n }\r\n // 位数不足则补0\r\n return result;\r\n}\r\n\r\n/**\r\n * 是否进行边界检查,默认开启\r\n * @param flag 标记开关true 为开启false 为关闭,默认为 true\r\n * @export\r\n */\r\nexport function enableBoundaryChecking(flag = true) {\r\n _boundaryCheckingState = flag;\r\n}\r\n\r\n\r\nexport default {\r\n times,\r\n plus,\r\n minus,\r\n divide,\r\n round,\r\n enableBoundaryChecking,\r\n};\r\n\r\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 此版本发布于2023-03-27\r\nconst version = '2.0.36'\r\n\r\n// 开发环境才提示,生产环境不会提示\r\nif (process.env.NODE_ENV === 'development') {\r\n\tconsole.log(`\\n %c uView V${version} %c https://uviewui.com/ \\n\\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;');\r\n}\r\n\r\nexport default {\r\n v: version,\r\n version,\r\n // 主题名称\r\n type: [\r\n 'primary',\r\n 'success',\r\n 'info',\r\n 'error',\r\n 'warning'\r\n ],\r\n // 颜色部分本来可以通过scss的:export导出供js使用但是奈何nvue不支持\r\n color: {\r\n 'u-primary': '#2979ff',\r\n 'u-warning': '#ff9900',\r\n 'u-success': '#19be6b',\r\n 'u-error': '#fa3534',\r\n 'u-info': '#909399',\r\n 'u-main-color': '#303133',\r\n 'u-content-color': '#606266',\r\n 'u-tips-color': '#909399',\r\n 'u-light-color': '#c0c4cc'\r\n },\r\n\t// 默认单位可以通过配置为rpx那么在用于传入组件大小参数为数值时就默认为rpx\r\n\tunit: 'px'\r\n}\r\n","/**\r\n * 此文件的作用为统一配置所有组件的props参数\r\n * 借此用户可以全局覆盖组件的props默认值\r\n * 无需在每个引入组件的页面中都配置一次\r\n */\r\nimport config from './config'\r\n\r\nimport actionSheet from './props/actionSheet.js'\r\nimport album from './props/album.js'\r\nimport alert from './props/alert.js'\r\nimport avatar from './props/avatar'\r\nimport avatarGroup from './props/avatarGroup'\r\nimport backtop from './props/backtop'\r\nimport badge from './props/badge'\r\nimport button from './props/button'\r\nimport calendar from './props/calendar'\r\nimport carKeyboard from './props/carKeyboard'\r\nimport cell from './props/cell'\r\nimport cellGroup from './props/cellGroup'\r\nimport checkbox from './props/checkbox'\r\nimport checkboxGroup from './props/checkboxGroup'\r\nimport circleProgress from './props/circleProgress'\r\nimport code from './props/code'\r\nimport codeInput from './props/codeInput'\r\nimport col from './props/col'\r\nimport collapse from './props/collapse'\r\nimport collapseItem from './props/collapseItem'\r\nimport columnNotice from './props/columnNotice'\r\nimport countDown from './props/countDown'\r\nimport countTo from './props/countTo'\r\nimport datetimePicker from './props/datetimePicker'\r\nimport divider from './props/divider'\r\nimport empty from './props/empty'\r\nimport form from './props/form'\r\nimport formItem from './props/formItem'\r\nimport gap from './props/gap'\r\nimport grid from './props/grid'\r\nimport gridItem from './props/gridItem'\r\nimport icon from './props/icon'\r\nimport image from './props/image'\r\nimport indexAnchor from './props/indexAnchor'\r\nimport indexList from './props/indexList'\r\nimport input from './props/input'\r\nimport keyboard from './props/keyboard'\r\nimport line from './props/line'\r\nimport lineProgress from './props/lineProgress'\r\nimport link from './props/link'\r\nimport list from './props/list'\r\nimport listItem from './props/listItem'\r\nimport loadingIcon from './props/loadingIcon'\r\nimport loadingPage from './props/loadingPage'\r\nimport loadmore from './props/loadmore'\r\nimport modal from './props/modal'\r\nimport navbar from './props/navbar'\r\nimport noNetwork from './props/noNetwork'\r\nimport noticeBar from './props/noticeBar'\r\nimport notify from './props/notify'\r\nimport numberBox from './props/numberBox'\r\nimport numberKeyboard from './props/numberKeyboard'\r\nimport overlay from './props/overlay'\r\nimport parse from './props/parse'\r\nimport picker from './props/picker'\r\nimport popup from './props/popup'\r\nimport radio from './props/radio'\r\nimport radioGroup from './props/radioGroup'\r\nimport rate from './props/rate'\r\nimport readMore from './props/readMore'\r\nimport row from './props/row'\r\nimport rowNotice from './props/rowNotice'\r\nimport scrollList from './props/scrollList'\r\nimport search from './props/search'\r\nimport section from './props/section'\r\nimport skeleton from './props/skeleton'\r\nimport slider from './props/slider'\r\nimport statusBar from './props/statusBar'\r\nimport steps from './props/steps'\r\nimport stepsItem from './props/stepsItem'\r\nimport sticky from './props/sticky'\r\nimport subsection from './props/subsection'\r\nimport swipeAction from './props/swipeAction'\r\nimport swipeActionItem from './props/swipeActionItem'\r\nimport swiper from './props/swiper'\r\nimport swipterIndicator from './props/swipterIndicator'\r\nimport _switch from './props/switch'\r\nimport tabbar from './props/tabbar'\r\nimport tabbarItem from './props/tabbarItem'\r\nimport tabs from './props/tabs'\r\nimport tag from './props/tag'\r\nimport text from './props/text'\r\nimport textarea from './props/textarea'\r\nimport toast from './props/toast'\r\nimport toolbar from './props/toolbar'\r\nimport tooltip from './props/tooltip'\r\nimport transition from './props/transition'\r\nimport upload from './props/upload'\r\n\r\nconst {\r\n color\r\n} = config\r\n\r\nexport default {\r\n ...actionSheet,\r\n ...album,\r\n ...alert,\r\n ...avatar,\r\n ...avatarGroup,\r\n ...backtop,\r\n ...badge,\r\n ...button,\r\n ...calendar,\r\n ...carKeyboard,\r\n ...cell,\r\n ...cellGroup,\r\n ...checkbox,\r\n ...checkboxGroup,\r\n ...circleProgress,\r\n ...code,\r\n ...codeInput,\r\n ...col,\r\n ...collapse,\r\n ...collapseItem,\r\n ...columnNotice,\r\n ...countDown,\r\n ...countTo,\r\n ...datetimePicker,\r\n ...divider,\r\n ...empty,\r\n ...form,\r\n ...formItem,\r\n ...gap,\r\n ...grid,\r\n ...gridItem,\r\n ...icon,\r\n ...image,\r\n ...indexAnchor,\r\n ...indexList,\r\n ...input,\r\n ...keyboard,\r\n ...line,\r\n ...lineProgress,\r\n ...link,\r\n ...list,\r\n ...listItem,\r\n ...loadingIcon,\r\n ...loadingPage,\r\n ...loadmore,\r\n ...modal,\r\n ...navbar,\r\n ...noNetwork,\r\n ...noticeBar,\r\n ...notify,\r\n ...numberBox,\r\n ...numberKeyboard,\r\n ...overlay,\r\n ...parse,\r\n ...picker,\r\n ...popup,\r\n ...radio,\r\n ...radioGroup,\r\n ...rate,\r\n ...readMore,\r\n ...row,\r\n ...rowNotice,\r\n ...scrollList,\r\n ...search,\r\n ...section,\r\n ...skeleton,\r\n ...slider,\r\n ...statusBar,\r\n ...steps,\r\n ...stepsItem,\r\n ...sticky,\r\n ...subsection,\r\n ...swipeAction,\r\n ...swipeActionItem,\r\n ...swiper,\r\n ...swipterIndicator,\r\n ..._switch,\r\n ...tabbar,\r\n ...tabbarItem,\r\n ...tabs,\r\n ...tag,\r\n ...text,\r\n ...textarea,\r\n ...toast,\r\n ...toolbar,\r\n ...tooltip,\r\n ...transition,\r\n ...upload\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:44:35\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/actionSheet.js\r\n */\r\nexport default {\r\n // action-sheet组件\r\n actionSheet: {\r\n show: false,\r\n title: '',\r\n description: '',\r\n actions: () => [],\r\n index: '',\r\n cancelText: '',\r\n closeOnClickAction: true,\r\n safeAreaInsetBottom: true,\r\n openType: '',\r\n closeOnClickOverlay: true,\r\n round: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:47:24\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/album.js\r\n */\r\nexport default {\r\n // album 组件\r\n album: {\r\n urls: () => [],\r\n keyName: '',\r\n singleSize: 180,\r\n multipleSize: 70,\r\n space: 6,\r\n singleMode: 'scaleToFill',\r\n multipleMode: 'aspectFill',\r\n maxCount: 9,\r\n previewFullImage: true,\r\n rowCount: 3,\r\n showMore: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:48:53\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/alert.js\r\n */\r\nexport default {\r\n // alert警告组件\r\n alert: {\r\n title: '',\r\n type: 'warning',\r\n description: '',\r\n closable: false,\r\n showIcon: false,\r\n effect: 'light',\r\n center: false,\r\n fontSize: 14\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:49:22\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatar.js\r\n */\r\nexport default {\r\n // avatar 组件\r\n avatar: {\r\n src: '',\r\n shape: 'circle',\r\n size: 40,\r\n mode: 'scaleToFill',\r\n text: '',\r\n bgColor: '#c0c4cc',\r\n color: '#ffffff',\r\n fontSize: 18,\r\n icon: '',\r\n mpAvatar: false,\r\n randomBgColor: false,\r\n defaultUrl: '',\r\n colorIndex: '',\r\n name: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:49:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatarGroup.js\r\n */\r\nexport default {\r\n // avatarGroup 组件\r\n avatarGroup: {\r\n urls: () => [],\r\n maxCount: 5,\r\n shape: 'circle',\r\n mode: 'scaleToFill',\r\n showMore: true,\r\n size: 40,\r\n keyName: '',\r\n gap: 0.5,\r\n\t\textraValue: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:50:18\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/backtop.js\r\n */\r\nexport default {\r\n // backtop组件\r\n backtop: {\r\n mode: 'circle',\r\n icon: 'arrow-upward',\r\n text: '',\r\n duration: 100,\r\n scrollTop: 0,\r\n top: 400,\r\n bottom: 100,\r\n right: 20,\r\n zIndex: 9,\r\n iconStyle: () => ({\r\n color: '#909399',\r\n fontSize: '19px'\r\n })\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-23 19:51:50\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/badge.js\r\n */\r\nexport default {\r\n // 徽标数组件\r\n badge: {\r\n isDot: false,\r\n value: '',\r\n show: true,\r\n max: 999,\r\n type: 'error',\r\n showZero: false,\r\n bgColor: null,\r\n color: null,\r\n shape: 'circle',\r\n numberType: 'overflow',\r\n offset: () => [],\r\n inverted: false,\r\n absolute: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:51:27\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/button.js\r\n */\r\nexport default {\r\n // button组件\r\n button: {\r\n hairline: false,\r\n type: 'info',\r\n size: 'normal',\r\n shape: 'square',\r\n plain: false,\r\n disabled: false,\r\n loading: false,\r\n loadingText: '',\r\n loadingMode: 'spinner',\r\n loadingSize: 15,\r\n openType: '',\r\n formType: '',\r\n appParameter: '',\r\n hoverStopPropagation: true,\r\n lang: 'en',\r\n sessionFrom: '',\r\n sendMessageTitle: '',\r\n sendMessagePath: '',\r\n sendMessageImg: '',\r\n showMessageCard: false,\r\n dataName: '',\r\n throttleTime: 0,\r\n hoverStartTime: 0,\r\n hoverStayTime: 200,\r\n text: '',\r\n icon: '',\r\n iconColor: '',\r\n color: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:52:43\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/calendar.js\r\n */\r\nexport default {\r\n // calendar 组件\r\n calendar: {\r\n title: '日期选择',\r\n showTitle: true,\r\n showSubtitle: true,\r\n mode: 'single',\r\n startText: '开始',\r\n endText: '结束',\r\n customList: () => [],\r\n color: '#3c9cff',\r\n minDate: 0,\r\n maxDate: 0,\r\n defaultDate: null,\r\n maxCount: Number.MAX_SAFE_INTEGER, // Infinity\r\n rowHeight: 56,\r\n formatter: null,\r\n showLunar: false,\r\n showMark: true,\r\n confirmText: '确定',\r\n confirmDisabledText: '确定',\r\n show: false,\r\n closeOnClickOverlay: false,\r\n readonly: false,\r\n showConfirm: true,\r\n maxRange: Number.MAX_SAFE_INTEGER, // Infinity\r\n rangePrompt: '',\r\n showRangePrompt: true,\r\n allowSameDay: false,\r\n\t\tround: 0,\r\n\t\tmonthNum: 3\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:53:20\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/carKeyboard.js\r\n */\r\nexport default {\r\n // 车牌号键盘\r\n carKeyboard: {\r\n random: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-23 20:53:09\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/cell.js\r\n */\r\nexport default {\r\n\t// cell组件的props\r\n\tcell: {\r\n\t\tcustomClass: '',\r\n\t\ttitle: '',\r\n\t\tlabel: '',\r\n\t\tvalue: '',\r\n\t\ticon: '',\r\n\t\tdisabled: false,\r\n\t\tborder: true,\r\n\t\tcenter: false,\r\n\t\turl: '',\r\n\t\tlinkType: 'navigateTo',\r\n\t\tclickable: false,\r\n\t\tisLink: false,\r\n\t\trequired: false,\r\n\t\tarrowDirection: '',\r\n\t\ticonStyle: {},\r\n\t\trightIconStyle: {},\r\n\t\trightIcon: 'arrow-right',\r\n\t\ttitleStyle: {},\r\n\t\tsize: '',\r\n\t\tstop: true,\r\n\t\tname: ''\r\n\t}\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:54:16\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/cellGroup.js\r\n */\r\nexport default {\r\n // cell-group组件的props\r\n cellGroup: {\r\n title: '',\r\n border: true,\r\n customStyle: {}\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-23 21:06:59\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/checkbox.js\r\n */\r\nexport default {\r\n // checkbox组件\r\n checkbox: {\r\n name: '',\r\n shape: '',\r\n size: '',\r\n checkbox: false,\r\n disabled: '',\r\n activeColor: '',\r\n inactiveColor: '',\r\n iconSize: '',\r\n iconColor: '',\r\n label: '',\r\n labelSize: '',\r\n labelColor: '',\r\n labelDisabled: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:54:47\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/checkboxGroup.js\r\n */\r\nexport default {\r\n // checkbox-group组件\r\n checkboxGroup: {\r\n name: '',\r\n value: () => [],\r\n shape: 'square',\r\n disabled: false,\r\n activeColor: '#2979ff',\r\n inactiveColor: '#c8c9cc',\r\n size: 18,\r\n placement: 'row',\r\n labelSize: 14,\r\n labelColor: '#303133',\r\n labelDisabled: false,\r\n iconColor: '#ffffff',\r\n iconSize: 12,\r\n iconPlacement: 'left',\r\n borderBottom: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:55:02\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/circleProgress.js\r\n */\r\nexport default {\r\n // circleProgress 组件\r\n circleProgress: {\r\n percentage: 30\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:55:27\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/code.js\r\n */\r\n\r\nexport default {\r\n // code 组件\r\n code: {\r\n seconds: 60,\r\n startText: '获取验证码',\r\n changeText: 'X秒重新获取',\r\n endText: '重新获取',\r\n keepRunning: false,\r\n uniqueKey: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:55:58\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/codeInput.js\r\n */\r\nexport default {\r\n // codeInput 组件\r\n codeInput: {\r\n\t\tadjustPosition: true,\r\n maxlength: 6,\r\n dot: false,\r\n mode: 'box',\r\n hairline: false,\r\n space: 10,\r\n value: '',\r\n focus: false,\r\n bold: false,\r\n color: '#606266',\r\n fontSize: 18,\r\n size: 35,\r\n disabledKeyboard: false,\r\n borderColor: '#c9cacc',\r\n\t\tdisabledDot: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:56:12\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/col.js\r\n */\r\nexport default {\r\n // col 组件\r\n col: {\r\n span: 12,\r\n offset: 0,\r\n justify: 'start',\r\n align: 'stretch',\r\n textAlign: 'left'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:56:30\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/collapse.js\r\n */\r\nexport default {\r\n // collapse 组件\r\n collapse: {\r\n value: null,\r\n accordion: false,\r\n border: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:56:42\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/collapseItem.js\r\n */\r\nexport default {\r\n // collapseItem 组件\r\n collapseItem: {\r\n title: '',\r\n value: '',\r\n label: '',\r\n disabled: false,\r\n isLink: true,\r\n clickable: true,\r\n border: true,\r\n align: 'left',\r\n name: '',\r\n icon: '',\r\n duration: 300\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:57:16\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/columnNotice.js\r\n */\r\nexport default {\r\n // columnNotice 组件\r\n columnNotice: {\r\n text: '',\r\n icon: 'volume',\r\n mode: '',\r\n color: '#f9ae3d',\r\n bgColor: '#fdf6ec',\r\n fontSize: 14,\r\n speed: 80,\r\n step: false,\r\n duration: 1500,\r\n disableTouch: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:11:29\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/countDown.js\r\n */\r\nexport default {\r\n // u-count-down 计时器组件\r\n countDown: {\r\n time: 0,\r\n format: 'HH:mm:ss',\r\n autoStart: true,\r\n millisecond: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:57:32\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/countTo.js\r\n */\r\nexport default {\r\n // countTo 组件\r\n countTo: {\r\n startVal: 0,\r\n endVal: 0,\r\n duration: 2000,\r\n autoplay: true,\r\n decimals: 0,\r\n useEasing: true,\r\n decimal: '.',\r\n color: '#606266',\r\n fontSize: 22,\r\n bold: false,\r\n separator: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:57:48\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/datetimePicker.js\r\n */\r\nexport default {\r\n // datetimePicker 组件\r\n datetimePicker: {\r\n show: false,\r\n showToolbar: true,\r\n value: '',\r\n title: '',\r\n mode: 'datetime',\r\n maxDate: new Date(new Date().getFullYear() + 10, 0, 1).getTime(),\r\n minDate: new Date(new Date().getFullYear() - 10, 0, 1).getTime(),\r\n minHour: 0,\r\n maxHour: 23,\r\n minMinute: 0,\r\n maxMinute: 59,\r\n filter: null,\r\n formatter: null,\r\n loading: false,\r\n itemHeight: 44,\r\n cancelText: '取消',\r\n confirmText: '确认',\r\n cancelColor: '#909193',\r\n confirmColor: '#3c9cff',\r\n visibleItemCount: 5,\r\n closeOnClickOverlay: false,\r\n defaultIndex: () => []\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:58:03\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/divider.js\r\n */\r\nexport default {\r\n // divider组件\r\n divider: {\r\n dashed: false,\r\n hairline: true,\r\n dot: false,\r\n textPosition: 'center',\r\n text: '',\r\n textSize: 14,\r\n textColor: '#909399',\r\n lineColor: '#dcdfe6'\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:03:27\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/empty.js\r\n */\r\nexport default {\r\n // empty组件\r\n empty: {\r\n icon: '',\r\n text: '',\r\n textColor: '#c0c4cc',\r\n textSize: 14,\r\n iconColor: '#c0c4cc',\r\n iconSize: 90,\r\n mode: 'data',\r\n width: 160,\r\n height: 160,\r\n show: true,\r\n marginTop: 0\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:03:49\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/form.js\r\n */\r\nexport default {\r\n // form 组件\r\n form: {\r\n model: () => ({}),\r\n rules: () => ({}),\r\n errorType: 'message',\r\n borderBottom: true,\r\n labelPosition: 'left',\r\n labelWidth: 45,\r\n labelAlign: 'left',\r\n labelStyle: () => ({})\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:04:32\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/formItem.js\r\n */\r\nexport default {\r\n // formItem 组件\r\n formItem: {\r\n label: '',\r\n prop: '',\r\n borderBottom: '',\r\n labelPosition: '',\r\n labelWidth: '',\r\n rightIcon: '',\r\n leftIcon: '',\r\n required: false,\r\n leftIconStyle: '',\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:05:25\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/gap.js\r\n */\r\nexport default {\r\n // gap组件\r\n gap: {\r\n bgColor: 'transparent',\r\n height: 20,\r\n marginTop: 0,\r\n marginBottom: 0,\r\n customStyle: {}\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:05:57\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/grid.js\r\n */\r\nexport default {\r\n // grid组件\r\n grid: {\r\n col: 3,\r\n border: false,\r\n align: 'left'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:06:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/gridItem.js\r\n */\r\nexport default {\r\n // grid-item组件\r\n gridItem: {\r\n name: null,\r\n bgColor: 'transparent'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 18:00:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/icon.js\r\n */\r\nimport config from '../config'\r\n\r\nconst {\r\n color\r\n} = config\r\nexport default {\r\n // icon组件\r\n icon: {\r\n name: '',\r\n color: color['u-content-color'],\r\n size: '16px',\r\n bold: false,\r\n index: '',\r\n hoverClass: '',\r\n customPrefix: 'uicon',\r\n label: '',\r\n labelPos: 'right',\r\n labelSize: '15px',\r\n labelColor: color['u-content-color'],\r\n space: '3px',\r\n imgMode: '',\r\n width: '',\r\n height: '',\r\n top: 0,\r\n stop: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:01:51\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/image.js\r\n */\r\nexport default {\r\n // image组件\r\n image: {\r\n src: '',\r\n mode: 'aspectFill',\r\n width: '300',\r\n height: '225',\r\n shape: 'square',\r\n radius: 0,\r\n lazyLoad: true,\r\n showMenuByLongpress: true,\r\n loadingIcon: 'photo',\r\n errorIcon: 'error-circle',\r\n showLoading: true,\r\n showError: true,\r\n fade: true,\r\n webp: false,\r\n duration: 500,\r\n bgColor: '#f3f4f6'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:13:15\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexAnchor.js\r\n */\r\nexport default {\r\n // indexAnchor 组件\r\n indexAnchor: {\r\n text: '',\r\n color: '#606266',\r\n size: 14,\r\n bgColor: '#dedede',\r\n height: 32\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:13:35\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexList.js\r\n */\r\nexport default {\r\n // indexList 组件\r\n indexList: {\r\n inactiveColor: '#606266',\r\n activeColor: '#5677fc',\r\n indexList: () => [],\r\n sticky: true,\r\n customNavHeight: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:13:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/input.js\r\n */\r\nexport default {\r\n\t// index 组件\r\n\tinput: {\r\n\t\tvalue: '',\r\n\t\ttype: 'text',\r\n\t\tfixed: false,\r\n\t\tdisabled: false,\r\n\t\tdisabledColor: '#f5f7fa',\r\n\t\tclearable: false,\r\n\t\tpassword: false,\r\n\t\tmaxlength: -1,\r\n\t\tplaceholder: null,\r\n\t\tplaceholderClass: 'input-placeholder',\r\n\t\tplaceholderStyle: 'color: #c0c4cc',\r\n\t\tshowWordLimit: false,\r\n\t\tconfirmType: 'done',\r\n\t\tconfirmHold: false,\r\n\t\tholdKeyboard: false,\r\n\t\tfocus: false,\r\n\t\tautoBlur: false,\r\n\t\tdisableDefaultPadding: false,\r\n\t\tcursor: -1,\r\n\t\tcursorSpacing: 30,\r\n\t\tselectionStart: -1,\r\n\t\tselectionEnd: -1,\r\n\t\tadjustPosition: true,\r\n\t\tinputAlign: 'left',\r\n\t\tfontSize: '15px',\r\n\t\tcolor: '#303133',\r\n\t\tprefixIcon: '',\r\n\t\tprefixIconStyle: '',\r\n\t\tsuffixIcon: '',\r\n\t\tsuffixIconStyle: '',\r\n\t\tborder: 'surround',\r\n\t\treadonly: false,\r\n\t\tshape: 'square',\r\n\t\tformatter: null\r\n\t}\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:07:49\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/keyboard.js\r\n */\r\nexport default {\r\n // 键盘组件\r\n keyboard: {\r\n mode: 'number',\r\n dotDisabled: false,\r\n tooltip: true,\r\n showTips: true,\r\n tips: '',\r\n showCancel: true,\r\n showConfirm: true,\r\n random: false,\r\n safeAreaInsetBottom: true,\r\n closeOnClickOverlay: true,\r\n show: false,\r\n overlay: true,\r\n zIndex: 10075,\r\n cancelText: '取消',\r\n confirmText: '确定',\r\n autoChange: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:04:49\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/line.js\r\n */\r\nexport default {\r\n // line组件\r\n line: {\r\n color: '#d6d7d9',\r\n length: '100%',\r\n direction: 'row',\r\n hairline: true,\r\n margin: 0,\r\n dashed: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:14:11\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/lineProgress.js\r\n */\r\nexport default {\r\n // lineProgress 组件\r\n lineProgress: {\r\n activeColor: '#19be6b',\r\n inactiveColor: '#ececec',\r\n percentage: 0,\r\n showText: true,\r\n height: 12\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:45:36\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/link.js\r\n */\r\nimport config from '../config'\r\n\r\nconst {\r\n color\r\n} = config\r\nexport default {\r\n // link超链接组件props参数\r\n link: {\r\n color: color['u-primary'],\r\n fontSize: 15,\r\n underLine: false,\r\n href: '',\r\n mpTips: '链接已复制,请在浏览器打开',\r\n lineColor: '',\r\n text: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:14:53\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/list.js\r\n */\r\nexport default {\r\n // list 组件\r\n list: {\r\n showScrollbar: false,\r\n lowerThreshold: 50,\r\n upperThreshold: 0,\r\n scrollTop: 0,\r\n offsetAccuracy: 10,\r\n enableFlex: false,\r\n pagingEnabled: false,\r\n scrollable: true,\r\n scrollIntoView: '',\r\n scrollWithAnimation: false,\r\n enableBackToTop: false,\r\n height: 0,\r\n width: 0,\r\n preLoadScreen: 1\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:15:40\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/listItem.js\r\n */\r\nexport default {\r\n // listItem 组件\r\n listItem: {\r\n anchor: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:45:47\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingIcon.js\r\n */\r\nimport config from '../config'\r\n\r\nconst {\r\n color\r\n} = config\r\nexport default {\r\n // loading-icon加载中图标组件\r\n loadingIcon: {\r\n show: true,\r\n color: color['u-tips-color'],\r\n textColor: color['u-tips-color'],\r\n vertical: false,\r\n mode: 'spinner',\r\n size: 24,\r\n textSize: 15,\r\n text: '',\r\n timingFunction: 'ease-in-out',\r\n duration: 1200,\r\n inactiveColor: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:00:23\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingPage.js\r\n */\r\nexport default {\r\n // loading-page组件\r\n loadingPage: {\r\n loadingText: '正在加载',\r\n image: '',\r\n loadingMode: 'circle',\r\n loading: false,\r\n bgColor: '#ffffff',\r\n color: '#C8C8C8',\r\n fontSize: 19,\r\n iconSize: 28,\r\n loadingColor: '#C8C8C8'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:15:26\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadmore.js\r\n */\r\nexport default {\r\n // loadmore 组件\r\n loadmore: {\r\n status: 'loadmore',\r\n bgColor: 'transparent',\r\n icon: true,\r\n fontSize: 14,\r\n\t\ticonSize: 17,\r\n color: '#606266',\r\n loadingIcon: 'spinner',\r\n loadmoreText: '加载更多',\r\n loadingText: '正在加载...',\r\n nomoreText: '没有更多了',\r\n isDot: false,\r\n iconColor: '#b7b7b7',\r\n marginTop: 10,\r\n marginBottom: 10,\r\n height: 'auto',\r\n line: false,\r\n\t\tlineColor: '#E6E8EB',\r\n\t\tdashed: false,\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:15:59\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/modal.js\r\n */\r\nexport default {\r\n // modal 组件\r\n modal: {\r\n show: false,\r\n title: '',\r\n content: '',\r\n confirmText: '确认',\r\n cancelText: '取消',\r\n showConfirmButton: true,\r\n showCancelButton: false,\r\n confirmColor: '#2979ff',\r\n cancelColor: '#606266',\r\n buttonReverse: false,\r\n zoom: true,\r\n asyncClose: false,\r\n closeOnClickOverlay: false,\r\n negativeTop: 0,\r\n width: '650rpx',\r\n confirmButtonShape: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:16:18\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/navbar.js\r\n */\r\nimport color from '../color'\r\nexport default {\r\n // navbar 组件\r\n navbar: {\r\n safeAreaInsetTop: true,\r\n placeholder: false,\r\n fixed: true,\r\n border: false,\r\n leftIcon: 'arrow-left',\r\n leftText: '',\r\n rightText: '',\r\n rightIcon: '',\r\n title: '',\r\n bgColor: '#ffffff',\r\n titleWidth: '400rpx',\r\n height: '44px',\r\n\t\tleftIconSize: 20,\r\n\t\tleftIconColor: color.mainColor,\r\n\t\tautoBack: false,\r\n\t\ttitleStyle: ''\r\n }\r\n\r\n}\r\n","// 为了让用户能够自定义主题会逐步弃用此文件各颜色通过css提供\r\n// 为了给某些特殊场景使用和向后兼容,无需删除此文件(2020-06-20)\r\nconst color = {\r\n primary: '#3c9cff',\r\n info: '#909399',\r\n default: '#909399',\r\n warning: '#f9ae3d',\r\n error: '#f56c6c',\r\n success: '#5ac725',\r\n mainColor: '#303133',\r\n contentColor: '#606266',\r\n tipsColor: '#909399',\r\n lightColor: '#c0c4cc',\r\n borderColor: '#e4e7ed'\r\n}\r\n\r\nexport default color\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:16:39\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/noNetwork.js\r\n */\r\nexport default {\r\n // noNetwork\r\n noNetwork: {\r\n tips: '哎呀,网络信号丢失',\r\n zIndex: '',\r\n image: 'data:image/png;base64,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'\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:17:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/noticeBar.js\r\n */\r\nexport default {\r\n // noticeBar\r\n noticeBar: {\r\n text: () => [],\r\n direction: 'row',\r\n step: false,\r\n icon: 'volume',\r\n mode: '',\r\n color: '#f9ae3d',\r\n bgColor: '#fdf6ec',\r\n speed: 80,\r\n fontSize: 14,\r\n duration: 2000,\r\n disableTouch: true,\r\n url: '',\r\n linkType: 'navigateTo'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:10:21\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/notify.js\r\n */\r\nexport default {\r\n // notify组件\r\n notify: {\r\n top: 0,\r\n type: 'primary',\r\n color: '#ffffff',\r\n bgColor: '',\r\n message: '',\r\n duration: 3000,\r\n fontSize: 15,\r\n safeAreaInsetTop: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:11:46\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/numberBox.js\r\n */\r\nexport default {\r\n // 步进器组件\r\n numberBox: {\r\n name: '',\r\n value: 0,\r\n min: 1,\r\n max: Number.MAX_SAFE_INTEGER,\r\n step: 1,\r\n integer: false,\r\n disabled: false,\r\n disabledInput: false,\r\n asyncChange: false,\r\n inputWidth: 35,\r\n showMinus: true,\r\n showPlus: true,\r\n decimalLength: null,\r\n longPress: true,\r\n color: '#323233',\r\n buttonSize: 30,\r\n bgColor: '#EBECEE',\r\n cursorSpacing: 100,\r\n disableMinus: false,\r\n disablePlus: false,\r\n iconStyle: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:08:05\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/numberKeyboard.js\r\n */\r\nexport default {\r\n // 数字键盘\r\n numberKeyboard: {\r\n mode: 'number',\r\n dotDisabled: false,\r\n random: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:06:50\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/overlay.js\r\n */\r\nexport default {\r\n // overlay组件\r\n overlay: {\r\n show: false,\r\n zIndex: 10070,\r\n duration: 300,\r\n opacity: 0.5\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:17:33\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/parse.js\r\n */\r\nexport default {\r\n // parse\r\n parse: {\r\n copyLink: true,\r\n errorImg: '',\r\n lazyLoad: false,\r\n loadingImg: '',\r\n pauseVideo: true,\r\n previewImg: true,\r\n setTitle: true,\r\n showImgMenu: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:18:20\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/picker.js\r\n */\r\nexport default {\r\n // picker\r\n picker: {\r\n show: false,\r\n showToolbar: true,\r\n title: '',\r\n columns: () => [],\r\n loading: false,\r\n itemHeight: 44,\r\n cancelText: '取消',\r\n confirmText: '确定',\r\n cancelColor: '#909193',\r\n confirmColor: '#3c9cff',\r\n visibleItemCount: 5,\r\n keyName: 'text',\r\n closeOnClickOverlay: false,\r\n defaultIndex: () => [],\r\n\t\timmediateChange: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:06:33\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/popup.js\r\n */\r\nexport default {\r\n // popup组件\r\n popup: {\r\n show: false,\r\n overlay: true,\r\n mode: 'bottom',\r\n duration: 300,\r\n closeable: false,\r\n overlayStyle: () => {},\r\n closeOnClickOverlay: true,\r\n zIndex: 10075,\r\n safeAreaInsetBottom: true,\r\n safeAreaInsetTop: false,\r\n closeIconPos: 'top-right',\r\n round: 0,\r\n zoom: true,\r\n bgColor: '',\r\n overlayOpacity: 0.5\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:02:34\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/radio.js\r\n */\r\nexport default {\r\n // radio组件\r\n radio: {\r\n name: '',\r\n shape: '',\r\n disabled: '',\r\n labelDisabled: '',\r\n activeColor: '',\r\n inactiveColor: '',\r\n iconSize: '',\r\n labelSize: '',\r\n label: '',\r\n labelColor: '',\r\n size: '',\r\n iconColor: '',\r\n placement: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:03:12\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/radioGroup.js\r\n */\r\nexport default {\r\n // radio-group组件\r\n radioGroup: {\r\n value: '',\r\n disabled: false,\r\n shape: 'circle',\r\n activeColor: '#2979ff',\r\n inactiveColor: '#c8c9cc',\r\n name: '',\r\n size: 18,\r\n placement: 'row',\r\n label: '',\r\n labelColor: '#303133',\r\n labelSize: 14,\r\n labelDisabled: false,\r\n iconColor: '#ffffff',\r\n iconSize: 12,\r\n borderBottom: false,\r\n iconPlacement: 'left'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:05:09\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/rate.js\r\n */\r\nexport default {\r\n // rate组件\r\n rate: {\r\n value: 1,\r\n count: 5,\r\n disabled: false,\r\n size: 18,\r\n inactiveColor: '#b2b2b2',\r\n activeColor: '#FA3534',\r\n gutter: 4,\r\n minCount: 1,\r\n allowHalf: false,\r\n activeIcon: 'star-fill',\r\n inactiveIcon: 'star',\r\n touchable: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:18:41\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/readMore.js\r\n */\r\nexport default {\r\n // readMore\r\n readMore: {\r\n showHeight: 400,\r\n toggle: false,\r\n closeText: '展开阅读全文',\r\n openText: '收起',\r\n color: '#2979ff',\r\n fontSize: 14,\r\n textIndent: '2em',\r\n name: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:18:58\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/row.js\r\n */\r\nexport default {\r\n // row\r\n row: {\r\n gutter: 0,\r\n justify: 'start',\r\n align: 'center'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:19:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/rowNotice.js\r\n */\r\nexport default {\r\n // rowNotice\r\n rowNotice: {\r\n text: '',\r\n icon: 'volume',\r\n mode: '',\r\n color: '#f9ae3d',\r\n bgColor: '#fdf6ec',\r\n fontSize: 14,\r\n speed: 80\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:19:28\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/scrollList.js\r\n */\r\nexport default {\r\n // scrollList\r\n scrollList: {\r\n indicatorWidth: 50,\r\n indicatorBarWidth: 20,\r\n indicator: true,\r\n indicatorColor: '#f2f2f2',\r\n indicatorActiveColor: '#3c9cff',\r\n indicatorStyle: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:19:45\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/search.js\r\n */\r\nexport default {\r\n // search\r\n search: {\r\n shape: 'round',\r\n bgColor: '#f2f2f2',\r\n placeholder: '请输入关键字',\r\n clearabled: true,\r\n focus: false,\r\n showAction: true,\r\n actionStyle: () => ({}),\r\n actionText: '搜索',\r\n inputAlign: 'left',\r\n inputStyle: () => ({}),\r\n disabled: false,\r\n borderColor: 'transparent',\r\n searchIconColor: '#909399',\r\n searchIconSize: 22,\r\n color: '#606266',\r\n placeholderColor: '#909399',\r\n searchIcon: 'search',\r\n margin: '0',\r\n animation: false,\r\n value: '',\r\n maxlength: '-1',\r\n height: 32,\r\n label: null\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:07:33\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/section.js\r\n */\r\nexport default {\r\n // u-section组件\r\n section: {\r\n title: '',\r\n subTitle: '更多',\r\n right: true,\r\n fontSize: 15,\r\n bold: true,\r\n color: '#303133',\r\n subColor: '#909399',\r\n showLine: true,\r\n lineColor: '',\r\n arrow: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:20:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/skeleton.js\r\n */\r\nexport default {\r\n // skeleton\r\n skeleton: {\r\n loading: true,\r\n animate: true,\r\n rows: 0,\r\n rowsWidth: '100%',\r\n rowsHeight: 18,\r\n title: true,\r\n titleWidth: '50%',\r\n titleHeight: 18,\r\n avatar: false,\r\n avatarSize: 32,\r\n avatarShape: 'circle'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:08:25\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/slider.js\r\n */\r\nexport default {\r\n // slider组件\r\n slider: {\r\n value: 0,\r\n blockSize: 18,\r\n min: 0,\r\n max: 100,\r\n step: 1,\r\n activeColor: '#2979ff',\r\n inactiveColor: '#c0c4cc',\r\n blockColor: '#ffffff',\r\n showValue: false,\r\n\t\tdisabled:false,\r\n blockStyle: () => {}\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:20:39\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/statusBar.js\r\n */\r\nexport default {\r\n // statusBar\r\n statusBar: {\r\n bgColor: 'transparent'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:12:37\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/steps.js\r\n */\r\nexport default {\r\n // steps组件\r\n steps: {\r\n direction: 'row',\r\n current: 0,\r\n activeColor: '#3c9cff',\r\n inactiveColor: '#969799',\r\n activeIcon: '',\r\n inactiveIcon: '',\r\n dot: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:12:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/stepsItem.js\r\n */\r\nexport default {\r\n // steps-item组件\r\n stepsItem: {\r\n title: '',\r\n desc: '',\r\n iconSize: 17,\r\n error: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:01:30\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/sticky.js\r\n */\r\nexport default {\r\n // sticky组件\r\n sticky: {\r\n offsetTop: 0,\r\n customNavHeight: 0,\r\n disabled: false,\r\n bgColor: 'transparent',\r\n zIndex: '',\r\n index: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:12:20\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/subsection.js\r\n */\r\nexport default {\r\n // subsection组件\r\n subsection: {\r\n list: [],\r\n current: 0,\r\n activeColor: '#3c9cff',\r\n inactiveColor: '#303133',\r\n mode: 'button',\r\n fontSize: 12,\r\n bold: true,\r\n bgColor: '#eeeeef',\r\n\t\tkeyName: 'name'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:00:42\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeAction.js\r\n */\r\nexport default {\r\n // swipe-action组件\r\n swipeAction: {\r\n autoClose: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:01:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeActionItem.js\r\n */\r\nexport default {\r\n // swipeActionItem 组件\r\n swipeActionItem: {\r\n show: false,\r\n name: '',\r\n disabled: false,\r\n threshold: 20,\r\n autoClose: true,\r\n options: [],\r\n duration: 300\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:21:38\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swiper.js\r\n */\r\nexport default {\r\n // swiper 组件\r\n swiper: {\r\n list: () => [],\r\n indicator: false,\r\n indicatorActiveColor: '#FFFFFF',\r\n indicatorInactiveColor: 'rgba(255, 255, 255, 0.35)',\r\n indicatorStyle: '',\r\n indicatorMode: 'line',\r\n autoplay: true,\r\n current: 0,\r\n currentItemId: '',\r\n interval: 3000,\r\n duration: 300,\r\n circular: false,\r\n previousMargin: 0,\r\n nextMargin: 0,\r\n acceleration: false,\r\n displayMultipleItems: 1,\r\n easingFunction: 'default',\r\n keyName: 'url',\r\n imgMode: 'aspectFill',\r\n height: 130,\r\n bgColor: '#f3f4f6',\r\n radius: 4,\r\n loading: false,\r\n showTitle: false\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:07\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swiperIndicator.js\r\n */\r\nexport default {\r\n // swiperIndicator 组件\r\n swiperIndicator: {\r\n length: 0,\r\n current: 0,\r\n indicatorActiveColor: '',\r\n indicatorInactiveColor: '',\r\n\t\tindicatorMode: 'line'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:24\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/switch.js\r\n */\r\nexport default {\r\n // switch\r\n switch: {\r\n loading: false,\r\n disabled: false,\r\n size: 25,\r\n activeColor: '#2979ff',\r\n inactiveColor: '#ffffff',\r\n value: false,\r\n activeValue: true,\r\n inactiveValue: false,\r\n asyncChange: false,\r\n space: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:40\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbar.js\r\n */\r\nexport default {\r\n // tabbar\r\n tabbar: {\r\n value: null,\r\n safeAreaInsetBottom: true,\r\n border: true,\r\n zIndex: 1,\r\n activeColor: '#1989fa',\r\n inactiveColor: '#7d7e80',\r\n fixed: true,\r\n placeholder: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbarItem.js\r\n */\r\nexport default {\r\n //\r\n tabbarItem: {\r\n name: null,\r\n icon: '',\r\n badge: null,\r\n dot: false,\r\n text: '',\r\n badgeStyle: 'top: 6px;right:2px;'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:23:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabs.js\r\n */\r\nexport default {\r\n //\r\n tabs: {\r\n duration: 300,\r\n list: () => [],\r\n lineColor: '#3c9cff',\r\n activeStyle: () => ({\r\n color: '#303133'\r\n }),\r\n inactiveStyle: () => ({\r\n color: '#606266'\r\n }),\r\n lineWidth: 20,\r\n lineHeight: 3,\r\n lineBgSize: 'cover',\r\n itemStyle: () => ({\r\n height: '44px'\r\n }),\r\n scrollable: true,\r\n\t\tcurrent: 0,\r\n\t\tkeyName: 'name'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:23:37\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tag.js\r\n */\r\nexport default {\r\n // tag 组件\r\n tag: {\r\n type: 'primary',\r\n disabled: false,\r\n size: 'medium',\r\n shape: 'square',\r\n text: '',\r\n bgColor: '',\r\n color: '',\r\n borderColor: '',\r\n closeColor: '#C6C7CB',\r\n name: '',\r\n plainFill: false,\r\n plain: false,\r\n closable: false,\r\n show: true,\r\n icon: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:23:58\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/text.js\r\n */\r\nexport default {\r\n // text 组件\r\n text: {\r\n type: '',\r\n show: true,\r\n text: '',\r\n prefixIcon: '',\r\n suffixIcon: '',\r\n mode: '',\r\n href: '',\r\n format: '',\r\n call: false,\r\n openType: '',\r\n bold: false,\r\n block: false,\r\n lines: '',\r\n color: '#303133',\r\n size: 15,\r\n iconStyle: () => ({\r\n fontSize: '15px'\r\n }),\r\n decoration: 'none',\r\n margin: 0,\r\n lineHeight: '',\r\n align: 'left',\r\n wordWrap: 'normal'\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:24:32\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/textarea.js\r\n */\r\nexport default {\r\n\t// textarea 组件\r\n\ttextarea: {\r\n\t\tvalue: '',\r\n\t\tplaceholder: '',\r\n\t\tplaceholderClass: 'textarea-placeholder',\r\n\t\tplaceholderStyle: 'color: #c0c4cc',\r\n\t\theight: 70,\r\n\t\tconfirmType: 'done',\r\n\t\tdisabled: false,\r\n\t\tcount: false,\r\n\t\tfocus: false,\r\n\t\tautoHeight: false,\r\n\t\tfixed: false,\r\n\t\tcursorSpacing: 0,\r\n\t\tcursor: '',\r\n\t\tshowConfirmBar: true,\r\n\t\tselectionStart: -1,\r\n\t\tselectionEnd: -1,\r\n\t\tadjustPosition: true,\r\n\t\tdisableDefaultPadding: false,\r\n\t\tholdKeyboard: false,\r\n\t\tmaxlength: 140,\r\n\t\tborder: 'surround',\r\n\t\tformatter: null\r\n\t}\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:07:07\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/toast.js\r\n */\r\nexport default {\r\n // toast组件\r\n toast: {\r\n zIndex: 10090,\r\n loading: false,\r\n text: '',\r\n icon: '',\r\n type: '',\r\n loadingMode: '',\r\n show: '',\r\n overlay: false,\r\n position: 'center',\r\n params: () => {},\r\n duration: 2000,\r\n isTab: false,\r\n url: '',\r\n callback: null,\r\n back: false\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:24:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/toolbar.js\r\n */\r\nexport default {\r\n // toolbar 组件\r\n toolbar: {\r\n show: true,\r\n cancelText: '取消',\r\n confirmText: '确认',\r\n cancelColor: '#909193',\r\n confirmColor: '#3c9cff',\r\n title: ''\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:25:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tooltip.js\r\n */\r\nexport default {\r\n // tooltip 组件\r\n tooltip: {\r\n text: '',\r\n copyText: '',\r\n size: 14,\r\n color: '#606266',\r\n bgColor: 'transparent',\r\n direction: 'top',\r\n zIndex: 10071,\r\n showCopy: true,\r\n buttons: () => [],\r\n overlay: true,\r\n showToast: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:59:00\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/transition.js\r\n */\r\nexport default {\r\n // transition动画组件的props\r\n transition: {\r\n show: false,\r\n mode: 'fade',\r\n duration: '300',\r\n timingFunction: 'ease-out'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:09:50\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/upload.js\r\n */\r\nexport default {\r\n\t// upload组件\r\n\tupload: {\r\n\t\taccept: 'image',\r\n\t\tcapture: () => ['album', 'camera'],\r\n\t\tcompressed: true,\r\n\t\tcamera: 'back',\r\n\t\tmaxDuration: 60,\r\n\t\tuploadIcon: 'camera-fill',\r\n\t\tuploadIconColor: '#D3D4D6',\r\n\t\tuseBeforeRead: false,\r\n\t\tpreviewFullImage: true,\r\n\t\tmaxCount: 52,\r\n\t\tdisabled: false,\r\n\t\timageMode: 'aspectFill',\r\n\t\tname: '',\r\n\t\tsizeType: () => ['original', 'compressed'],\r\n\t\tmultiple: false,\r\n\t\tdeletable: true,\r\n\t\tmaxSize: Number.MAX_VALUE,\r\n\t\tfileList: () => [],\r\n\t\tuploadText: '',\r\n\t\twidth: 80,\r\n\t\theight: 80,\r\n\t\tpreviewImage: true\r\n\t}\r\n}\r\n","// uniapp在H5中各API的z-index值如下\r\n/**\r\n * actionsheet: 999\r\n * modal: 999\r\n * navigate: 998\r\n * tabbar: 998\r\n * toast: 999\r\n */\r\n\r\nexport default {\r\n toast: 10090,\r\n noNetwork: 10080,\r\n // popup包含popupactionsheetkeyboardpicker的值\r\n popup: 10075,\r\n mask: 10070,\r\n navbar: 980,\r\n topTips: 975,\r\n sticky: 970,\r\n indexListSticky: 965\r\n}\r\n","/**\r\n * 注意:\r\n * 此部分内容在vue-cli模式下需要在vue.config.js加入如下内容才有效\r\n * module.exports = {\r\n * transpileDependencies: ['uview-v2']\r\n * }\r\n */\r\n\r\nlet platform = 'none'\r\n\r\n\r\n\r\n\r\n\r\n\r\nplatform = 'vue2'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nplatform = 'weixin'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nplatform = 'mp'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport default platform\r\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});","import store from '@/store'\r\nimport config from '@/config'\r\nimport { getToken } from '@/utils/auth'\r\nimport errorCode from '@/utils/errorCode'\r\nimport { toast, showConfirm, tansParams } from '@/utils/common'\r\n\r\nlet timeout = 10000\r\nconst baseUrl = config.baseUrl\r\n\r\nconst upload = config => {\r\n // 是否需要设置 token\r\n const isToken = (config.headers || {}).isToken === false\r\n config.header = config.header || {}\r\n if (getToken() && !isToken) {\r\n config.header['Authorization'] = 'Bearer ' + getToken()\r\n }\r\n // get请求映射params参数\r\n if (config.params) {\r\n let url = config.url + '?' + tansParams(config.params)\r\n url = url.slice(0, -1)\r\n config.url = url\r\n }\r\n return new Promise((resolve, reject) => {\r\n uni.uploadFile({\r\n timeout: config.timeout || timeout,\r\n url: baseUrl + config.url,\r\n filePath: config.filePath,\r\n name: config.name || 'file',\r\n header: config.header,\r\n formData: config.formData,\r\n success: (res) => {\r\n let result = JSON.parse(res.data)\r\n const code = result.code || 200\r\n const msg = errorCode[code] || result.msg || errorCode['default']\r\n if (code === 200) {\r\n resolve(result)\r\n } else if (code == 401) {\r\n showConfirm(\"登录状态已过期,您可以继续留在该页面,或者重新登录?\").then(res => {\r\n if (res.confirm) {\r\n store.dispatch('LogOut').then(res => {\r\n uni.reLaunch({ url: '/pages/login/login' })\r\n })\r\n }\r\n })\r\n reject('无效的会话,或者会话已过期,请重新登录。')\r\n } else if (code === 500) {\r\n toast(msg)\r\n reject('500')\r\n } else if (code !== 200) {\r\n toast(msg)\r\n reject(code)\r\n }\r\n },\r\n fail: (error) => {\r\n let { message } = error\r\n if (message == 'Network Error') {\r\n message = '后端接口连接异常'\r\n } else if (message.includes('timeout')) {\r\n message = '系统接口请求超时'\r\n } else if (message.includes('Request failed with status code')) {\r\n message = '系统接口' + message.substr(message.length - 3) + '异常'\r\n }\r\n toast(message)\r\n reject(error)\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport default upload\r\n","export default {\r\n \"id\": \"2852637\",\r\n \"name\": \"uniui图标库\",\r\n \"font_family\": \"uniicons\",\r\n \"css_prefix_text\": \"uniui-\",\r\n \"description\": \"\",\r\n \"glyphs\": [\r\n {\r\n \"icon_id\": \"25027049\",\r\n \"name\": \"yanse\",\r\n \"font_class\": \"color\",\r\n \"unicode\": \"e6cf\",\r\n \"unicode_decimal\": 59087\r\n },\r\n {\r\n \"icon_id\": \"25027048\",\r\n \"name\": \"wallet\",\r\n \"font_class\": \"wallet\",\r\n \"unicode\": \"e6b1\",\r\n \"unicode_decimal\": 59057\r\n },\r\n {\r\n \"icon_id\": \"25015720\",\r\n \"name\": \"settings-filled\",\r\n \"font_class\": \"settings-filled\",\r\n \"unicode\": \"e6ce\",\r\n \"unicode_decimal\": 59086\r\n },\r\n {\r\n \"icon_id\": \"25015434\",\r\n \"name\": \"shimingrenzheng-filled\",\r\n \"font_class\": \"auth-filled\",\r\n \"unicode\": \"e6cc\",\r\n \"unicode_decimal\": 59084\r\n },\r\n {\r\n \"icon_id\": \"24934246\",\r\n \"name\": \"shop-filled\",\r\n \"font_class\": \"shop-filled\",\r\n \"unicode\": \"e6cd\",\r\n \"unicode_decimal\": 59085\r\n },\r\n {\r\n \"icon_id\": \"24934159\",\r\n \"name\": \"staff-filled-01\",\r\n \"font_class\": \"staff-filled\",\r\n \"unicode\": \"e6cb\",\r\n \"unicode_decimal\": 59083\r\n },\r\n {\r\n \"icon_id\": \"24932461\",\r\n \"name\": \"VIP-filled\",\r\n \"font_class\": \"vip-filled\",\r\n \"unicode\": \"e6c6\",\r\n \"unicode_decimal\": 59078\r\n },\r\n {\r\n \"icon_id\": \"24932462\",\r\n \"name\": \"plus_circle_fill\",\r\n \"font_class\": \"plus-filled\",\r\n \"unicode\": \"e6c7\",\r\n \"unicode_decimal\": 59079\r\n },\r\n {\r\n \"icon_id\": \"24932463\",\r\n \"name\": \"folder_add-filled\",\r\n \"font_class\": \"folder-add-filled\",\r\n \"unicode\": \"e6c8\",\r\n \"unicode_decimal\": 59080\r\n },\r\n {\r\n \"icon_id\": \"24932464\",\r\n \"name\": \"yanse-filled\",\r\n \"font_class\": \"color-filled\",\r\n \"unicode\": \"e6c9\",\r\n \"unicode_decimal\": 59081\r\n },\r\n {\r\n \"icon_id\": \"24932465\",\r\n \"name\": \"tune-filled\",\r\n \"font_class\": \"tune-filled\",\r\n \"unicode\": \"e6ca\",\r\n \"unicode_decimal\": 59082\r\n },\r\n {\r\n \"icon_id\": \"24932455\",\r\n \"name\": \"a-rilidaka-filled\",\r\n \"font_class\": \"calendar-filled\",\r\n \"unicode\": \"e6c0\",\r\n \"unicode_decimal\": 59072\r\n },\r\n {\r\n \"icon_id\": \"24932456\",\r\n \"name\": \"notification-filled\",\r\n \"font_class\": \"notification-filled\",\r\n \"unicode\": \"e6c1\",\r\n \"unicode_decimal\": 59073\r\n },\r\n {\r\n \"icon_id\": \"24932457\",\r\n \"name\": \"wallet-filled\",\r\n \"font_class\": \"wallet-filled\",\r\n \"unicode\": \"e6c2\",\r\n \"unicode_decimal\": 59074\r\n },\r\n {\r\n \"icon_id\": \"24932458\",\r\n \"name\": \"paihangbang-filled\",\r\n \"font_class\": \"medal-filled\",\r\n \"unicode\": \"e6c3\",\r\n \"unicode_decimal\": 59075\r\n },\r\n {\r\n \"icon_id\": \"24932459\",\r\n \"name\": \"gift-filled\",\r\n \"font_class\": \"gift-filled\",\r\n \"unicode\": \"e6c4\",\r\n \"unicode_decimal\": 59076\r\n },\r\n {\r\n \"icon_id\": \"24932460\",\r\n \"name\": \"fire-filled\",\r\n \"font_class\": \"fire-filled\",\r\n \"unicode\": \"e6c5\",\r\n \"unicode_decimal\": 59077\r\n },\r\n {\r\n \"icon_id\": \"24928001\",\r\n \"name\": \"refreshempty\",\r\n \"font_class\": \"refreshempty\",\r\n \"unicode\": \"e6bf\",\r\n \"unicode_decimal\": 59071\r\n },\r\n {\r\n \"icon_id\": \"24926853\",\r\n \"name\": \"location-ellipse\",\r\n \"font_class\": \"location-filled\",\r\n \"unicode\": \"e6af\",\r\n \"unicode_decimal\": 59055\r\n },\r\n {\r\n \"icon_id\": \"24926735\",\r\n \"name\": \"person-filled\",\r\n \"font_class\": \"person-filled\",\r\n \"unicode\": \"e69d\",\r\n \"unicode_decimal\": 59037\r\n },\r\n {\r\n \"icon_id\": \"24926703\",\r\n \"name\": \"personadd-filled\",\r\n \"font_class\": \"personadd-filled\",\r\n \"unicode\": \"e698\",\r\n \"unicode_decimal\": 59032\r\n },\r\n {\r\n \"icon_id\": \"24923351\",\r\n \"name\": \"back\",\r\n \"font_class\": \"back\",\r\n \"unicode\": \"e6b9\",\r\n \"unicode_decimal\": 59065\r\n },\r\n {\r\n \"icon_id\": \"24923352\",\r\n \"name\": \"forward\",\r\n \"font_class\": \"forward\",\r\n \"unicode\": \"e6ba\",\r\n \"unicode_decimal\": 59066\r\n },\r\n {\r\n \"icon_id\": \"24923353\",\r\n \"name\": \"arrowthinright\",\r\n \"font_class\": \"arrow-right\",\r\n \"unicode\": \"e6bb\",\r\n \"unicode_decimal\": 59067\r\n },\r\n\t\t{\r\n\t\t \"icon_id\": \"24923353\",\r\n\t\t \"name\": \"arrowthinright\",\r\n\t\t \"font_class\": \"arrowthinright\",\r\n\t\t \"unicode\": \"e6bb\",\r\n\t\t \"unicode_decimal\": 59067\r\n\t\t},\r\n {\r\n \"icon_id\": \"24923354\",\r\n \"name\": \"arrowthinleft\",\r\n \"font_class\": \"arrow-left\",\r\n \"unicode\": \"e6bc\",\r\n \"unicode_decimal\": 59068\r\n },\r\n\t\t{\r\n\t\t \"icon_id\": \"24923354\",\r\n\t\t \"name\": \"arrowthinleft\",\r\n\t\t \"font_class\": \"arrowthinleft\",\r\n\t\t \"unicode\": \"e6bc\",\r\n\t\t \"unicode_decimal\": 59068\r\n\t\t},\r\n {\r\n \"icon_id\": \"24923355\",\r\n \"name\": \"arrowthinup\",\r\n \"font_class\": \"arrow-up\",\r\n \"unicode\": \"e6bd\",\r\n \"unicode_decimal\": 59069\r\n },\r\n\t\t{\r\n\t\t \"icon_id\": \"24923355\",\r\n\t\t \"name\": \"arrowthinup\",\r\n\t\t \"font_class\": \"arrowthinup\",\r\n\t\t \"unicode\": \"e6bd\",\r\n\t\t \"unicode_decimal\": 59069\r\n\t\t},\r\n {\r\n \"icon_id\": \"24923356\",\r\n \"name\": \"arrowthindown\",\r\n \"font_class\": \"arrow-down\",\r\n \"unicode\": \"e6be\",\r\n \"unicode_decimal\": 59070\r\n },{\r\n \"icon_id\": \"24923356\",\r\n \"name\": \"arrowthindown\",\r\n \"font_class\": \"arrowthindown\",\r\n \"unicode\": \"e6be\",\r\n \"unicode_decimal\": 59070\r\n },\r\n {\r\n \"icon_id\": \"24923349\",\r\n \"name\": \"arrowdown\",\r\n \"font_class\": \"bottom\",\r\n \"unicode\": \"e6b8\",\r\n \"unicode_decimal\": 59064\r\n },{\r\n \"icon_id\": \"24923349\",\r\n \"name\": \"arrowdown\",\r\n \"font_class\": \"arrowdown\",\r\n \"unicode\": \"e6b8\",\r\n \"unicode_decimal\": 59064\r\n },\r\n {\r\n \"icon_id\": \"24923346\",\r\n \"name\": \"arrowright\",\r\n \"font_class\": \"right\",\r\n \"unicode\": \"e6b5\",\r\n \"unicode_decimal\": 59061\r\n },\r\n\t\t{\r\n\t\t \"icon_id\": \"24923346\",\r\n\t\t \"name\": \"arrowright\",\r\n\t\t \"font_class\": \"arrowright\",\r\n\t\t \"unicode\": \"e6b5\",\r\n\t\t \"unicode_decimal\": 59061\r\n\t\t},\r\n {\r\n \"icon_id\": \"24923347\",\r\n \"name\": \"arrowup\",\r\n \"font_class\": \"top\",\r\n \"unicode\": \"e6b6\",\r\n \"unicode_decimal\": 59062\r\n },\r\n\t\t{\r\n\t\t \"icon_id\": \"24923347\",\r\n\t\t \"name\": \"arrowup\",\r\n\t\t \"font_class\": \"arrowup\",\r\n\t\t \"unicode\": \"e6b6\",\r\n\t\t \"unicode_decimal\": 59062\r\n\t\t},\r\n {\r\n \"icon_id\": \"24923348\",\r\n \"name\": \"arrowleft\",\r\n \"font_class\": \"left\",\r\n \"unicode\": \"e6b7\",\r\n \"unicode_decimal\": 59063\r\n },\r\n\t\t{\r\n\t\t \"icon_id\": \"24923348\",\r\n\t\t \"name\": \"arrowleft\",\r\n\t\t \"font_class\": \"arrowleft\",\r\n\t\t \"unicode\": \"e6b7\",\r\n\t\t \"unicode_decimal\": 59063\r\n\t\t},\r\n {\r\n \"icon_id\": \"24923334\",\r\n \"name\": \"eye\",\r\n \"font_class\": \"eye\",\r\n \"unicode\": \"e651\",\r\n \"unicode_decimal\": 58961\r\n },\r\n {\r\n \"icon_id\": \"24923335\",\r\n \"name\": \"eye-filled\",\r\n \"font_class\": \"eye-filled\",\r\n \"unicode\": \"e66a\",\r\n \"unicode_decimal\": 58986\r\n },\r\n {\r\n \"icon_id\": \"24923336\",\r\n \"name\": \"eye-slash\",\r\n \"font_class\": \"eye-slash\",\r\n \"unicode\": \"e6b3\",\r\n \"unicode_decimal\": 59059\r\n },\r\n {\r\n \"icon_id\": \"24923337\",\r\n \"name\": \"eye-slash-filled\",\r\n \"font_class\": \"eye-slash-filled\",\r\n \"unicode\": \"e6b4\",\r\n \"unicode_decimal\": 59060\r\n },\r\n {\r\n \"icon_id\": \"24923305\",\r\n \"name\": \"info-filled\",\r\n \"font_class\": \"info-filled\",\r\n \"unicode\": \"e649\",\r\n \"unicode_decimal\": 58953\r\n },\r\n {\r\n \"icon_id\": \"24923299\",\r\n \"name\": \"reload-01\",\r\n \"font_class\": \"reload\",\r\n \"unicode\": \"e6b2\",\r\n \"unicode_decimal\": 59058\r\n },\r\n {\r\n \"icon_id\": \"24923195\",\r\n \"name\": \"mic_slash_fill\",\r\n \"font_class\": \"micoff-filled\",\r\n \"unicode\": \"e6b0\",\r\n \"unicode_decimal\": 59056\r\n },\r\n {\r\n \"icon_id\": \"24923165\",\r\n \"name\": \"map-pin-ellipse\",\r\n \"font_class\": \"map-pin-ellipse\",\r\n \"unicode\": \"e6ac\",\r\n \"unicode_decimal\": 59052\r\n },\r\n {\r\n \"icon_id\": \"24923166\",\r\n \"name\": \"map-pin\",\r\n \"font_class\": \"map-pin\",\r\n \"unicode\": \"e6ad\",\r\n \"unicode_decimal\": 59053\r\n },\r\n {\r\n \"icon_id\": \"24923167\",\r\n \"name\": \"location\",\r\n \"font_class\": \"location\",\r\n \"unicode\": \"e6ae\",\r\n \"unicode_decimal\": 59054\r\n },\r\n {\r\n \"icon_id\": \"24923064\",\r\n \"name\": \"starhalf\",\r\n \"font_class\": \"starhalf\",\r\n \"unicode\": \"e683\",\r\n \"unicode_decimal\": 59011\r\n },\r\n {\r\n \"icon_id\": \"24923065\",\r\n \"name\": \"star\",\r\n \"font_class\": \"star\",\r\n \"unicode\": \"e688\",\r\n \"unicode_decimal\": 59016\r\n },\r\n {\r\n \"icon_id\": \"24923066\",\r\n \"name\": \"star-filled\",\r\n \"font_class\": \"star-filled\",\r\n \"unicode\": \"e68f\",\r\n \"unicode_decimal\": 59023\r\n },\r\n {\r\n \"icon_id\": \"24899646\",\r\n \"name\": \"a-rilidaka\",\r\n \"font_class\": \"calendar\",\r\n \"unicode\": \"e6a0\",\r\n \"unicode_decimal\": 59040\r\n },\r\n {\r\n \"icon_id\": \"24899647\",\r\n \"name\": \"fire\",\r\n \"font_class\": \"fire\",\r\n \"unicode\": \"e6a1\",\r\n \"unicode_decimal\": 59041\r\n },\r\n {\r\n \"icon_id\": \"24899648\",\r\n \"name\": \"paihangbang\",\r\n \"font_class\": \"medal\",\r\n \"unicode\": \"e6a2\",\r\n \"unicode_decimal\": 59042\r\n },\r\n {\r\n \"icon_id\": \"24899649\",\r\n \"name\": \"font\",\r\n \"font_class\": \"font\",\r\n \"unicode\": \"e6a3\",\r\n \"unicode_decimal\": 59043\r\n },\r\n {\r\n \"icon_id\": \"24899650\",\r\n \"name\": \"gift\",\r\n \"font_class\": \"gift\",\r\n \"unicode\": \"e6a4\",\r\n \"unicode_decimal\": 59044\r\n },\r\n {\r\n \"icon_id\": \"24899651\",\r\n \"name\": \"link\",\r\n \"font_class\": \"link\",\r\n \"unicode\": \"e6a5\",\r\n \"unicode_decimal\": 59045\r\n },\r\n {\r\n \"icon_id\": \"24899652\",\r\n \"name\": \"notification\",\r\n \"font_class\": \"notification\",\r\n \"unicode\": \"e6a6\",\r\n \"unicode_decimal\": 59046\r\n },\r\n {\r\n \"icon_id\": \"24899653\",\r\n \"name\": \"staff\",\r\n \"font_class\": \"staff\",\r\n \"unicode\": \"e6a7\",\r\n \"unicode_decimal\": 59047\r\n },\r\n {\r\n \"icon_id\": \"24899654\",\r\n \"name\": \"VIP\",\r\n \"font_class\": \"vip\",\r\n \"unicode\": \"e6a8\",\r\n \"unicode_decimal\": 59048\r\n },\r\n {\r\n \"icon_id\": \"24899655\",\r\n \"name\": \"folder_add\",\r\n \"font_class\": \"folder-add\",\r\n \"unicode\": \"e6a9\",\r\n \"unicode_decimal\": 59049\r\n },\r\n {\r\n \"icon_id\": \"24899656\",\r\n \"name\": \"tune\",\r\n \"font_class\": \"tune\",\r\n \"unicode\": \"e6aa\",\r\n \"unicode_decimal\": 59050\r\n },\r\n {\r\n \"icon_id\": \"24899657\",\r\n \"name\": \"shimingrenzheng\",\r\n \"font_class\": \"auth\",\r\n \"unicode\": \"e6ab\",\r\n \"unicode_decimal\": 59051\r\n },\r\n {\r\n \"icon_id\": \"24899565\",\r\n \"name\": \"person\",\r\n \"font_class\": \"person\",\r\n \"unicode\": \"e699\",\r\n \"unicode_decimal\": 59033\r\n },\r\n {\r\n \"icon_id\": \"24899566\",\r\n \"name\": \"email-filled\",\r\n \"font_class\": \"email-filled\",\r\n \"unicode\": \"e69a\",\r\n \"unicode_decimal\": 59034\r\n },\r\n {\r\n \"icon_id\": \"24899567\",\r\n \"name\": \"phone-filled\",\r\n \"font_class\": \"phone-filled\",\r\n \"unicode\": \"e69b\",\r\n \"unicode_decimal\": 59035\r\n },\r\n {\r\n \"icon_id\": \"24899568\",\r\n \"name\": \"phone\",\r\n \"font_class\": \"phone\",\r\n \"unicode\": \"e69c\",\r\n \"unicode_decimal\": 59036\r\n },\r\n {\r\n \"icon_id\": \"24899570\",\r\n \"name\": \"email\",\r\n \"font_class\": \"email\",\r\n \"unicode\": \"e69e\",\r\n \"unicode_decimal\": 59038\r\n },\r\n {\r\n \"icon_id\": \"24899571\",\r\n \"name\": \"personadd\",\r\n \"font_class\": \"personadd\",\r\n \"unicode\": \"e69f\",\r\n \"unicode_decimal\": 59039\r\n },\r\n {\r\n \"icon_id\": \"24899558\",\r\n \"name\": \"chatboxes-filled\",\r\n \"font_class\": \"chatboxes-filled\",\r\n \"unicode\": \"e692\",\r\n \"unicode_decimal\": 59026\r\n },\r\n {\r\n \"icon_id\": \"24899559\",\r\n \"name\": \"contact\",\r\n \"font_class\": \"contact\",\r\n \"unicode\": \"e693\",\r\n \"unicode_decimal\": 59027\r\n },\r\n {\r\n \"icon_id\": \"24899560\",\r\n \"name\": \"chatbubble-filled\",\r\n \"font_class\": \"chatbubble-filled\",\r\n \"unicode\": \"e694\",\r\n \"unicode_decimal\": 59028\r\n },\r\n {\r\n \"icon_id\": \"24899561\",\r\n \"name\": \"contact-filled\",\r\n \"font_class\": \"contact-filled\",\r\n \"unicode\": \"e695\",\r\n \"unicode_decimal\": 59029\r\n },\r\n {\r\n \"icon_id\": \"24899562\",\r\n \"name\": \"chatboxes\",\r\n \"font_class\": \"chatboxes\",\r\n \"unicode\": \"e696\",\r\n \"unicode_decimal\": 59030\r\n },\r\n {\r\n \"icon_id\": \"24899563\",\r\n \"name\": \"chatbubble\",\r\n \"font_class\": \"chatbubble\",\r\n \"unicode\": \"e697\",\r\n \"unicode_decimal\": 59031\r\n },\r\n {\r\n \"icon_id\": \"24881290\",\r\n \"name\": \"upload-filled\",\r\n \"font_class\": \"upload-filled\",\r\n \"unicode\": \"e68e\",\r\n \"unicode_decimal\": 59022\r\n },\r\n {\r\n \"icon_id\": \"24881292\",\r\n \"name\": \"upload\",\r\n \"font_class\": \"upload\",\r\n \"unicode\": \"e690\",\r\n \"unicode_decimal\": 59024\r\n },\r\n {\r\n \"icon_id\": \"24881293\",\r\n \"name\": \"weixin\",\r\n \"font_class\": \"weixin\",\r\n \"unicode\": \"e691\",\r\n \"unicode_decimal\": 59025\r\n },\r\n {\r\n \"icon_id\": \"24881274\",\r\n \"name\": \"compose\",\r\n \"font_class\": \"compose\",\r\n \"unicode\": \"e67f\",\r\n \"unicode_decimal\": 59007\r\n },\r\n {\r\n \"icon_id\": \"24881275\",\r\n \"name\": \"qq\",\r\n \"font_class\": \"qq\",\r\n \"unicode\": \"e680\",\r\n \"unicode_decimal\": 59008\r\n },\r\n {\r\n \"icon_id\": \"24881276\",\r\n \"name\": \"download-filled\",\r\n \"font_class\": \"download-filled\",\r\n \"unicode\": \"e681\",\r\n \"unicode_decimal\": 59009\r\n },\r\n {\r\n \"icon_id\": \"24881277\",\r\n \"name\": \"pengyouquan\",\r\n \"font_class\": \"pyq\",\r\n \"unicode\": \"e682\",\r\n \"unicode_decimal\": 59010\r\n },\r\n {\r\n \"icon_id\": \"24881279\",\r\n \"name\": \"sound\",\r\n \"font_class\": \"sound\",\r\n \"unicode\": \"e684\",\r\n \"unicode_decimal\": 59012\r\n },\r\n {\r\n \"icon_id\": \"24881280\",\r\n \"name\": \"trash-filled\",\r\n \"font_class\": \"trash-filled\",\r\n \"unicode\": \"e685\",\r\n \"unicode_decimal\": 59013\r\n },\r\n {\r\n \"icon_id\": \"24881281\",\r\n \"name\": \"sound-filled\",\r\n \"font_class\": \"sound-filled\",\r\n \"unicode\": \"e686\",\r\n \"unicode_decimal\": 59014\r\n },\r\n {\r\n \"icon_id\": \"24881282\",\r\n \"name\": \"trash\",\r\n \"font_class\": \"trash\",\r\n \"unicode\": \"e687\",\r\n \"unicode_decimal\": 59015\r\n },\r\n {\r\n \"icon_id\": \"24881284\",\r\n \"name\": \"videocam-filled\",\r\n \"font_class\": \"videocam-filled\",\r\n \"unicode\": \"e689\",\r\n \"unicode_decimal\": 59017\r\n },\r\n {\r\n \"icon_id\": \"24881285\",\r\n \"name\": \"spinner-cycle\",\r\n \"font_class\": \"spinner-cycle\",\r\n \"unicode\": \"e68a\",\r\n \"unicode_decimal\": 59018\r\n },\r\n {\r\n \"icon_id\": \"24881286\",\r\n \"name\": \"weibo\",\r\n \"font_class\": \"weibo\",\r\n \"unicode\": \"e68b\",\r\n \"unicode_decimal\": 59019\r\n },\r\n {\r\n \"icon_id\": \"24881288\",\r\n \"name\": \"videocam\",\r\n \"font_class\": \"videocam\",\r\n \"unicode\": \"e68c\",\r\n \"unicode_decimal\": 59020\r\n },\r\n {\r\n \"icon_id\": \"24881289\",\r\n \"name\": \"download\",\r\n \"font_class\": \"download\",\r\n \"unicode\": \"e68d\",\r\n \"unicode_decimal\": 59021\r\n },\r\n {\r\n \"icon_id\": \"24879601\",\r\n \"name\": \"help\",\r\n \"font_class\": \"help\",\r\n \"unicode\": \"e679\",\r\n \"unicode_decimal\": 59001\r\n },\r\n {\r\n \"icon_id\": \"24879602\",\r\n \"name\": \"navigate-filled\",\r\n \"font_class\": \"navigate-filled\",\r\n \"unicode\": \"e67a\",\r\n \"unicode_decimal\": 59002\r\n },\r\n {\r\n \"icon_id\": \"24879603\",\r\n \"name\": \"plusempty\",\r\n \"font_class\": \"plusempty\",\r\n \"unicode\": \"e67b\",\r\n \"unicode_decimal\": 59003\r\n },\r\n {\r\n \"icon_id\": \"24879604\",\r\n \"name\": \"smallcircle\",\r\n \"font_class\": \"smallcircle\",\r\n \"unicode\": \"e67c\",\r\n \"unicode_decimal\": 59004\r\n },\r\n {\r\n \"icon_id\": \"24879605\",\r\n \"name\": \"minus-filled\",\r\n \"font_class\": \"minus-filled\",\r\n \"unicode\": \"e67d\",\r\n \"unicode_decimal\": 59005\r\n },\r\n {\r\n \"icon_id\": \"24879606\",\r\n \"name\": \"micoff\",\r\n \"font_class\": \"micoff\",\r\n \"unicode\": \"e67e\",\r\n \"unicode_decimal\": 59006\r\n },\r\n {\r\n \"icon_id\": \"24879588\",\r\n \"name\": \"closeempty\",\r\n \"font_class\": \"closeempty\",\r\n \"unicode\": \"e66c\",\r\n \"unicode_decimal\": 58988\r\n },\r\n {\r\n \"icon_id\": \"24879589\",\r\n \"name\": \"clear\",\r\n \"font_class\": \"clear\",\r\n \"unicode\": \"e66d\",\r\n \"unicode_decimal\": 58989\r\n },\r\n {\r\n \"icon_id\": \"24879590\",\r\n \"name\": \"navigate\",\r\n \"font_class\": \"navigate\",\r\n \"unicode\": \"e66e\",\r\n \"unicode_decimal\": 58990\r\n },\r\n {\r\n \"icon_id\": \"24879591\",\r\n \"name\": \"minus\",\r\n \"font_class\": \"minus\",\r\n \"unicode\": \"e66f\",\r\n \"unicode_decimal\": 58991\r\n },\r\n {\r\n \"icon_id\": \"24879592\",\r\n \"name\": \"image\",\r\n \"font_class\": \"image\",\r\n \"unicode\": \"e670\",\r\n \"unicode_decimal\": 58992\r\n },\r\n {\r\n \"icon_id\": \"24879593\",\r\n \"name\": \"mic\",\r\n \"font_class\": \"mic\",\r\n \"unicode\": \"e671\",\r\n \"unicode_decimal\": 58993\r\n },\r\n {\r\n \"icon_id\": \"24879594\",\r\n \"name\": \"paperplane\",\r\n \"font_class\": \"paperplane\",\r\n \"unicode\": \"e672\",\r\n \"unicode_decimal\": 58994\r\n },\r\n {\r\n \"icon_id\": \"24879595\",\r\n \"name\": \"close\",\r\n \"font_class\": \"close\",\r\n \"unicode\": \"e673\",\r\n \"unicode_decimal\": 58995\r\n },\r\n {\r\n \"icon_id\": \"24879596\",\r\n \"name\": \"help-filled\",\r\n \"font_class\": \"help-filled\",\r\n \"unicode\": \"e674\",\r\n \"unicode_decimal\": 58996\r\n },\r\n {\r\n \"icon_id\": \"24879597\",\r\n \"name\": \"plus-filled\",\r\n \"font_class\": \"paperplane-filled\",\r\n \"unicode\": \"e675\",\r\n \"unicode_decimal\": 58997\r\n },\r\n {\r\n \"icon_id\": \"24879598\",\r\n \"name\": \"plus\",\r\n \"font_class\": \"plus\",\r\n \"unicode\": \"e676\",\r\n \"unicode_decimal\": 58998\r\n },\r\n {\r\n \"icon_id\": \"24879599\",\r\n \"name\": \"mic-filled\",\r\n \"font_class\": \"mic-filled\",\r\n \"unicode\": \"e677\",\r\n \"unicode_decimal\": 58999\r\n },\r\n {\r\n \"icon_id\": \"24879600\",\r\n \"name\": \"image-filled\",\r\n \"font_class\": \"image-filled\",\r\n \"unicode\": \"e678\",\r\n \"unicode_decimal\": 59000\r\n },\r\n {\r\n \"icon_id\": \"24855900\",\r\n \"name\": \"locked-filled\",\r\n \"font_class\": \"locked-filled\",\r\n \"unicode\": \"e668\",\r\n \"unicode_decimal\": 58984\r\n },\r\n {\r\n \"icon_id\": \"24855901\",\r\n \"name\": \"info\",\r\n \"font_class\": \"info\",\r\n \"unicode\": \"e669\",\r\n \"unicode_decimal\": 58985\r\n },\r\n {\r\n \"icon_id\": \"24855903\",\r\n \"name\": \"locked\",\r\n \"font_class\": \"locked\",\r\n \"unicode\": \"e66b\",\r\n \"unicode_decimal\": 58987\r\n },\r\n {\r\n \"icon_id\": \"24855884\",\r\n \"name\": \"camera-filled\",\r\n \"font_class\": \"camera-filled\",\r\n \"unicode\": \"e658\",\r\n \"unicode_decimal\": 58968\r\n },\r\n {\r\n \"icon_id\": \"24855885\",\r\n \"name\": \"chat-filled\",\r\n \"font_class\": \"chat-filled\",\r\n \"unicode\": \"e659\",\r\n \"unicode_decimal\": 58969\r\n },\r\n {\r\n \"icon_id\": \"24855886\",\r\n \"name\": \"camera\",\r\n \"font_class\": \"camera\",\r\n \"unicode\": \"e65a\",\r\n \"unicode_decimal\": 58970\r\n },\r\n {\r\n \"icon_id\": \"24855887\",\r\n \"name\": \"circle\",\r\n \"font_class\": \"circle\",\r\n \"unicode\": \"e65b\",\r\n \"unicode_decimal\": 58971\r\n },\r\n {\r\n \"icon_id\": \"24855888\",\r\n \"name\": \"checkmarkempty\",\r\n \"font_class\": \"checkmarkempty\",\r\n \"unicode\": \"e65c\",\r\n \"unicode_decimal\": 58972\r\n },\r\n {\r\n \"icon_id\": \"24855889\",\r\n \"name\": \"chat\",\r\n \"font_class\": \"chat\",\r\n \"unicode\": \"e65d\",\r\n \"unicode_decimal\": 58973\r\n },\r\n {\r\n \"icon_id\": \"24855890\",\r\n \"name\": \"circle-filled\",\r\n \"font_class\": \"circle-filled\",\r\n \"unicode\": \"e65e\",\r\n \"unicode_decimal\": 58974\r\n },\r\n {\r\n \"icon_id\": \"24855891\",\r\n \"name\": \"flag\",\r\n \"font_class\": \"flag\",\r\n \"unicode\": \"e65f\",\r\n \"unicode_decimal\": 58975\r\n },\r\n {\r\n \"icon_id\": \"24855892\",\r\n \"name\": \"flag-filled\",\r\n \"font_class\": \"flag-filled\",\r\n \"unicode\": \"e660\",\r\n \"unicode_decimal\": 58976\r\n },\r\n {\r\n \"icon_id\": \"24855893\",\r\n \"name\": \"gear-filled\",\r\n \"font_class\": \"gear-filled\",\r\n \"unicode\": \"e661\",\r\n \"unicode_decimal\": 58977\r\n },\r\n {\r\n \"icon_id\": \"24855894\",\r\n \"name\": \"home\",\r\n \"font_class\": \"home\",\r\n \"unicode\": \"e662\",\r\n \"unicode_decimal\": 58978\r\n },\r\n {\r\n \"icon_id\": \"24855895\",\r\n \"name\": \"home-filled\",\r\n \"font_class\": \"home-filled\",\r\n \"unicode\": \"e663\",\r\n \"unicode_decimal\": 58979\r\n },\r\n {\r\n \"icon_id\": \"24855896\",\r\n \"name\": \"gear\",\r\n \"font_class\": \"gear\",\r\n \"unicode\": \"e664\",\r\n \"unicode_decimal\": 58980\r\n },\r\n {\r\n \"icon_id\": \"24855897\",\r\n \"name\": \"smallcircle-filled\",\r\n \"font_class\": \"smallcircle-filled\",\r\n \"unicode\": \"e665\",\r\n \"unicode_decimal\": 58981\r\n },\r\n {\r\n \"icon_id\": \"24855898\",\r\n \"name\": \"map-filled\",\r\n \"font_class\": \"map-filled\",\r\n \"unicode\": \"e666\",\r\n \"unicode_decimal\": 58982\r\n },\r\n {\r\n \"icon_id\": \"24855899\",\r\n \"name\": \"map\",\r\n \"font_class\": \"map\",\r\n \"unicode\": \"e667\",\r\n \"unicode_decimal\": 58983\r\n },\r\n {\r\n \"icon_id\": \"24855825\",\r\n \"name\": \"refresh-filled\",\r\n \"font_class\": \"refresh-filled\",\r\n \"unicode\": \"e656\",\r\n \"unicode_decimal\": 58966\r\n },\r\n {\r\n \"icon_id\": \"24855826\",\r\n \"name\": \"refresh\",\r\n \"font_class\": \"refresh\",\r\n \"unicode\": \"e657\",\r\n \"unicode_decimal\": 58967\r\n },\r\n {\r\n \"icon_id\": \"24855808\",\r\n \"name\": \"cloud-upload\",\r\n \"font_class\": \"cloud-upload\",\r\n \"unicode\": \"e645\",\r\n \"unicode_decimal\": 58949\r\n },\r\n {\r\n \"icon_id\": \"24855809\",\r\n \"name\": \"cloud-download-filled\",\r\n \"font_class\": \"cloud-download-filled\",\r\n \"unicode\": \"e646\",\r\n \"unicode_decimal\": 58950\r\n },\r\n {\r\n \"icon_id\": \"24855810\",\r\n \"name\": \"cloud-download\",\r\n \"font_class\": \"cloud-download\",\r\n \"unicode\": \"e647\",\r\n \"unicode_decimal\": 58951\r\n },\r\n {\r\n \"icon_id\": \"24855811\",\r\n \"name\": \"cloud-upload-filled\",\r\n \"font_class\": \"cloud-upload-filled\",\r\n \"unicode\": \"e648\",\r\n \"unicode_decimal\": 58952\r\n },\r\n {\r\n \"icon_id\": \"24855813\",\r\n \"name\": \"redo\",\r\n \"font_class\": \"redo\",\r\n \"unicode\": \"e64a\",\r\n \"unicode_decimal\": 58954\r\n },\r\n {\r\n \"icon_id\": \"24855814\",\r\n \"name\": \"images-filled\",\r\n \"font_class\": \"images-filled\",\r\n \"unicode\": \"e64b\",\r\n \"unicode_decimal\": 58955\r\n },\r\n {\r\n \"icon_id\": \"24855815\",\r\n \"name\": \"undo-filled\",\r\n \"font_class\": \"undo-filled\",\r\n \"unicode\": \"e64c\",\r\n \"unicode_decimal\": 58956\r\n },\r\n {\r\n \"icon_id\": \"24855816\",\r\n \"name\": \"more\",\r\n \"font_class\": \"more\",\r\n \"unicode\": \"e64d\",\r\n \"unicode_decimal\": 58957\r\n },\r\n {\r\n \"icon_id\": \"24855817\",\r\n \"name\": \"more-filled\",\r\n \"font_class\": \"more-filled\",\r\n \"unicode\": \"e64e\",\r\n \"unicode_decimal\": 58958\r\n },\r\n {\r\n \"icon_id\": \"24855818\",\r\n \"name\": \"undo\",\r\n \"font_class\": \"undo\",\r\n \"unicode\": \"e64f\",\r\n \"unicode_decimal\": 58959\r\n },\r\n {\r\n \"icon_id\": \"24855819\",\r\n \"name\": \"images\",\r\n \"font_class\": \"images\",\r\n \"unicode\": \"e650\",\r\n \"unicode_decimal\": 58960\r\n },\r\n {\r\n \"icon_id\": \"24855821\",\r\n \"name\": \"paperclip\",\r\n \"font_class\": \"paperclip\",\r\n \"unicode\": \"e652\",\r\n \"unicode_decimal\": 58962\r\n },\r\n {\r\n \"icon_id\": \"24855822\",\r\n \"name\": \"settings\",\r\n \"font_class\": \"settings\",\r\n \"unicode\": \"e653\",\r\n \"unicode_decimal\": 58963\r\n },\r\n {\r\n \"icon_id\": \"24855823\",\r\n \"name\": \"search\",\r\n \"font_class\": \"search\",\r\n \"unicode\": \"e654\",\r\n \"unicode_decimal\": 58964\r\n },\r\n {\r\n \"icon_id\": \"24855824\",\r\n \"name\": \"redo-filled\",\r\n \"font_class\": \"redo-filled\",\r\n \"unicode\": \"e655\",\r\n \"unicode_decimal\": 58965\r\n },\r\n {\r\n \"icon_id\": \"24841702\",\r\n \"name\": \"list\",\r\n \"font_class\": \"list\",\r\n \"unicode\": \"e644\",\r\n \"unicode_decimal\": 58948\r\n },\r\n {\r\n \"icon_id\": \"24841489\",\r\n \"name\": \"mail-open-filled\",\r\n \"font_class\": \"mail-open-filled\",\r\n \"unicode\": \"e63a\",\r\n \"unicode_decimal\": 58938\r\n },\r\n {\r\n \"icon_id\": \"24841491\",\r\n \"name\": \"hand-thumbsdown-filled\",\r\n \"font_class\": \"hand-down-filled\",\r\n \"unicode\": \"e63c\",\r\n \"unicode_decimal\": 58940\r\n },\r\n {\r\n \"icon_id\": \"24841492\",\r\n \"name\": \"hand-thumbsdown\",\r\n \"font_class\": \"hand-down\",\r\n \"unicode\": \"e63d\",\r\n \"unicode_decimal\": 58941\r\n },\r\n {\r\n \"icon_id\": \"24841493\",\r\n \"name\": \"hand-thumbsup-filled\",\r\n \"font_class\": \"hand-up-filled\",\r\n \"unicode\": \"e63e\",\r\n \"unicode_decimal\": 58942\r\n },\r\n {\r\n \"icon_id\": \"24841494\",\r\n \"name\": \"hand-thumbsup\",\r\n \"font_class\": \"hand-up\",\r\n \"unicode\": \"e63f\",\r\n \"unicode_decimal\": 58943\r\n },\r\n {\r\n \"icon_id\": \"24841496\",\r\n \"name\": \"heart-filled\",\r\n \"font_class\": \"heart-filled\",\r\n \"unicode\": \"e641\",\r\n \"unicode_decimal\": 58945\r\n },\r\n {\r\n \"icon_id\": \"24841498\",\r\n \"name\": \"mail-open\",\r\n \"font_class\": \"mail-open\",\r\n \"unicode\": \"e643\",\r\n \"unicode_decimal\": 58947\r\n },\r\n {\r\n \"icon_id\": \"24841488\",\r\n \"name\": \"heart\",\r\n \"font_class\": \"heart\",\r\n \"unicode\": \"e639\",\r\n \"unicode_decimal\": 58937\r\n },\r\n {\r\n \"icon_id\": \"24839963\",\r\n \"name\": \"loop\",\r\n \"font_class\": \"loop\",\r\n \"unicode\": \"e633\",\r\n \"unicode_decimal\": 58931\r\n },\r\n {\r\n \"icon_id\": \"24839866\",\r\n \"name\": \"pulldown\",\r\n \"font_class\": \"pulldown\",\r\n \"unicode\": \"e632\",\r\n \"unicode_decimal\": 58930\r\n },\r\n {\r\n \"icon_id\": \"24813798\",\r\n \"name\": \"scan\",\r\n \"font_class\": \"scan\",\r\n \"unicode\": \"e62a\",\r\n \"unicode_decimal\": 58922\r\n },\r\n {\r\n \"icon_id\": \"24813786\",\r\n \"name\": \"bars\",\r\n \"font_class\": \"bars\",\r\n \"unicode\": \"e627\",\r\n \"unicode_decimal\": 58919\r\n },\r\n {\r\n \"icon_id\": \"24813788\",\r\n \"name\": \"cart-filled\",\r\n \"font_class\": \"cart-filled\",\r\n \"unicode\": \"e629\",\r\n \"unicode_decimal\": 58921\r\n },\r\n {\r\n \"icon_id\": \"24813790\",\r\n \"name\": \"checkbox\",\r\n \"font_class\": \"checkbox\",\r\n \"unicode\": \"e62b\",\r\n \"unicode_decimal\": 58923\r\n },\r\n {\r\n \"icon_id\": \"24813791\",\r\n \"name\": \"checkbox-filled\",\r\n \"font_class\": \"checkbox-filled\",\r\n \"unicode\": \"e62c\",\r\n \"unicode_decimal\": 58924\r\n },\r\n {\r\n \"icon_id\": \"24813794\",\r\n \"name\": \"shop\",\r\n \"font_class\": \"shop\",\r\n \"unicode\": \"e62f\",\r\n \"unicode_decimal\": 58927\r\n },\r\n {\r\n \"icon_id\": \"24813795\",\r\n \"name\": \"headphones\",\r\n \"font_class\": \"headphones\",\r\n \"unicode\": \"e630\",\r\n \"unicode_decimal\": 58928\r\n },\r\n {\r\n \"icon_id\": \"24813796\",\r\n \"name\": \"cart\",\r\n \"font_class\": \"cart\",\r\n \"unicode\": \"e631\",\r\n \"unicode_decimal\": 58929\r\n }\r\n ]\r\n}\r\n","\r\nexport default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\t\r\n\t\t}\r\n\t},\r\n\tcreated(){\r\n\t\tthis.popup = this.getParent()\r\n\t},\r\n\tmethods:{\r\n\t\t/**\r\n\t\t * 获取父元素实例\r\n\t\t */\r\n\t\tgetParent(name = 'uniPopup') {\r\n\t\t\tlet parent = this.$parent;\r\n\t\t\tlet parentName = parent.$options.name;\r\n\t\t\twhile (parentName !== name) {\r\n\t\t\t\tparent = parent.$parent;\r\n\t\t\t\tif (!parent) return false\r\n\t\t\t\tparentName = parent.$options.name;\r\n\t\t\t}\r\n\t\t\treturn parent;\r\n\t\t},\r\n\t}\r\n}\r\n","import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\r\n","export default {\r\n props: {\r\n // 是否打开组件\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.datetimePicker.show\r\n },\r\n // 是否展示顶部的操作栏\r\n showToolbar: {\r\n type: Boolean,\r\n default: uni.$u.props.datetimePicker.showToolbar\r\n },\r\n // 绑定值\r\n value: {\r\n type: [String, Number],\r\n default: uni.$u.props.datetimePicker.value\r\n },\r\n // 顶部标题\r\n title: {\r\n type: String,\r\n default: uni.$u.props.datetimePicker.title\r\n },\r\n // 展示格式mode=date为日期选择mode=time为时间选择mode=year-month为年月选择mode=datetime为日期时间选择\r\n mode: {\r\n type: String,\r\n default: uni.$u.props.datetimePicker.mode\r\n },\r\n // 可选的最大时间\r\n maxDate: {\r\n type: Number,\r\n // 最大默认值为后10年\r\n default: uni.$u.props.datetimePicker.maxDate\r\n },\r\n // 可选的最小时间\r\n minDate: {\r\n type: Number,\r\n // 最小默认值为前10年\r\n default: uni.$u.props.datetimePicker.minDate\r\n },\r\n // 可选的最小小时仅mode=time有效\r\n minHour: {\r\n type: Number,\r\n default: uni.$u.props.datetimePicker.minHour\r\n },\r\n // 可选的最大小时仅mode=time有效\r\n maxHour: {\r\n type: Number,\r\n default: uni.$u.props.datetimePicker.maxHour\r\n },\r\n // 可选的最小分钟仅mode=time有效\r\n minMinute: {\r\n type: Number,\r\n default: uni.$u.props.datetimePicker.minMinute\r\n },\r\n // 可选的最大分钟仅mode=time有效\r\n maxMinute: {\r\n type: Number,\r\n default: uni.$u.props.datetimePicker.maxMinute\r\n },\r\n // 选项过滤函数\r\n filter: {\r\n type: [Function, null],\r\n default: uni.$u.props.datetimePicker.filter\r\n },\r\n // 选项格式化函数\r\n formatter: {\r\n type: [Function, null],\r\n default: uni.$u.props.datetimePicker.formatter\r\n },\r\n // 是否显示加载中状态\r\n loading: {\r\n type: Boolean,\r\n default: uni.$u.props.datetimePicker.loading\r\n },\r\n // 各列中,单个选项的高度\r\n itemHeight: {\r\n type: [String, Number],\r\n default: uni.$u.props.datetimePicker.itemHeight\r\n },\r\n // 取消按钮的文字\r\n cancelText: {\r\n type: String,\r\n default: uni.$u.props.datetimePicker.cancelText\r\n },\r\n // 确认按钮的文字\r\n confirmText: {\r\n type: String,\r\n default: uni.$u.props.datetimePicker.confirmText\r\n },\r\n // 取消按钮的颜色\r\n cancelColor: {\r\n type: String,\r\n default: uni.$u.props.datetimePicker.cancelColor\r\n },\r\n // 确认按钮的颜色\r\n confirmColor: {\r\n type: String,\r\n default: uni.$u.props.datetimePicker.confirmColor\r\n },\r\n // 每列中可见选项的数量\r\n visibleItemCount: {\r\n type: [String, Number],\r\n default: uni.$u.props.datetimePicker.visibleItemCount\r\n },\r\n // 是否允许点击遮罩关闭选择器\r\n closeOnClickOverlay: {\r\n type: Boolean,\r\n default: uni.$u.props.datetimePicker.closeOnClickOverlay\r\n },\r\n // 各列的默认索引\r\n defaultIndex: {\r\n type: Array,\r\n default: uni.$u.props.datetimePicker.defaultIndex\r\n }\r\n }\r\n}\r\n","!(function (t, e) {\r\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = e() : typeof define === 'function'\r\n\t\t&& define.amd ? define(e) : t.dayjs = e()\r\n}(this, () => {\r\n 'use strict'\r\n\r\n const t = 'millisecond'\r\n const e = 'second'\r\n const n = 'minute'\r\n const r = 'hour'\r\n const i = 'day'\r\n const s = 'week'\r\n const u = 'month'\r\n const a = 'quarter'\r\n const o = 'year'\r\n const f = 'date'\r\n const h = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?.?(\\d+)?$/\r\n const c = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g\r\n const d = {\r\n name: 'en',\r\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\r\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_')\r\n }\r\n const $ = function (t, e, n) {\r\n const r = String(t)\r\n return !r || r.length >= e ? t : `${Array(e + 1 - r.length).join(n)}${t}`\r\n }\r\n const l = {\r\n s: $,\r\n z(t) {\r\n const e = -t.utcOffset()\r\n const n = Math.abs(e)\r\n const r = Math.floor(n / 60)\r\n const i = n % 60\r\n return `${(e <= 0 ? '+' : '-') + $(r, 2, '0')}:${$(i, 2, '0')}`\r\n },\r\n m: function t(e, n) {\r\n if (e.date() < n.date()) return -t(n, e)\r\n const r = 12 * (n.year() - e.year()) + (n.month() - e.month())\r\n const i = e.clone().add(r, u)\r\n const s = n - i < 0\r\n const a = e.clone().add(r + (s ? -1 : 1), u)\r\n return +(-(r + (n - i) / (s ? i - a : a - i)) || 0)\r\n },\r\n a(t) {\r\n return t < 0 ? Math.ceil(t) || 0 : Math.floor(t)\r\n },\r\n p(h) {\r\n return {\r\n M: u,\r\n y: o,\r\n w: s,\r\n d: i,\r\n D: f,\r\n h: r,\r\n m: n,\r\n s: e,\r\n ms: t,\r\n Q: a\r\n }[h] || String(h || '').toLowerCase().replace(/s$/, '')\r\n },\r\n u(t) {\r\n return void 0 === t\r\n }\r\n }\r\n let y = 'en'\r\n const M = {}\r\n M[y] = d\r\n const m = function (t) {\r\n return t instanceof S\r\n }\r\n const D = function (t, e, n) {\r\n let r\r\n if (!t) return y\r\n if (typeof t === 'string') M[t] && (r = t), e && (M[t] = e, r = t)\r\n else {\r\n const i = t.name\r\n M[i] = t, r = i\r\n }\r\n return !n && r && (y = r), r || !n && y\r\n }\r\n const v = function (t, e) {\r\n if (m(t)) return t.clone()\r\n const n = typeof e === 'object' ? e : {}\r\n return n.date = t, n.args = arguments, new S(n)\r\n }\r\n const g = l\r\n g.l = D, g.i = m, g.w = function (t, e) {\r\n return v(t, {\r\n locale: e.$L,\r\n utc: e.$u,\r\n x: e.$x,\r\n $offset: e.$offset\r\n })\r\n }\r\n var S = (function () {\r\n function d(t) {\r\n this.$L = D(t.locale, null, !0), this.parse(t)\r\n }\r\n const $ = d.prototype\r\n return $.parse = function (t) {\r\n this.$d = (function (t) {\r\n const e = t.date\r\n const n = t.utc\r\n if (e === null) return new Date(NaN)\r\n if (g.u(e)) return new Date()\r\n if (e instanceof Date) return new Date(e)\r\n if (typeof e === 'string' && !/Z$/i.test(e)) {\r\n const r = e.match(h)\r\n if (r) {\r\n const i = r[2] - 1 || 0\r\n const s = (r[7] || '0').substring(0, 3)\r\n return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3]\r\n\t\t\t\t\t\t\t\t|| 1, r[4] || 0, r[5] || 0, r[6] || 0, s)\r\n }\r\n }\r\n return new Date(e)\r\n }(t)), this.$x = t.x || {}, this.init()\r\n }, $.init = function () {\r\n const t = this.$d\r\n this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(),\r\n this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds()\r\n }, $.$utils = function () {\r\n return g\r\n }, $.isValid = function () {\r\n return !(this.$d.toString() === 'Invalid Date')\r\n }, $.isSame = function (t, e) {\r\n const n = v(t)\r\n return this.startOf(e) <= n && n <= this.endOf(e)\r\n }, $.isAfter = function (t, e) {\r\n return v(t) < this.startOf(e)\r\n }, $.isBefore = function (t, e) {\r\n return this.endOf(e) < v(t)\r\n }, $.$g = function (t, e, n) {\r\n return g.u(t) ? this[e] : this.set(n, t)\r\n }, $.unix = function () {\r\n return Math.floor(this.valueOf() / 1e3)\r\n }, $.valueOf = function () {\r\n return this.$d.getTime()\r\n }, $.startOf = function (t, a) {\r\n const h = this\r\n const c = !!g.u(a) || a\r\n const d = g.p(t)\r\n const $ = function (t, e) {\r\n const n = g.w(h.$u ? Date.UTC(h.$y, e, t) : new Date(h.$y, e, t), h)\r\n return c ? n : n.endOf(i)\r\n }\r\n const l = function (t, e) {\r\n return g.w(h.toDate()[t].apply(h.toDate('s'), (c ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e)), h)\r\n }\r\n const y = this.$W\r\n const M = this.$M\r\n const m = this.$D\r\n const D = `set${this.$u ? 'UTC' : ''}`\r\n switch (d) {\r\n case o:\r\n return c ? $(1, 0) : $(31, 11)\r\n case u:\r\n return c ? $(1, M) : $(0, M + 1)\r\n case s:\r\n var v = this.$locale().weekStart || 0\r\n var S = (y < v ? y + 7 : y) - v\r\n return $(c ? m - S : m + (6 - S), M)\r\n case i:\r\n case f:\r\n return l(`${D}Hours`, 0)\r\n case r:\r\n return l(`${D}Minutes`, 1)\r\n case n:\r\n return l(`${D}Seconds`, 2)\r\n case e:\r\n return l(`${D}Milliseconds`, 3)\r\n default:\r\n return this.clone()\r\n }\r\n }, $.endOf = function (t) {\r\n return this.startOf(t, !1)\r\n }, $.$set = function (s, a) {\r\n let h; const c = g.p(s)\r\n const d = `set${this.$u ? 'UTC' : ''}`\r\n const $ = (h = {}, h[i] = `${d}Date`, h[f] = `${d}Date`, h[u] = `${d}Month`, h[o] = `${d}FullYear`, h[r] = `${d}Hours`,\r\n h[n] = `${d}Minutes`, h[e] = `${d}Seconds`, h[t] = `${d}Milliseconds`, h)[c]\r\n const l = c === i ? this.$D + (a - this.$W) : a\r\n if (c === u || c === o) {\r\n const y = this.clone().set(f, 1)\r\n y.$d[$](l), y.init(), this.$d = y.set(f, Math.min(this.$D, y.daysInMonth())).$d\r\n } else $ && this.$d[$](l)\r\n return this.init(), this\r\n }, $.set = function (t, e) {\r\n return this.clone().$set(t, e)\r\n }, $.get = function (t) {\r\n return this[g.p(t)]()\r\n }, $.add = function (t, a) {\r\n let f; const\r\n h = this\r\n t = Number(t)\r\n const c = g.p(a)\r\n const d = function (e) {\r\n const n = v(h)\r\n return g.w(n.date(n.date() + Math.round(e * t)), h)\r\n }\r\n if (c === u) return this.set(u, this.$M + t)\r\n if (c === o) return this.set(o, this.$y + t)\r\n if (c === i) return d(1)\r\n if (c === s) return d(7)\r\n const $ = (f = {}, f[n] = 6e4, f[r] = 36e5, f[e] = 1e3, f)[c] || 1\r\n const l = this.$d.getTime() + t * $\r\n return g.w(l, this)\r\n }, $.subtract = function (t, e) {\r\n return this.add(-1 * t, e)\r\n }, $.format = function (t) {\r\n const e = this\r\n if (!this.isValid()) return 'Invalid Date'\r\n const n = t || 'YYYY-MM-DDTHH:mm:ssZ'\r\n const r = g.z(this)\r\n const i = this.$locale()\r\n const s = this.$H\r\n const u = this.$m\r\n const a = this.$M\r\n const o = i.weekdays\r\n const f = i.months\r\n const h = function (t, r, i, s) {\r\n return t && (t[r] || t(e, n)) || i[r].substr(0, s)\r\n }\r\n const d = function (t) {\r\n return g.s(s % 12 || 12, t, '0')\r\n }\r\n const $ = i.meridiem || function (t, e, n) {\r\n const r = t < 12 ? 'AM' : 'PM'\r\n return n ? r.toLowerCase() : r\r\n }\r\n const l = {\r\n YY: String(this.$y).slice(-2),\r\n YYYY: this.$y,\r\n M: a + 1,\r\n MM: g.s(a + 1, 2, '0'),\r\n MMM: h(i.monthsShort, a, f, 3),\r\n MMMM: h(f, a),\r\n D: this.$D,\r\n DD: g.s(this.$D, 2, '0'),\r\n d: String(this.$W),\r\n dd: h(i.weekdaysMin, this.$W, o, 2),\r\n ddd: h(i.weekdaysShort, this.$W, o, 3),\r\n dddd: o[this.$W],\r\n H: String(s),\r\n HH: g.s(s, 2, '0'),\r\n h: d(1),\r\n hh: d(2),\r\n a: $(s, u, !0),\r\n A: $(s, u, !1),\r\n m: String(u),\r\n mm: g.s(u, 2, '0'),\r\n s: String(this.$s),\r\n ss: g.s(this.$s, 2, '0'),\r\n SSS: g.s(this.$ms, 3, '0'),\r\n Z: r\r\n }\r\n return n.replace(c, (t, e) => e || l[t] || r.replace(':', ''))\r\n }, $.utcOffset = function () {\r\n return 15 * -Math.round(this.$d.getTimezoneOffset() / 15)\r\n }, $.diff = function (t, f, h) {\r\n let c; const d = g.p(f)\r\n const $ = v(t)\r\n const l = 6e4 * ($.utcOffset() - this.utcOffset())\r\n const y = this - $\r\n let M = g.m(this, $)\r\n return M = (c = {}, c[o] = M / 12, c[u] = M, c[a] = M / 3, c[s] = (y - l) / 6048e5, c[i] = (y - l) / 864e5, c[r] =\t\t\t\t\ty / 36e5, c[n] = y / 6e4, c[e] = y / 1e3, c)[d] || y, h ? M : g.a(M)\r\n }, $.daysInMonth = function () {\r\n return this.endOf(u).$D\r\n }, $.$locale = function () {\r\n return M[this.$L]\r\n }, $.locale = function (t, e) {\r\n if (!t) return this.$L\r\n const n = this.clone()\r\n const r = D(t, e, !0)\r\n return r && (n.$L = r), n\r\n }, $.clone = function () {\r\n return g.w(this.$d, this)\r\n }, $.toDate = function () {\r\n return new Date(this.valueOf())\r\n }, $.toJSON = function () {\r\n return this.isValid() ? this.toISOString() : null\r\n }, $.toISOString = function () {\r\n return this.$d.toISOString()\r\n }, $.toString = function () {\r\n return this.$d.toUTCString()\r\n }, d\r\n }())\r\n const p = S.prototype\r\n return v.prototype = p, [\r\n ['$ms', t],\r\n ['$s', e],\r\n ['$m', n],\r\n ['$H', r],\r\n ['$W', i],\r\n ['$M', u],\r\n ['$y', o],\r\n ['$D', f]\r\n ].forEach((t) => {\r\n p[t[1]] = function (e) {\r\n return this.$g(e, t[0], t[1])\r\n }\r\n }), v.extend = function (t, e) {\r\n return t.$i || (t(e, S, v), t.$i = !0), v\r\n }, v.locale = D, v.isDayjs = m, v.unix = function (t) {\r\n return v(1e3 * t)\r\n }, v.en = M[y], v.Ls = M, v.p = {}, v\r\n}))\r\n","export default {\r\n props: {\r\n // 是否显示遮罩\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.overlay.show\r\n },\r\n // 层级z-index\r\n zIndex: {\r\n type: [String, Number],\r\n default: uni.$u.props.overlay.zIndex\r\n },\r\n // 遮罩的过渡时间单位为ms\r\n duration: {\r\n type: [String, Number],\r\n default: uni.$u.props.overlay.duration\r\n },\r\n // 不透明度值当做rgba的第四个参数\r\n opacity: {\r\n type: [String, Number],\r\n default: uni.$u.props.overlay.opacity\r\n }\r\n }\r\n}\r\n","function pickExclude(obj, keys) {\r\n\t// 某些情况下type可能会为\r\n if (!['[object Object]', '[object File]'].includes(Object.prototype.toString.call(obj))) {\r\n return {}\r\n }\r\n return Object.keys(obj).reduce((prev, key) => {\r\n if (!keys.includes(key)) {\r\n prev[key] = obj[key]\r\n }\r\n return prev\r\n }, {})\r\n}\r\n\r\nfunction formatImage(res) {\r\n return res.tempFiles.map((item) => ({\r\n ...pickExclude(item, ['path']),\r\n type: 'image',\r\n url: item.path,\r\n thumb: item.path,\r\n\t\tsize: item.size,\r\n\r\n\r\n\r\n }))\r\n}\r\n\r\nfunction formatVideo(res) {\r\n return [\r\n {\r\n ...pickExclude(res, ['tempFilePath', 'thumbTempFilePath', 'errMsg']),\r\n type: 'video',\r\n url: res.tempFilePath,\r\n thumb: res.thumbTempFilePath,\r\n\t\t\tsize: res.size,\r\n\r\n\r\n\r\n }\r\n ]\r\n}\r\n\r\nfunction formatMedia(res) {\r\n return res.tempFiles.map((item) => ({\r\n ...pickExclude(item, ['fileType', 'thumbTempFilePath', 'tempFilePath']),\r\n type: res.type,\r\n url: item.tempFilePath,\r\n thumb: res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath,\r\n\t\tsize: item.size\r\n }))\r\n}\r\n\r\nfunction formatFile(res) {\r\n return res.tempFiles.map((item) => ({ \r\n\t\t...pickExclude(item, ['path']), \r\n\t\turl: item.path, \r\n\t\tsize:item.size,\r\n\r\n\r\n\r\n\r\n\t}))\r\n}\r\nexport function chooseFile({\r\n accept,\r\n multiple,\r\n capture,\r\n compressed,\r\n maxDuration,\r\n sizeType,\r\n camera,\r\n maxCount\r\n}) {\r\n return new Promise((resolve, reject) => {\r\n switch (accept) {\r\n case 'image':\r\n uni.chooseImage({\r\n count: multiple ? Math.min(maxCount, 9) : 1,\r\n sourceType: capture,\r\n sizeType,\r\n success: (res) => resolve(formatImage(res)),\r\n fail: reject\r\n })\r\n break\r\n\r\n // 只有微信小程序才支持chooseMedia接口\r\n case 'media':\r\n wx.chooseMedia({\r\n count: multiple ? Math.min(maxCount, 9) : 1,\r\n sourceType: capture,\r\n maxDuration,\r\n sizeType,\r\n camera,\r\n success: (res) => resolve(formatMedia(res)),\r\n fail: reject\r\n })\r\n break\r\n\r\n case 'video':\r\n uni.chooseVideo({\r\n sourceType: capture,\r\n compressed,\r\n maxDuration,\r\n camera,\r\n success: (res) => resolve(formatVideo(res)),\r\n fail: reject\r\n })\r\n break\r\n\r\n // 只有微信小程序才支持chooseMessageFile接口\r\n case 'file':\r\n\r\n wx.chooseMessageFile({\r\n count: multiple ? maxCount : 1,\r\n type: accept,\r\n success: (res) => resolve(formatFile(res)),\r\n fail: reject\r\n })\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n break\r\n\r\n\t\tdefault: \r\n\t\t\t// 此为保底选项在accept不为上面任意一项的时候选取全部文件\r\n\r\n\t\t\twx.chooseMessageFile({\r\n\t\t\t count: multiple ? maxCount : 1,\r\n\t\t\t type: 'all',\r\n\t\t\t success: (res) => resolve(formatFile(res)),\r\n\t\t\t fail: reject\r\n\t\t\t})\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n })\r\n}\r\n","export default {\r\n watch: {\r\n // 监听accept的变化判断是否符合个平台要求\r\n // 只有微信小程序才支持选择媒体,文件类型,所以这里做一个判断提示\r\n accept: {\r\n immediate: true,\r\n handler(val) {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 接受的文件类型, 可选值为all media image file video\r\n accept: {\r\n type: String,\r\n default: uni.$u.props.upload.accept\r\n },\r\n // \t图片或视频拾取模式当accept为image类型时设置capture可选额外camera可以直接调起摄像头\r\n capture: {\r\n type: [String, Array],\r\n default: uni.$u.props.upload.capture\r\n },\r\n // 当accept为video时生效是否压缩视频默认为true\r\n compressed: {\r\n type: Boolean,\r\n default: uni.$u.props.upload.compressed\r\n },\r\n // 当accept为video时生效可选值为back或front\r\n camera: {\r\n type: String,\r\n default: uni.$u.props.upload.camera\r\n },\r\n // 当accept为video时生效拍摄视频最长拍摄时间单位秒\r\n maxDuration: {\r\n type: Number,\r\n default: uni.$u.props.upload.maxDuration\r\n },\r\n // 上传区域的图标,只能内置图标\r\n uploadIcon: {\r\n type: String,\r\n default: uni.$u.props.upload.uploadIcon\r\n },\r\n // 上传区域的图标的颜色,默认\r\n uploadIconColor: {\r\n type: String,\r\n default: uni.$u.props.upload.uploadIconColor\r\n },\r\n // 是否开启文件读取前事件\r\n useBeforeRead: {\r\n type: Boolean,\r\n default: uni.$u.props.upload.useBeforeRead\r\n },\r\n // 读取后的处理函数\r\n afterRead: {\r\n type: Function,\r\n default: null\r\n },\r\n // 读取前的处理函数\r\n beforeRead: {\r\n type: Function,\r\n default: null\r\n },\r\n // 是否显示组件自带的图片预览功能\r\n previewFullImage: {\r\n type: Boolean,\r\n default: uni.$u.props.upload.previewFullImage\r\n },\r\n // 最大上传数量\r\n maxCount: {\r\n type: [String, Number],\r\n default: uni.$u.props.upload.maxCount\r\n },\r\n // 是否启用\r\n disabled: {\r\n type: Boolean,\r\n default: uni.$u.props.upload.disabled\r\n },\r\n // 预览上传的图片时的裁剪模式和image组件mode属性一致\r\n imageMode: {\r\n type: String,\r\n default: uni.$u.props.upload.imageMode\r\n },\r\n // 标识符,可以在回调函数的第二项参数中获取\r\n name: {\r\n type: String,\r\n default: uni.$u.props.upload.name\r\n },\r\n // 所选的图片的尺寸, 可选值为original compressed\r\n sizeType: {\r\n type: Array,\r\n default: uni.$u.props.upload.sizeType\r\n },\r\n // 是否开启图片多选,部分安卓机型不支持\r\n multiple: {\r\n type: Boolean,\r\n default: uni.$u.props.upload.multiple\r\n },\r\n // 是否展示删除按钮\r\n deletable: {\r\n type: Boolean,\r\n default: uni.$u.props.upload.deletable\r\n },\r\n // 文件大小限制单位为byte\r\n maxSize: {\r\n type: [String, Number],\r\n default: uni.$u.props.upload.maxSize\r\n },\r\n // 显示已上传的文件列表\r\n fileList: {\r\n type: Array,\r\n default: uni.$u.props.upload.fileList\r\n },\r\n // 上传区域的提示文字\r\n uploadText: {\r\n type: String,\r\n default: uni.$u.props.upload.uploadText\r\n },\r\n // 内部预览图片区域和选择图片按钮的区域宽度\r\n width: {\r\n type: [String, Number],\r\n default: uni.$u.props.upload.width\r\n },\r\n // 内部预览图片区域和选择图片按钮的区域高度\r\n height: {\r\n type: [String, Number],\r\n default: uni.$u.props.upload.height\r\n },\r\n // 是否在上传完成后展示预览图\r\n previewImage: {\r\n type: Boolean,\r\n default: uni.$u.props.upload.previewImage\r\n }\r\n }\r\n}\r\n","export default {\r\n 'uicon-level': '\\ue693',\r\n 'uicon-column-line': '\\ue68e',\r\n 'uicon-checkbox-mark': '\\ue807',\r\n 'uicon-folder': '\\ue7f5',\r\n 'uicon-movie': '\\ue7f6',\r\n 'uicon-star-fill': '\\ue669',\r\n 'uicon-star': '\\ue65f',\r\n 'uicon-phone-fill': '\\ue64f',\r\n 'uicon-phone': '\\ue622',\r\n 'uicon-apple-fill': '\\ue881',\r\n 'uicon-chrome-circle-fill': '\\ue885',\r\n 'uicon-backspace': '\\ue67b',\r\n 'uicon-attach': '\\ue632',\r\n 'uicon-cut': '\\ue948',\r\n 'uicon-empty-car': '\\ue602',\r\n 'uicon-empty-coupon': '\\ue682',\r\n 'uicon-empty-address': '\\ue646',\r\n 'uicon-empty-favor': '\\ue67c',\r\n 'uicon-empty-permission': '\\ue686',\r\n 'uicon-empty-news': '\\ue687',\r\n 'uicon-empty-search': '\\ue664',\r\n 'uicon-github-circle-fill': '\\ue887',\r\n 'uicon-rmb': '\\ue608',\r\n 'uicon-person-delete-fill': '\\ue66a',\r\n 'uicon-reload': '\\ue788',\r\n 'uicon-order': '\\ue68f',\r\n 'uicon-server-man': '\\ue6bc',\r\n 'uicon-search': '\\ue62a',\r\n 'uicon-fingerprint': '\\ue955',\r\n 'uicon-more-dot-fill': '\\ue630',\r\n 'uicon-scan': '\\ue662',\r\n 'uicon-share-square': '\\ue60b',\r\n 'uicon-map': '\\ue61d',\r\n 'uicon-map-fill': '\\ue64e',\r\n 'uicon-tags': '\\ue629',\r\n 'uicon-tags-fill': '\\ue651',\r\n 'uicon-bookmark-fill': '\\ue63b',\r\n 'uicon-bookmark': '\\ue60a',\r\n 'uicon-eye': '\\ue613',\r\n 'uicon-eye-fill': '\\ue641',\r\n 'uicon-mic': '\\ue64a',\r\n 'uicon-mic-off': '\\ue649',\r\n 'uicon-calendar': '\\ue66e',\r\n 'uicon-calendar-fill': '\\ue634',\r\n 'uicon-trash': '\\ue623',\r\n 'uicon-trash-fill': '\\ue658',\r\n 'uicon-play-left': '\\ue66d',\r\n 'uicon-play-right': '\\ue610',\r\n 'uicon-minus': '\\ue618',\r\n 'uicon-plus': '\\ue62d',\r\n 'uicon-info': '\\ue653',\r\n 'uicon-info-circle': '\\ue7d2',\r\n 'uicon-info-circle-fill': '\\ue64b',\r\n 'uicon-question': '\\ue715',\r\n 'uicon-error': '\\ue6d3',\r\n 'uicon-close': '\\ue685',\r\n 'uicon-checkmark': '\\ue6a8',\r\n 'uicon-android-circle-fill': '\\ue67e',\r\n 'uicon-android-fill': '\\ue67d',\r\n 'uicon-ie': '\\ue87b',\r\n 'uicon-IE-circle-fill': '\\ue889',\r\n 'uicon-google': '\\ue87a',\r\n 'uicon-google-circle-fill': '\\ue88a',\r\n 'uicon-setting-fill': '\\ue872',\r\n 'uicon-setting': '\\ue61f',\r\n 'uicon-minus-square-fill': '\\ue855',\r\n 'uicon-plus-square-fill': '\\ue856',\r\n 'uicon-heart': '\\ue7df',\r\n 'uicon-heart-fill': '\\ue851',\r\n 'uicon-camera': '\\ue7d7',\r\n 'uicon-camera-fill': '\\ue870',\r\n 'uicon-more-circle': '\\ue63e',\r\n 'uicon-more-circle-fill': '\\ue645',\r\n 'uicon-chat': '\\ue620',\r\n 'uicon-chat-fill': '\\ue61e',\r\n 'uicon-bag-fill': '\\ue617',\r\n 'uicon-bag': '\\ue619',\r\n 'uicon-error-circle-fill': '\\ue62c',\r\n 'uicon-error-circle': '\\ue624',\r\n 'uicon-close-circle': '\\ue63f',\r\n 'uicon-close-circle-fill': '\\ue637',\r\n 'uicon-checkmark-circle': '\\ue63d',\r\n 'uicon-checkmark-circle-fill': '\\ue635',\r\n 'uicon-question-circle-fill': '\\ue666',\r\n 'uicon-question-circle': '\\ue625',\r\n 'uicon-share': '\\ue631',\r\n 'uicon-share-fill': '\\ue65e',\r\n 'uicon-shopping-cart': '\\ue621',\r\n 'uicon-shopping-cart-fill': '\\ue65d',\r\n 'uicon-bell': '\\ue609',\r\n 'uicon-bell-fill': '\\ue640',\r\n 'uicon-list': '\\ue650',\r\n 'uicon-list-dot': '\\ue616',\r\n 'uicon-zhihu': '\\ue6ba',\r\n 'uicon-zhihu-circle-fill': '\\ue709',\r\n 'uicon-zhifubao': '\\ue6b9',\r\n 'uicon-zhifubao-circle-fill': '\\ue6b8',\r\n 'uicon-weixin-circle-fill': '\\ue6b1',\r\n 'uicon-weixin-fill': '\\ue6b2',\r\n 'uicon-twitter-circle-fill': '\\ue6ab',\r\n 'uicon-twitter': '\\ue6aa',\r\n 'uicon-taobao-circle-fill': '\\ue6a7',\r\n 'uicon-taobao': '\\ue6a6',\r\n 'uicon-weibo-circle-fill': '\\ue6a5',\r\n 'uicon-weibo': '\\ue6a4',\r\n 'uicon-qq-fill': '\\ue6a1',\r\n 'uicon-qq-circle-fill': '\\ue6a0',\r\n 'uicon-moments-circel-fill': '\\ue69a',\r\n 'uicon-moments': '\\ue69b',\r\n 'uicon-qzone': '\\ue695',\r\n 'uicon-qzone-circle-fill': '\\ue696',\r\n 'uicon-baidu-circle-fill': '\\ue680',\r\n 'uicon-baidu': '\\ue681',\r\n 'uicon-facebook-circle-fill': '\\ue68a',\r\n 'uicon-facebook': '\\ue689',\r\n 'uicon-car': '\\ue60c',\r\n 'uicon-car-fill': '\\ue636',\r\n 'uicon-warning-fill': '\\ue64d',\r\n 'uicon-warning': '\\ue694',\r\n 'uicon-clock-fill': '\\ue638',\r\n 'uicon-clock': '\\ue60f',\r\n 'uicon-edit-pen': '\\ue612',\r\n 'uicon-edit-pen-fill': '\\ue66b',\r\n 'uicon-email': '\\ue611',\r\n 'uicon-email-fill': '\\ue642',\r\n 'uicon-minus-circle': '\\ue61b',\r\n 'uicon-minus-circle-fill': '\\ue652',\r\n 'uicon-plus-circle': '\\ue62e',\r\n 'uicon-plus-circle-fill': '\\ue661',\r\n 'uicon-file-text': '\\ue663',\r\n 'uicon-file-text-fill': '\\ue665',\r\n 'uicon-pushpin': '\\ue7e3',\r\n 'uicon-pushpin-fill': '\\ue86e',\r\n 'uicon-grid': '\\ue673',\r\n 'uicon-grid-fill': '\\ue678',\r\n 'uicon-play-circle': '\\ue647',\r\n 'uicon-play-circle-fill': '\\ue655',\r\n 'uicon-pause-circle-fill': '\\ue654',\r\n 'uicon-pause': '\\ue8fa',\r\n 'uicon-pause-circle': '\\ue643',\r\n 'uicon-eye-off': '\\ue648',\r\n 'uicon-eye-off-outline': '\\ue62b',\r\n 'uicon-gift-fill': '\\ue65c',\r\n 'uicon-gift': '\\ue65b',\r\n 'uicon-rmb-circle-fill': '\\ue657',\r\n 'uicon-rmb-circle': '\\ue677',\r\n 'uicon-kefu-ermai': '\\ue656',\r\n 'uicon-server-fill': '\\ue751',\r\n 'uicon-coupon-fill': '\\ue8c4',\r\n 'uicon-coupon': '\\ue8ae',\r\n 'uicon-integral': '\\ue704',\r\n 'uicon-integral-fill': '\\ue703',\r\n 'uicon-home-fill': '\\ue964',\r\n 'uicon-home': '\\ue965',\r\n 'uicon-hourglass-half-fill': '\\ue966',\r\n 'uicon-hourglass': '\\ue967',\r\n 'uicon-account': '\\ue628',\r\n 'uicon-plus-people-fill': '\\ue626',\r\n 'uicon-minus-people-fill': '\\ue615',\r\n 'uicon-account-fill': '\\ue614',\r\n 'uicon-thumb-down-fill': '\\ue726',\r\n 'uicon-thumb-down': '\\ue727',\r\n 'uicon-thumb-up': '\\ue733',\r\n 'uicon-thumb-up-fill': '\\ue72f',\r\n 'uicon-lock-fill': '\\ue979',\r\n 'uicon-lock-open': '\\ue973',\r\n 'uicon-lock-opened-fill': '\\ue974',\r\n 'uicon-lock': '\\ue97a',\r\n 'uicon-red-packet-fill': '\\ue690',\r\n 'uicon-photo-fill': '\\ue98b',\r\n 'uicon-photo': '\\ue98d',\r\n 'uicon-volume-off-fill': '\\ue659',\r\n 'uicon-volume-off': '\\ue644',\r\n 'uicon-volume-fill': '\\ue670',\r\n 'uicon-volume': '\\ue633',\r\n 'uicon-red-packet': '\\ue691',\r\n 'uicon-download': '\\ue63c',\r\n 'uicon-arrow-up-fill': '\\ue6b0',\r\n 'uicon-arrow-down-fill': '\\ue600',\r\n 'uicon-play-left-fill': '\\ue675',\r\n 'uicon-play-right-fill': '\\ue676',\r\n 'uicon-rewind-left-fill': '\\ue679',\r\n 'uicon-rewind-right-fill': '\\ue67a',\r\n 'uicon-arrow-downward': '\\ue604',\r\n 'uicon-arrow-leftward': '\\ue601',\r\n 'uicon-arrow-rightward': '\\ue603',\r\n 'uicon-arrow-upward': '\\ue607',\r\n 'uicon-arrow-down': '\\ue60d',\r\n 'uicon-arrow-right': '\\ue605',\r\n 'uicon-arrow-left': '\\ue60e',\r\n 'uicon-arrow-up': '\\ue606',\r\n 'uicon-skip-back-left': '\\ue674',\r\n 'uicon-skip-forward-right': '\\ue672',\r\n 'uicon-rewind-right': '\\ue66f',\r\n 'uicon-rewind-left': '\\ue671',\r\n 'uicon-arrow-right-double': '\\ue68d',\r\n 'uicon-arrow-left-double': '\\ue68c',\r\n 'uicon-wifi-off': '\\ue668',\r\n 'uicon-wifi': '\\ue667',\r\n 'uicon-empty-data': '\\ue62f',\r\n 'uicon-empty-history': '\\ue684',\r\n 'uicon-empty-list': '\\ue68b',\r\n 'uicon-empty-page': '\\ue627',\r\n 'uicon-empty-order': '\\ue639',\r\n 'uicon-man': '\\ue697',\r\n 'uicon-woman': '\\ue69c',\r\n 'uicon-man-add': '\\ue61c',\r\n 'uicon-man-add-fill': '\\ue64c',\r\n 'uicon-man-delete': '\\ue61a',\r\n 'uicon-man-delete-fill': '\\ue66a',\r\n 'uicon-zh': '\\ue70a',\r\n 'uicon-en': '\\ue692'\r\n}\r\n","export default {\r\n props: {\r\n // 图标类名\r\n name: {\r\n type: String,\r\n default: uni.$u.props.icon.name\r\n },\r\n // 图标颜色,可接受主题色\r\n color: {\r\n type: String,\r\n default: uni.$u.props.icon.color\r\n },\r\n // 字体大小单位px\r\n size: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.size\r\n },\r\n // 是否显示粗体\r\n bold: {\r\n type: Boolean,\r\n default: uni.$u.props.icon.bold\r\n },\r\n // 点击图标的时候传递事件出去的index用于区分点击了哪一个\r\n index: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.index\r\n },\r\n // 触摸图标时的类名\r\n hoverClass: {\r\n type: String,\r\n default: uni.$u.props.icon.hoverClass\r\n },\r\n // 自定义扩展前缀,方便用户扩展自己的图标库\r\n customPrefix: {\r\n type: String,\r\n default: uni.$u.props.icon.customPrefix\r\n },\r\n // 图标右边或者下面的文字\r\n label: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.label\r\n },\r\n // label的位置只能右边或者下边\r\n labelPos: {\r\n type: String,\r\n default: uni.$u.props.icon.labelPos\r\n },\r\n // label的大小\r\n labelSize: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.labelSize\r\n },\r\n // label的颜色\r\n labelColor: {\r\n type: String,\r\n default: uni.$u.props.icon.labelColor\r\n },\r\n // label与图标的距离\r\n space: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.space\r\n },\r\n // 图片的mode\r\n imgMode: {\r\n type: String,\r\n default: uni.$u.props.icon.imgMode\r\n },\r\n // 用于显示图片小图标时,图片的宽度\r\n width: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.width\r\n },\r\n // 用于显示图片小图标时,图片的高度\r\n height: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.height\r\n },\r\n // 用于解决某些情况下,让图标垂直居中的用途\r\n top: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.top\r\n },\r\n // 是否阻止事件传播\r\n stop: {\r\n type: Boolean,\r\n default: uni.$u.props.icon.stop\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n\r\n\r\n\r\n content: String,\r\n copyLink: {\r\n\t\t type: Boolean,\r\n\t\t default: uni.$u.props.parse.copyLink\r\n },\r\n domain: String,\r\n errorImg: {\r\n\t\t type: String,\r\n\t\t default: uni.$u.props.parse.errorImg\r\n },\r\n lazyLoad: {\r\n\t\t type: Boolean,\r\n\t\t default: uni.$u.props.parse.lazyLoad\r\n },\r\n loadingImg: {\r\n\t\t type: String,\r\n\t\t default: uni.$u.props.parse.loadingImg\r\n },\r\n pauseVideo: {\r\n\t\t type: Boolean,\r\n\t\t default: uni.$u.props.parse.pauseVideo\r\n },\r\n previewImg: {\r\n\t\t type: Boolean,\r\n\t\t default: uni.$u.props.parse.previewImg\r\n },\r\n scrollTable: Boolean,\r\n selectable: Boolean,\r\n setTitle: {\r\n\t\t type: Boolean,\r\n\t\t default: uni.$u.props.parse.setTitle\r\n },\r\n showImgMenu: {\r\n\t\t type: Boolean,\r\n\t\t default: uni.$u.props.parse.showImgMenu\r\n },\r\n tagStyle: Object,\r\n useAnchor: null\r\n\t }\r\n}\r\n","'use strict'\r\n\r\n/**\r\n * @fileoverview html 解析器\r\n */\r\n// 配置\r\nconst config = {\r\n // 信任的标签(保持标签名不变)\r\n trustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'),\r\n // 块级标签(转为 div其他的非信任标签转为 span\r\n blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'),\r\n // 要移除的标签\r\n ignoreTags: makeMap('area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr'),\r\n // 自闭合的标签\r\n voidTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'),\r\n // html 实体\r\n entities: {\r\n lt: '<',\r\n gt: '>',\r\n quot: '\"',\r\n apos: \"'\",\r\n ensp: '\\u2002',\r\n emsp: '\\u2003',\r\n nbsp: '\\xA0',\r\n semi: ';',\r\n ndash: '',\r\n mdash: '—',\r\n middot: '·',\r\n lsquo: '',\r\n rsquo: '',\r\n ldquo: '“',\r\n rdquo: '”',\r\n bull: '•',\r\n hellip: '…'\r\n },\r\n // 默认的标签样式\r\n tagStyle: {\r\n\r\n address: 'font-style:italic',\r\n big: 'display:inline;font-size:1.2em',\r\n caption: 'display:table-caption;text-align:center',\r\n center: 'text-align:center',\r\n cite: 'font-style:italic',\r\n dd: 'margin-left:40px',\r\n mark: 'background-color:yellow',\r\n pre: 'font-family:monospace;white-space:pre',\r\n s: 'text-decoration:line-through',\r\n small: 'display:inline;font-size:0.8em',\r\n u: 'text-decoration:underline'\r\n\r\n }\r\n}\r\nconst { windowWidth } = uni.getSystemInfoSync()\r\nconst blankChar = makeMap(' ,\\r,\\n,\\t,\\f')\r\nlet idIndex = 0\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * @description 创建 map\r\n * @param {String} str 逗号分隔\r\n */\r\n\r\nfunction makeMap(str) {\r\n const map = Object.create(null)\r\n const list = str.split(',')\r\n\r\n for (let i = list.length; i--;) {\r\n map[list[i]] = true\r\n }\r\n\r\n return map\r\n}\r\n/**\r\n * @description 解码 html 实体\r\n * @param {String} str 要解码的字符串\r\n * @param {Boolean} amp 要不要解码 &amp;\r\n * @returns {String} 解码后的字符串\r\n */\r\n\r\nfunction decodeEntity(str, amp) {\r\n let i = str.indexOf('&')\r\n\r\n while (i != -1) {\r\n const j = str.indexOf(';', i + 3)\r\n let code = void 0\r\n if (j == -1) break\r\n\r\n if (str[i + 1] == '#') {\r\n // &#123; 形式的实体\r\n code = parseInt((str[i + 2] == 'x' ? '0' : '') + str.substring(i + 2, j))\r\n if (!isNaN(code)) str = str.substr(0, i) + String.fromCharCode(code) + str.substr(j + 1)\r\n } else {\r\n // &nbsp; 形式的实体\r\n code = str.substring(i + 1, j)\r\n if (config.entities[code] || code == 'amp' && amp) str = str.substr(0, i) + (config.entities[code] || '&') + str.substr(j + 1)\r\n }\r\n\r\n i = str.indexOf('&', i + 1)\r\n }\r\n\r\n return str\r\n}\r\n/**\r\n * @description html 解析器\r\n * @param {Object} vm 组件实例\r\n */\r\n\r\nfunction parser(vm) {\r\n this.options = vm || {}\r\n this.tagStyle = Object.assign(config.tagStyle, this.options.tagStyle)\r\n this.imgList = vm.imgList || []\r\n this.plugins = vm.plugins || []\r\n this.attrs = Object.create(null)\r\n this.stack = []\r\n this.nodes = []\r\n}\r\n/**\r\n * @description 执行解析\r\n * @param {String} content 要解析的文本\r\n */\r\n\r\nparser.prototype.parse = function (content) {\r\n // 插件处理\r\n for (let i = this.plugins.length; i--;) {\r\n if (this.plugins[i].onUpdate) content = this.plugins[i].onUpdate(content, config) || content\r\n }\r\n\r\n new lexer(this).parse(content) // 出栈未闭合的标签\r\n\r\n while (this.stack.length) {\r\n this.popNode()\r\n }\r\n\r\n return this.nodes\r\n}\r\n/**\r\n * @description 将标签暴露出来(不被 rich-text 包含)\r\n */\r\n\r\nparser.prototype.expose = function () {\r\n\r\n for (let i = this.stack.length; i--;) {\r\n const item = this.stack[i]\r\n if (item.name == 'a' || item.c) return\r\n item.c = 1\r\n }\r\n}\r\n/**\r\n * @description 处理插件\r\n * @param {Object} node 要处理的标签\r\n * @returns {Boolean} 是否要移除此标签\r\n */\r\n\r\nparser.prototype.hook = function (node) {\r\n for (let i = this.plugins.length; i--;) {\r\n if (this.plugins[i].onParse && this.plugins[i].onParse(node, this) == false) return false\r\n }\r\n\r\n return true\r\n}\r\n/**\r\n * @description 将链接拼接上主域名\r\n * @param {String} url 需要拼接的链接\r\n * @returns {String} 拼接后的链接\r\n */\r\n\r\nparser.prototype.getUrl = function (url) {\r\n const { domain } = this.options\r\n\r\n if (url[0] == '/') {\r\n // // 开头的补充协议名\r\n if (url[1] == '/') url = `${domain ? domain.split('://')[0] : 'http'}:${url}` // 否则补充整个域名\r\n else if (domain) url = domain + url\r\n } else if (domain && !url.includes('data:') && !url.includes('://')) url = `${domain}/${url}`\r\n\r\n return url\r\n}\r\n/**\r\n * @description 解析样式表\r\n * @param {Object} node 标签\r\n * @returns {Object}\r\n */\r\n\r\nparser.prototype.parseStyle = function (node) {\r\n const { attrs } = node\r\n const list = (this.tagStyle[node.name] || '').split(';').concat((attrs.style || '').split(';'))\r\n const styleObj = {}\r\n let tmp = ''\r\n\r\n if (attrs.id) {\r\n // 暴露锚点\r\n if (this.options.useAnchor) this.expose(); else if (node.name != 'img' && node.name != 'a' && node.name != 'video' && node.name != 'audio') attrs.id = void 0\r\n } // 转换 width 和 height 属性\r\n\r\n if (attrs.width) {\r\n styleObj.width = parseFloat(attrs.width) + (attrs.width.includes('%') ? '%' : 'px')\r\n attrs.width = void 0\r\n }\r\n\r\n if (attrs.height) {\r\n styleObj.height = parseFloat(attrs.height) + (attrs.height.includes('%') ? '%' : 'px')\r\n attrs.height = void 0\r\n }\r\n\r\n for (let i = 0, len = list.length; i < len; i++) {\r\n const info = list[i].split(':')\r\n if (info.length < 2) continue\r\n const key = info.shift().trim().toLowerCase()\r\n let value = info.join(':').trim() // 兼容性的 css 不压缩\r\n\r\n if (value[0] == '-' && value.lastIndexOf('-') > 0 || value.includes('safe')) tmp += ';'.concat(key, ':').concat(value) // 重复的样式进行覆盖\r\n else if (!styleObj[key] || value.includes('import') || !styleObj[key].includes('import')) {\r\n // 填充链接\r\n if (value.includes('url')) {\r\n let j = value.indexOf('(') + 1\r\n\r\n if (j) {\r\n while (value[j] == '\"' || value[j] == \"'\" || blankChar[value[j]]) {\r\n j++\r\n }\r\n\r\n value = value.substr(0, j) + this.getUrl(value.substr(j))\r\n }\r\n } // 转换 rpxrich-text 内部不支持 rpx\r\n else if (value.includes('rpx')) {\r\n value = value.replace(/[0-9.]+\\s*rpx/g, ($) => `${parseFloat($) * windowWidth / 750}px`)\r\n }\r\n\r\n styleObj[key] = value\r\n }\r\n }\r\n\r\n node.attrs.style = tmp\r\n return styleObj\r\n}\r\n/**\r\n * @description 解析到标签名\r\n * @param {String} name 标签名\r\n * @private\r\n */\r\n\r\nparser.prototype.onTagName = function (name) {\r\n this.tagName = this.xml ? name : name.toLowerCase()\r\n if (this.tagName == 'svg') this.xml = true // svg 标签内大小写敏感\r\n}\r\n/**\r\n * @description 解析到属性名\r\n * @param {String} name 属性名\r\n * @private\r\n */\r\n\r\nparser.prototype.onAttrName = function (name) {\r\n name = this.xml ? name : name.toLowerCase()\r\n\r\n if (name.substr(0, 5) == 'data-') {\r\n // data-src 自动转为 src\r\n if (name == 'data-src' && !this.attrs.src) this.attrName = 'src' // a 和 img 标签保留 data- 的属性,可以在 imgtap 和 linktap 事件中使用\r\n else if (this.tagName == 'img' || this.tagName == 'a') this.attrName = name // 剩余的移除以减小大小\r\n else this.attrName = void 0\r\n } else {\r\n this.attrName = name\r\n this.attrs[name] = 'T' // boolean 型属性缺省设置\r\n }\r\n}\r\n/**\r\n * @description 解析到属性值\r\n * @param {String} val 属性值\r\n * @private\r\n */\r\n\r\nparser.prototype.onAttrVal = function (val) {\r\n const name = this.attrName || '' // 部分属性进行实体解码\r\n\r\n if (name == 'style' || name == 'href') this.attrs[name] = decodeEntity(val, true) // 拼接主域名\r\n else if (name.includes('src')) this.attrs[name] = this.getUrl(decodeEntity(val, true)); else if (name) this.attrs[name] = val\r\n}\r\n/**\r\n * @description 解析到标签开始\r\n * @param {Boolean} selfClose 是否有自闭合标识 />\r\n * @private\r\n */\r\n\r\nparser.prototype.onOpenTag = function (selfClose) {\r\n // 拼装 node\r\n const node = Object.create(null)\r\n node.name = this.tagName\r\n node.attrs = this.attrs\r\n this.attrs = Object.create(null)\r\n const { attrs } = node\r\n const parent = this.stack[this.stack.length - 1]\r\n const siblings = parent ? parent.children : this.nodes\r\n const close = this.xml ? selfClose : config.voidTags[node.name] // 转换 embed 标签\r\n\r\n if (node.name == 'embed') {\r\n\r\n const src = attrs.src || '' // 按照后缀名和 type 将 embed 转为 video 或 audio\r\n\r\n if (src.includes('.mp4') || src.includes('.3gp') || src.includes('.m3u8') || (attrs.type || '').includes('video')) node.name = 'video'; else if (src.includes('.mp3') || src.includes('.wav') || src.includes('.aac') || src.includes('.m4a') || (attrs.type || '').includes('audio')) node.name = 'audio'\r\n if (attrs.autostart) attrs.autoplay = 'T'\r\n attrs.controls = 'T'\r\n\r\n\r\n\r\n }\r\n // 处理音视频\r\n\r\n if (node.name == 'video' || node.name == 'audio') {\r\n // 设置 id 以便获取 context\r\n if (node.name == 'video' && !attrs.id) attrs.id = `v${idIndex++}` // 没有设置 controls 也没有设置 autoplay 的自动设置 controls\r\n\r\n if (!attrs.controls && !attrs.autoplay) attrs.controls = 'T' // 用数组存储所有可用的 source\r\n\r\n node.src = []\r\n\r\n if (attrs.src) {\r\n node.src.push(attrs.src)\r\n attrs.src = void 0\r\n }\r\n\r\n this.expose()\r\n }\r\n // 处理自闭合标签\r\n\r\n if (close) {\r\n if (!this.hook(node) || config.ignoreTags[node.name]) {\r\n // 通过 base 标签设置主域名\r\n if (node.name == 'base' && !this.options.domain) this.options.domain = attrs.href\r\n // 设置 source 标签(仅父节点为 video 或 audio 时有效)\r\n else if (node.name == 'source' && parent && (parent.name == 'video' || parent.name == 'audio') && attrs.src) parent.src.push(attrs.src)\r\n\r\n return\r\n } // 解析 style\r\n\r\n const styleObj = this.parseStyle(node) // 处理图片\r\n\r\n if (node.name == 'img') {\r\n if (attrs.src) {\r\n // 标记 webp\r\n if (attrs.src.includes('webp')) node.webp = 'T' // data url 图片如果没有设置 original-src 默认为不可预览的小图片\r\n\r\n if (attrs.src.includes('data:') && !attrs['original-src']) attrs.ignore = 'T'\r\n\r\n if (!attrs.ignore || node.webp || attrs.src.includes('cloud://')) {\r\n for (let i = this.stack.length; i--;) {\r\n const item = this.stack[i]\r\n\r\n if (item.name == 'a') {\r\n node.a = item.attrs\r\n break\r\n }\r\n\r\n const style = item.attrs.style || ''\r\n\r\n if (style.includes('flex:') && !style.includes('flex:0') && !style.includes('flex: 0') && (!styleObj.width || !styleObj.width.includes('%'))) {\r\n styleObj.width = '100% !important'\r\n styleObj.height = ''\r\n\r\n for (let j = i + 1; j < this.stack.length; j++) {\r\n this.stack[j].attrs.style = (this.stack[j].attrs.style || '').replace('inline-', '')\r\n }\r\n } else if (style.includes('flex') && styleObj.width == '100%') {\r\n for (let _j = i + 1; _j < this.stack.length; _j++) {\r\n const _style = this.stack[_j].attrs.style || ''\r\n\r\n if (!_style.includes(';width') && !_style.includes(' width') && _style.indexOf('width') != 0) {\r\n styleObj.width = ''\r\n break\r\n }\r\n }\r\n } else if (style.includes('inline-block')) {\r\n if (styleObj.width && styleObj.width[styleObj.width.length - 1] == '%') {\r\n item.attrs.style += `;max-width:${styleObj.width}`\r\n styleObj.width = ''\r\n } else item.attrs.style += ';max-width:100%'\r\n }\r\n\r\n item.c = 1\r\n }\r\n\r\n attrs.i = this.imgList.length.toString()\r\n\r\n let _src = attrs['original-src'] || attrs.src\r\n\r\n if (this.imgList.includes(_src)) {\r\n // 如果有重复的链接则对域名进行随机大小写变换避免预览时错位\r\n let _i = _src.indexOf('://')\r\n\r\n if (_i != -1) {\r\n _i += 3\r\n\r\n let newSrc = _src.substr(0, _i)\r\n\r\n for (; _i < _src.length; _i++) {\r\n if (_src[_i] == '/') break\r\n newSrc += Math.random() > 0.5 ? _src[_i].toUpperCase() : _src[_i]\r\n }\r\n\r\n newSrc += _src.substr(_i)\r\n _src = newSrc\r\n }\r\n }\r\n\r\n this.imgList.push(_src)\r\n\r\n\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n if (styleObj.display == 'inline') styleObj.display = ''\r\n\r\n if (attrs.ignore) {\r\n styleObj['max-width'] = styleObj['max-width'] || '100%'\r\n attrs.style += ';-webkit-touch-callout:none'\r\n }\r\n // 设置的宽度超出屏幕,为避免变形,高度转为自动\r\n\r\n if (parseInt(styleObj.width) > windowWidth) styleObj.height = void 0 // 记录是否设置了宽高\r\n\r\n if (styleObj.width) {\r\n if (styleObj.width.includes('auto')) styleObj.width = ''; else {\r\n node.w = 'T'\r\n if (styleObj.height && !styleObj.height.includes('auto')) node.h = 'T'\r\n }\r\n }\r\n } else if (node.name == 'svg') {\r\n siblings.push(node)\r\n this.stack.push(node)\r\n this.popNode()\r\n return\r\n }\r\n\r\n for (const key in styleObj) {\r\n if (styleObj[key]) attrs.style += ';'.concat(key, ':').concat(styleObj[key].replace(' !important', ''))\r\n }\r\n\r\n attrs.style = attrs.style.substr(1) || void 0\r\n } else {\r\n if (node.name == 'pre' || (attrs.style || '').includes('white-space') && attrs.style.includes('pre')) this.pre = node.pre = true\r\n node.children = []\r\n this.stack.push(node)\r\n } // 加入节点树\r\n\r\n siblings.push(node)\r\n}\r\n/**\r\n * @description 解析到标签结束\r\n * @param {String} name 标签名\r\n * @private\r\n */\r\n\r\nparser.prototype.onCloseTag = function (name) {\r\n // 依次出栈到匹配为止\r\n name = this.xml ? name : name.toLowerCase()\r\n let i\r\n\r\n for (i = this.stack.length; i--;) {\r\n if (this.stack[i].name == name) break\r\n }\r\n\r\n if (i != -1) {\r\n while (this.stack.length > i) {\r\n this.popNode()\r\n }\r\n } else if (name == 'p' || name == 'br') {\r\n const siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes\r\n siblings.push({\r\n name,\r\n attrs: {}\r\n })\r\n }\r\n}\r\n/**\r\n * @description 处理标签出栈\r\n * @private\r\n */\r\n\r\nparser.prototype.popNode = function () {\r\n const node = this.stack.pop()\r\n let { attrs } = node\r\n const { children } = node\r\n const parent = this.stack[this.stack.length - 1]\r\n const siblings = parent ? parent.children : this.nodes\r\n\r\n if (!this.hook(node) || config.ignoreTags[node.name]) {\r\n // 获取标题\r\n if (node.name == 'title' && children.length && children[0].type == 'text' && this.options.setTitle) {\r\n uni.setNavigationBarTitle({\r\n title: children[0].text\r\n })\r\n }\r\n siblings.pop()\r\n return\r\n }\r\n\r\n if (node.pre) {\r\n // 是否合并空白符标识\r\n node.pre = this.pre = void 0\r\n\r\n for (let i = this.stack.length; i--;) {\r\n if (this.stack[i].pre) this.pre = true\r\n }\r\n }\r\n\r\n const styleObj = {} // 转换 svg\r\n\r\n if (node.name == 'svg') {\r\n\r\n let src = ''\r\n const { style } = attrs\r\n attrs.style = ''\r\n attrs.xmlns = 'http://www.w3.org/2000/svg';\r\n\r\n (function traversal(node) {\r\n src += `<${node.name}`\r\n\r\n for (let item in node.attrs) {\r\n const val = node.attrs[item]\r\n\r\n if (val) {\r\n if (item == 'viewbox') item = 'viewBox'\r\n src += ' '.concat(item, '=\"').concat(val, '\"')\r\n }\r\n }\r\n\r\n if (!node.children) src += '/>'; else {\r\n src += '>'\r\n\r\n for (let _i2 = 0; _i2 < node.children.length; _i2++) {\r\n traversal(node.children[_i2])\r\n }\r\n\r\n src += `</${node.name}>`\r\n }\r\n }(node))\r\n\r\n node.name = 'img'\r\n node.attrs = {\r\n src: `data:image/svg+xml;utf8,${src.replace(/#/g, '%23')}`,\r\n style,\r\n ignore: 'T'\r\n }\r\n node.children = void 0\r\n\r\n this.xml = false\r\n return\r\n }\r\n // 转换 align 属性\r\n\r\n if (attrs.align) {\r\n if (node.name == 'table') {\r\n if (attrs.align == 'center') styleObj['margin-inline-start'] = styleObj['margin-inline-end'] = 'auto'; else styleObj.float = attrs.align\r\n } else styleObj['text-align'] = attrs.align\r\n\r\n attrs.align = void 0\r\n } // 转换 font 标签的属性\r\n\r\n if (node.name == 'font') {\r\n if (attrs.color) {\r\n styleObj.color = attrs.color\r\n attrs.color = void 0\r\n }\r\n\r\n if (attrs.face) {\r\n styleObj['font-family'] = attrs.face\r\n attrs.face = void 0\r\n }\r\n\r\n if (attrs.size) {\r\n let size = parseInt(attrs.size)\r\n\r\n if (!isNaN(size)) {\r\n if (size < 1) size = 1; else if (size > 7) size = 7\r\n styleObj['font-size'] = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'][size - 1]\r\n }\r\n\r\n attrs.size = void 0\r\n }\r\n }\r\n // 一些编辑器的自带 class\r\n\r\n if ((attrs.class || '').includes('align-center')) styleObj['text-align'] = 'center'\r\n Object.assign(styleObj, this.parseStyle(node))\r\n\r\n if (parseInt(styleObj.width) > windowWidth) {\r\n styleObj['max-width'] = '100%'\r\n styleObj['box-sizing'] = 'border-box'\r\n }\r\n\r\n if (config.blockTags[node.name]) node.name = 'div' // 未知标签转为 span避免无法显示\r\n else if (!config.trustTags[node.name] && !this.xml) node.name = 'span'\r\n if (node.name == 'a' || node.name == 'ad'\r\n\r\n ) this.expose()\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n // 列表处理\r\n else if ((node.name == 'ul' || node.name == 'ol') && node.c) {\r\n const types = {\r\n a: 'lower-alpha',\r\n A: 'upper-alpha',\r\n i: 'lower-roman',\r\n I: 'upper-roman'\r\n }\r\n\r\n if (types[attrs.type]) {\r\n attrs.style += `;list-style-type:${types[attrs.type]}`\r\n attrs.type = void 0\r\n }\r\n\r\n for (let _i4 = children.length; _i4--;) {\r\n if (children[_i4].name == 'li') children[_i4].c = 1\r\n }\r\n } // 表格处理\r\n else if (node.name == 'table') {\r\n // cellpadding、cellspacing、border 这几个常用表格属性需要通过转换实现\r\n let padding = parseFloat(attrs.cellpadding)\r\n let spacing = parseFloat(attrs.cellspacing)\r\n const border = parseFloat(attrs.border)\r\n\r\n if (node.c) {\r\n // padding 和 spacing 默认 2\r\n if (isNaN(padding)) padding = 2\r\n if (isNaN(spacing)) spacing = 2\r\n }\r\n\r\n if (border) attrs.style += `;border:${border}px solid gray`\r\n\r\n if (node.flag && node.c) {\r\n // 有 colspan 或 rowspan 且含有链接的表格通过 grid 布局实现\r\n styleObj.display = 'grid'\r\n\r\n if (spacing) {\r\n styleObj['grid-gap'] = `${spacing}px`\r\n styleObj.padding = `${spacing}px`\r\n } // 无间隔的情况下避免边框重叠\r\n else if (border) attrs.style += ';border-left:0;border-top:0'\r\n\r\n const width = []\r\n // 表格的列宽\r\n const trList = []\r\n // tr 列表\r\n const cells = []\r\n // 保存新的单元格\r\n const map = {}; // 被合并单元格占用的格子\r\n\r\n (function traversal(nodes) {\r\n for (let _i5 = 0; _i5 < nodes.length; _i5++) {\r\n if (nodes[_i5].name == 'tr') trList.push(nodes[_i5]); else traversal(nodes[_i5].children || [])\r\n }\r\n }(children))\r\n\r\n for (let row = 1; row <= trList.length; row++) {\r\n let col = 1\r\n\r\n for (let j = 0; j < trList[row - 1].children.length; j++, col++) {\r\n const td = trList[row - 1].children[j]\r\n\r\n if (td.name == 'td' || td.name == 'th') {\r\n // 这个格子被上面的单元格占用,则列号++\r\n while (map[`${row}.${col}`]) {\r\n col++\r\n }\r\n\r\n let _style2 = td.attrs.style || ''\r\n const start = _style2.indexOf('width') ? _style2.indexOf(';width') : 0 // 提取出 td 的宽度\r\n\r\n if (start != -1) {\r\n let end = _style2.indexOf(';', start + 6)\r\n\r\n if (end == -1) end = _style2.length\r\n if (!td.attrs.colspan) width[col] = _style2.substring(start ? start + 7 : 6, end)\r\n _style2 = _style2.substr(0, start) + _style2.substr(end)\r\n }\r\n\r\n _style2 += (border ? ';border:'.concat(border, 'px solid gray') + (spacing ? '' : ';border-right:0;border-bottom:0') : '') + (padding ? ';padding:'.concat(padding, 'px') : '') // 处理列合并\r\n\r\n if (td.attrs.colspan) {\r\n _style2 += ';grid-column-start:'.concat(col, ';grid-column-end:').concat(col + parseInt(td.attrs.colspan))\r\n if (!td.attrs.rowspan) _style2 += ';grid-row-start:'.concat(row, ';grid-row-end:').concat(row + 1)\r\n col += parseInt(td.attrs.colspan) - 1\r\n } // 处理行合并\r\n\r\n if (td.attrs.rowspan) {\r\n _style2 += ';grid-row-start:'.concat(row, ';grid-row-end:').concat(row + parseInt(td.attrs.rowspan))\r\n if (!td.attrs.colspan) _style2 += ';grid-column-start:'.concat(col, ';grid-column-end:').concat(col + 1) // 记录下方单元格被占用\r\n\r\n for (let k = 1; k < td.attrs.rowspan; k++) {\r\n map[`${row + k}.${col}`] = 1\r\n }\r\n }\r\n\r\n if (_style2) td.attrs.style = _style2\r\n cells.push(td)\r\n }\r\n }\r\n\r\n if (row == 1) {\r\n let temp = ''\r\n\r\n for (let _i6 = 1; _i6 < col; _i6++) {\r\n temp += `${width[_i6] ? width[_i6] : 'auto'} `\r\n }\r\n\r\n styleObj['grid-template-columns'] = temp\r\n }\r\n }\r\n\r\n node.children = cells\r\n } else {\r\n // 没有使用合并单元格的表格通过 table 布局实现\r\n if (node.c) styleObj.display = 'table'\r\n if (!isNaN(spacing)) styleObj['border-spacing'] = `${spacing}px`\r\n\r\n if (border || padding) {\r\n // 遍历\r\n (function traversal(nodes) {\r\n for (let _i7 = 0; _i7 < nodes.length; _i7++) {\r\n const _td = nodes[_i7]\r\n\r\n if (_td.name == 'th' || _td.name == 'td') {\r\n if (border) _td.attrs.style = 'border:'.concat(border, 'px solid gray;').concat(_td.attrs.style || '')\r\n if (padding) _td.attrs.style = 'padding:'.concat(padding, 'px;').concat(_td.attrs.style || '')\r\n } else if (_td.children) traversal(_td.children)\r\n }\r\n }(children))\r\n }\r\n } // 给表格添加一个单独的横向滚动层\r\n\r\n if (this.options.scrollTable && !(attrs.style || '').includes('inline')) {\r\n const table = { ...node }\r\n node.name = 'div'\r\n node.attrs = {\r\n style: 'overflow:auto'\r\n }\r\n node.children = [table]\r\n attrs = table.attrs\r\n }\r\n } else if ((node.name == 'td' || node.name == 'th') && (attrs.colspan || attrs.rowspan)) {\r\n for (let _i8 = this.stack.length; _i8--;) {\r\n if (this.stack[_i8].name == 'table') {\r\n this.stack[_i8].flag = 1 // 指示含有合并单元格\r\n\r\n break\r\n }\r\n }\r\n } // 转换 ruby\r\n else if (node.name == 'ruby') {\r\n node.name = 'span'\r\n\r\n for (let _i9 = 0; _i9 < children.length - 1; _i9++) {\r\n if (children[_i9].type == 'text' && children[_i9 + 1].name == 'rt') {\r\n children[_i9] = {\r\n name: 'div',\r\n attrs: {\r\n style: 'display:inline-block'\r\n },\r\n children: [{\r\n name: 'div',\r\n attrs: {\r\n style: 'font-size:50%;text-align:start'\r\n },\r\n children: children[_i9 + 1].children\r\n }, children[_i9]]\r\n }\r\n children.splice(_i9 + 1, 1)\r\n }\r\n }\r\n } else if (node.c) {\r\n node.c = 2\r\n\r\n for (let _i10 = node.children.length; _i10--;) {\r\n if (!node.children[_i10].c || node.children[_i10].name == 'table') node.c = 1\r\n }\r\n }\r\n if ((styleObj.display || '').includes('flex') && !node.c) {\r\n for (let _i11 = children.length; _i11--;) {\r\n const _item = children[_i11]\r\n\r\n if (_item.f) {\r\n _item.attrs.style = (_item.attrs.style || '') + _item.f\r\n _item.f = void 0\r\n }\r\n }\r\n } // flex 布局时部分样式需要提取到 rich-text 外层\r\n\r\n const flex = parent && (parent.attrs.style || '').includes('flex')\r\n // 检查基础库版本 virtualHost 是否可用\r\n && !(node.c && wx.getNFCAdapter)\r\n\r\n\r\n\r\n if (flex) node.f = ';max-width:100%'\r\n\r\n for (const key in styleObj) {\r\n if (styleObj[key]) {\r\n const val = ';'.concat(key, ':').concat(styleObj[key].replace(' !important', ''))\r\n\r\n if (flex && (key.includes('flex') && key != 'flex-direction' || key == 'align-self' || styleObj[key][0] == '-' || key == 'width' && val.includes('%'))) {\r\n node.f += val\r\n if (key == 'width') attrs.style += ';width:100%'\r\n } else\r\n { attrs.style += val }\r\n }\r\n }\r\n\r\n attrs.style = attrs.style.substr(1) || void 0\r\n}\r\n/**\r\n * @description 解析到文本\r\n * @param {String} text 文本内容\r\n */\r\n\r\nparser.prototype.onText = function (text) {\r\n if (!this.pre) {\r\n // 合并空白符\r\n let trim = ''\r\n let flag\r\n\r\n for (let i = 0, len = text.length; i < len; i++) {\r\n if (!blankChar[text[i]]) trim += text[i]; else {\r\n if (trim[trim.length - 1] != ' ') trim += ' '\r\n if (text[i] == '\\n' && !flag) flag = true\r\n }\r\n } // 去除含有换行符的空串\r\n\r\n if (trim == ' ' && flag) return\r\n text = trim\r\n }\r\n\r\n const node = Object.create(null)\r\n node.type = 'text'\r\n node.text = decodeEntity(text)\r\n\r\n if (this.hook(node)) {\r\n const siblings = this.stack.length ? this.stack[this.stack.length - 1].children : this.nodes\r\n siblings.push(node)\r\n }\r\n}\r\n/**\r\n * @description html 词法分析器\r\n * @param {Object} handler 高层处理器\r\n */\r\n\r\nfunction lexer(handler) {\r\n this.handler = handler\r\n}\r\n/**\r\n * @description 执行解析\r\n * @param {String} content 要解析的文本\r\n */\r\n\r\nlexer.prototype.parse = function (content) {\r\n this.content = content || ''\r\n this.i = 0 // 标记解析位置\r\n\r\n this.start = 0 // 标记一个单词的开始位置\r\n\r\n this.state = this.text // 当前状态\r\n\r\n for (let len = this.content.length; this.i != -1 && this.i < len;) {\r\n this.state()\r\n }\r\n}\r\n/**\r\n * @description 检查标签是否闭合\r\n * @param {String} method 如果闭合要进行的操作\r\n * @returns {Boolean} 是否闭合\r\n * @private\r\n */\r\n\r\nlexer.prototype.checkClose = function (method) {\r\n const selfClose = this.content[this.i] == '/'\r\n\r\n if (this.content[this.i] == '>' || selfClose && this.content[this.i + 1] == '>') {\r\n if (method) this.handler[method](this.content.substring(this.start, this.i))\r\n this.i += selfClose ? 2 : 1\r\n this.start = this.i\r\n this.handler.onOpenTag(selfClose)\r\n\r\n if (this.handler.tagName == 'script') {\r\n this.i = this.content.indexOf('</', this.i)\r\n\r\n if (this.i != -1) {\r\n this.i += 2\r\n this.start = this.i\r\n }\r\n\r\n this.state = this.endTag\r\n } else this.state = this.text\r\n\r\n return true\r\n }\r\n\r\n return false\r\n}\r\n/**\r\n * @description 文本状态\r\n * @private\r\n */\r\n\r\nlexer.prototype.text = function () {\r\n this.i = this.content.indexOf('<', this.i) // 查找最近的标签\r\n\r\n if (this.i == -1) {\r\n // 没有标签了\r\n if (this.start < this.content.length) this.handler.onText(this.content.substring(this.start, this.content.length))\r\n return\r\n }\r\n\r\n const c = this.content[this.i + 1]\r\n\r\n if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {\r\n // 标签开头\r\n if (this.start != this.i) this.handler.onText(this.content.substring(this.start, this.i))\r\n this.start = ++this.i\r\n this.state = this.tagName\r\n } else if (c == '/' || c == '!' || c == '?') {\r\n if (this.start != this.i) this.handler.onText(this.content.substring(this.start, this.i))\r\n const next = this.content[this.i + 2]\r\n\r\n if (c == '/' && (next >= 'a' && next <= 'z' || next >= 'A' && next <= 'Z')) {\r\n // 标签结尾\r\n this.i += 2\r\n this.start = this.i\r\n return this.state = this.endTag\r\n } // 处理注释\r\n\r\n let end = '-->'\r\n if (c != '!' || this.content[this.i + 2] != '-' || this.content[this.i + 3] != '-') end = '>'\r\n this.i = this.content.indexOf(end, this.i)\r\n\r\n if (this.i != -1) {\r\n this.i += end.length\r\n this.start = this.i\r\n }\r\n } else this.i++\r\n}\r\n/**\r\n * @description 标签名状态\r\n * @private\r\n */\r\n\r\nlexer.prototype.tagName = function () {\r\n if (blankChar[this.content[this.i]]) {\r\n // 解析到标签名\r\n this.handler.onTagName(this.content.substring(this.start, this.i))\r\n\r\n while (blankChar[this.content[++this.i]]) {\r\n\r\n }\r\n\r\n if (this.i < this.content.length && !this.checkClose()) {\r\n this.start = this.i\r\n this.state = this.attrName\r\n }\r\n } else if (!this.checkClose('onTagName')) this.i++\r\n}\r\n/**\r\n * @description 属性名状态\r\n * @private\r\n */\r\n\r\nlexer.prototype.attrName = function () {\r\n let c = this.content[this.i]\r\n\r\n if (blankChar[c] || c == '=') {\r\n // 解析到属性名\r\n this.handler.onAttrName(this.content.substring(this.start, this.i))\r\n let needVal = c == '='\r\n const len = this.content.length\r\n\r\n while (++this.i < len) {\r\n c = this.content[this.i]\r\n\r\n if (!blankChar[c]) {\r\n if (this.checkClose()) return\r\n\r\n if (needVal) {\r\n // 等号后遇到第一个非空字符\r\n this.start = this.i\r\n return this.state = this.attrVal\r\n }\r\n\r\n if (this.content[this.i] == '=') needVal = true; else {\r\n this.start = this.i\r\n return this.state = this.attrName\r\n }\r\n }\r\n }\r\n } else if (!this.checkClose('onAttrName')) this.i++\r\n}\r\n/**\r\n * @description 属性值状态\r\n * @private\r\n */\r\n\r\nlexer.prototype.attrVal = function () {\r\n const c = this.content[this.i]\r\n const len = this.content.length // 有冒号的属性\r\n\r\n if (c == '\"' || c == \"'\") {\r\n this.start = ++this.i\r\n this.i = this.content.indexOf(c, this.i)\r\n if (this.i == -1) return\r\n this.handler.onAttrVal(this.content.substring(this.start, this.i))\r\n } // 没有冒号的属性\r\n else {\r\n for (; this.i < len; this.i++) {\r\n if (blankChar[this.content[this.i]]) {\r\n this.handler.onAttrVal(this.content.substring(this.start, this.i))\r\n break\r\n } else if (this.checkClose('onAttrVal')) return\r\n }\r\n }\r\n\r\n while (blankChar[this.content[++this.i]]) {\r\n\r\n }\r\n\r\n if (this.i < len && !this.checkClose()) {\r\n this.start = this.i\r\n this.state = this.attrName\r\n }\r\n}\r\n/**\r\n * @description 结束标签状态\r\n * @returns {String} 结束的标签名\r\n * @private\r\n */\r\n\r\nlexer.prototype.endTag = function () {\r\n const c = this.content[this.i]\r\n\r\n if (blankChar[c] || c == '>' || c == '/') {\r\n this.handler.onCloseTag(this.content.substring(this.start, this.i))\r\n\r\n if (c != '>') {\r\n this.i = this.content.indexOf('>', this.i)\r\n if (this.i == -1) return\r\n }\r\n\r\n this.start = ++this.i\r\n this.state = this.text\r\n } else this.i++\r\n}\r\n\r\nmodule.exports = parser\r\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<r;i++){var o=n[i>>>2]>>>24-i%4*8&255;t[s+i>>>2]|=o<<24-(s+i)%4*8}else for(i=0;i<r;i+=4)t[s+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<t;i+=4){var a=r(4294967296*(n||e.random()));n=987654071*a(),s.push(4294967296*a()|0)}return new o.init(s,t)}}),a=s.enc={},c=a.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>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<t;s+=2)n[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<n;r++){var i=t[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<t;s++)n[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<c;h+=i)this._doProcessBlock(s,h);var l=s.splice(0,c);n.sigBytes-=u}return new o.init(l,u)},clone:function(){var e=i.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});r.Hasher=l.extend({cfg:i.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new d.HMAC.init(e,n).finalize(t)}}});var d=s.algo={};return s}(Math),n)})),r=s,i=(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=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=o.MD5=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var s=t+n,r=e[s];e[s]=16711935&(r<<8|r>>>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<<i|a>>>32-i)+t}function h(e,t,n,s,r,i,o){var a=e+(t&s|n&~s)+r+o;return(a<<i|a>>>32-i)+t}function l(e,t,n,s,r,i,o){var a=e+(t^n^s)+r+o;return(a<<i|a>>>32-i)+t}function d(e,t,n,s,r,i,o){var a=e+(n^(t|~s))+r+o;return(a<<i|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<n;u++)a[u]^=1549556828,c[u]^=909522486;i.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(n))}})}())})),n((function(e,t){e.exports=r.HmacMD5}))),o=n((function(e,t){e.exports=r.enc.Utf8})),a=n((function(e,t){var n;e.exports=(n=r,function(){var e=n,t=e.lib.WordArray;function s(e,n,s){for(var r=[],i=0,o=0;o<n;o++)if(o%4){var a=s[e.charCodeAt(o-1)]<<o%4*2,c=s[e.charCodeAt(o)]>>>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<n;i+=3)for(var o=(t[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<n;a++)r.push(s.charAt(o>>>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<n.length;i++)r[n.charCodeAt(i)]=i}var o=n.charAt(64);if(o){var a=e.indexOf(o);-1!==a&&(t=a)}return s(e,t,r)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}}(),n.enc.Base64)}));const c=\"FUNCTION\",u=\"OBJECT\",h=\"CLIENT_DB\",l=\"pending\",d=\"fulfilled\",p=\"rejected\";function f(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function g(e){return\"object\"===f(e)}function m(e){return\"function\"==typeof e}function y(e){return function(){try{return e.apply(e,arguments)}catch(e){console.error(e)}}}const _=\"REJECTED\",w=\"NOT_PENDING\";class v{constructor({createPromise:e,retryRule:t=_}={}){this.createPromise=e,this.status=null,this.promise=null,this.retryRule=t}get needRetry(){if(!this.status)return!0;switch(this.retryRule){case _:return this.status===p;case w:return this.status!==l}}exec(){return this.needRetry?(this.status=l,this.promise=this.createPromise().then((e=>(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<n.length;e++){(0,n[e])(t)}}let Q,X=!1;function Z(){return Q||(Q=new Promise((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<o.length;e++){delete t[o[e]]}return oe={PLATFORM:r,OS:s,APPID:i,DEVICEID:n,...ce(),...t},{...oe,locale:e,LOCALE:e}}var he={sign:function(e,t){let n=\"\";return Object.keys(e).sort().forEach((function(t){e[t]&&(n=n+\"&\"+t+\"=\"+e[t])})),n=n.slice(1),i(n,t).toString()},wrappedRequest:function(e,t){return new Promise(((n,s)=>{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){const n=e.data&&e.data.error&&e.data.error.code||\"SYS_ERR\",r=e.data&&e.data.error&&e.data.error.message||e.errMsg||\"request:fail\";return s(new te({code:n,message:r,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<Date.now())&&i?this.refreshAccessToken():{accessToken:s,accessTokenExpire:r}}async request(e,t,n){const s=`x-tcb-trace_${this.config.env}`;let r=\"application/x-www-form-urlencoded\";const i={action:e,env:this.config.env,dataVersion:\"2019-08-16\",...t};if(-1===We.indexOf(e)){const{refreshTokenKey:e}=this._cache.keys;this._cache.getStore(e)&&(i.access_token=(await this.getAccessToken()).accessToken)}let o;if(\"storage.uploadFile\"===e){o=new FormData;for(let e in o)o.hasOwnProperty(e)&&void 0!==o[e]&&o.append(e,i[e]);r=\"multipart/form-data\"}else{r=\"application/json\",o={};for(let e in i)void 0!==i[e]&&(o[e]=i[e])}let a={headers:{\"content-type\":r}};n&&n.onUploadProgress&&(a.onUploadProgress=n.onUploadProgress);const c=this._localCache.getStore(s);c&&(a.headers[\"X-TCB-Trace\"]=c);const{parse:u,inQuery:h,search:l}=t;let d={env:this.config.env};u&&(d.parse=!0),h&&(d={...h,...d});let p=function(e,t,n={}){const s=/\\?/.test(t);let r=\"\";for(let e in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=`${e}=${encodeURIComponent(n[e])}`;return/^http(s)?\\:\\/\\//.test(t+=r)?t:`${e}${t}`}(pe,\"//tcb-api.tencentcloudapi.com/web\",d);l&&(p+=l);const f=await this.post({url:p,data:o,...a}),g=f.header&&f.header[\"x-tcb-trace\"];if(g&&this._localCache.setStore(s,g),200!==Number(f.status)&&200!==Number(f.statusCode)||!f.data)throw new te({code:\"NETWORK_ERROR\",message:\"network request error\"});return f}async send(e,t={}){const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(\"ACCESS_TOKEN_EXPIRED\"===n.data.code&&-1===We.indexOf(e)){await this.refreshAccessToken();const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.data}if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.data}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}}const Ve={};function Ye(e){return Ve[e]}class Qe{constructor(e){this.config=e,this._cache=Ee(e.env),this._request=Ye(e.env)}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}setAccessToken(e,t){const{accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys;this._cache.setStore(n,e),this._cache.setStore(s,t)}async refreshUserInfo(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e)}}class Xe{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._envId=e,this._cache=Ee(this._envId),this._request=Ye(this._envId),this.setUserInfo()}linkWithTicket(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be string\"});return this._request.send(\"auth.linkWithTicket\",{ticket:e})}linkWithRedirect(e){e.signInWithRedirect()}updatePassword(e,t){return this._request.send(\"auth.updatePassword\",{oldPassword:t,newPassword:e})}updateEmail(e){return this._request.send(\"auth.updateEmail\",{newEmail:e})}updateUsername(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});return this._request.send(\"auth.updateUsername\",{username:e})}async getLinkedUidList(){const{data:e}=await this._request.send(\"auth.getLinkedUidList\",{});let t=!1;const{users:n}=e;return n.forEach((e=>{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,\"x-trace-id\":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={})=>{const t=s[\"x-trace-id\"]||\"\";if(!e.statusCode||e.statusCode>=400){const{message:n,errMsg:s,trace_id:r}=e.data||{};return i(new te({code:\"SYS_ERR\",message:n||s||\"request:fail\",requestId:r||t}))}r({status:e.statusCode,data:e.data,headers:e.header,requestId:t})}})}))}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.errCode,message:e.errMsg,requestId:e.requestId});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}function xt(e=\"\"){return\"cloud://\".concat(this.config.spaceId,\"/\").concat(e.replace(/^\\/+/,\"\"))}var Ot=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:xt.call(this,e.file_id),tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}};var Et={init:e=>{e.provider=\"alipay\";const t=new Ot(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function Lt({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 Rt({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=Lt.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 Ut=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var Nt=/[\\\\^$.*+?()[\\]{}|]/g,Dt=RegExp(Nt.source);function Mt(e,t,n){return e.replace(new RegExp((s=t)&&Dt.test(s)?s.replace(Nt,\"\\\\$&\"):s,\"g\"),n);var s}const qt=\"none\",Ft=\"request\",Kt=\"response\",jt=\"both\";class $t{constructor({secretType:e,uniCloudIns:t}={}){this.clientType=\"\",this.secretType=e||qt,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===qt?e:this.platformEncryptData(e)}async decryptResult(e){if(this.secretType===qt)return e;const{errCode:t,content:n}=e||{};return t||!n?e:this.secretType===Ft?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 <me@ricmoo.com>. See LICENSE.txt. */function Bt(e){return parseInt(e)===e}function Wt(e){if(!Bt(e.length))return!1;for(var t=0;t<e.length;t++)if(!Bt(e[t])||e[t]<0||e[t]>255)return!1;return!0}function Ht(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(!Wt(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if(Bt(e.length)&&Wt(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function zt(e){return new Uint8Array(e)}function Jt(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 Gt,Vt={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n<e.length;){var s=e.charCodeAt(n++);37===s?(t.push(parseInt(e.substr(n,2),16)),n+=2):t.push(s)}return Ht(t)},fromBytes:function(e){for(var t=[],n=0;n<e.length;){var s=e[n];s<128?(t.push(String.fromCharCode(s)),n++):s>191&&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(\"\")}},Yt=(Gt=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},fromBytes:function(e){for(var t=[],n=0;n<e.length;n++){var s=e[n];t.push(Gt[(240&s)>>4]+Gt[15&s])}return t.join(\"\")}}),Qt={16:10,24:12,32:14},Xt=[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],Zt=[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],en=[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],tn=[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],nn=[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],sn=[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],rn=[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],on=[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],an=[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],cn=[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],un=[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],hn=[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],ln=[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],dn=[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],pn=[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 fn(e){for(var t=[],n=0;n<e.length;n+=4)t.push(e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]);return t}class gn{constructor(e){if(!(this instanceof gn))throw Error(\"AES must be instanitated with `new`\");Object.defineProperty(this,\"key\",{value:Ht(e,!0)}),this._prepare()}_prepare(){var e=Qt[this.key.length];if(null==e)throw new Error(\"invalid key size (must be 16, 24 or 32 bytes)\");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,s=4*(e+1),r=this.key.length/4,i=fn(this.key);for(t=0;t<r;t++)n=t>>2,this._Ke[n][t%4]=i[t],this._Kd[e-n][t%4]=i[t];for(var o,a=0,c=r;c<s;){if(o=i[r-1],i[0]^=Zt[o>>16&255]<<24^Zt[o>>8&255]<<16^Zt[255&o]<<8^Zt[o>>24&255]^Xt[a]<<24,a+=1,8!=r)for(t=1;t<r;t++)i[t]^=i[t-1];else{for(t=1;t<r/2;t++)i[t]^=i[t-1];o=i[r/2-1],i[r/2]^=Zt[255&o]^Zt[o>>8&255]<<8^Zt[o>>16&255]<<16^Zt[o>>24&255]<<24;for(t=r/2+1;t<r;t++)i[t]^=i[t-1]}for(t=0;t<r&&c<s;)u=c>>2,h=c%4,this._Ke[u][h]=i[t],this._Kd[e-u][h]=i[t++],c++}for(var u=1;u<e;u++)for(var h=0;h<4;h++)o=this._Kd[u][h],this._Kd[u][h]=hn[o>>24&255]^ln[o>>16&255]^dn[o>>8&255]^pn[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=fn(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=tn[s[r]>>24&255]^nn[s[(r+1)%4]>>16&255]^sn[s[(r+2)%4]>>8&255]^rn[255&s[(r+3)%4]]^this._Ke[i][r];s=n.slice()}var o,a=zt(16);for(r=0;r<4;r++)o=this._Ke[t][r],a[4*r]=255&(Zt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Zt[s[(r+1)%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+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=fn(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=on[s[r]>>24&255]^an[s[(r+3)%4]>>16&255]^cn[s[(r+2)%4]>>8&255]^un[255&s[(r+1)%4]]^this._Kd[i][r];s=n.slice()}var o,a=zt(16);for(r=0;r<4;r++)o=this._Kd[t][r],a[4*r]=255&(en[s[r]>>24&255]^o>>24),a[4*r+1]=255&(en[s[(r+3)%4]>>16&255]^o>>16),a[4*r+2]=255&(en[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(en[255&s[(r+1)%4]]^o);return a}}class mn{constructor(e){if(!(this instanceof mn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new gn(e)}encrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16)Jt(e,n,0,s,s+16),Jt(n=this._aes.encrypt(n),t,s);return t}decrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16)Jt(e,n,0,s,s+16),Jt(n=this._aes.decrypt(n),t,s);return t}}class yn{constructor(e,t){if(!(this instanceof yn))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Block Chaining\",this.name=\"cbc\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=zt(16);this._lastCipherblock=Ht(t,!0),this._aes=new gn(e)}encrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16){Jt(e,n,0,s,s+16);for(var r=0;r<16;r++)n[r]^=this._lastCipherblock[r];this._lastCipherblock=this._aes.encrypt(n),Jt(this._lastCipherblock,t,s)}return t}decrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16){Jt(e,n,0,s,s+16),n=this._aes.decrypt(n);for(var r=0;r<16;r++)t[s+r]=n[r]^this._lastCipherblock[r];Jt(e,this._lastCipherblock,0,s,s+16)}return t}}class _n{constructor(e,t,n){if(!(this instanceof _n))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Feedback\",this.name=\"cfb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 size)\")}else t=zt(16);n||(n=1),this.segmentSize=n,this._shiftRegister=Ht(t,!0),this._aes=new gn(e)}encrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid plaintext size (must be segmentSize bytes)\");for(var t,n=Ht(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];Jt(this._shiftRegister,this._shiftRegister,0,this.segmentSize),Jt(n,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}decrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid ciphertext size (must be segmentSize bytes)\");for(var t,n=Ht(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];Jt(this._shiftRegister,this._shiftRegister,0,this.segmentSize),Jt(e,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}}class wn{constructor(e,t){if(!(this instanceof wn))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Output Feedback\",this.name=\"ofb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=zt(16);this._lastPrecipher=Ht(t,!0),this._lastPrecipherIndex=16,this._aes=new gn(e)}encrypt(e){for(var t=Ht(e,!0),n=0;n<t.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return t}decrypt(e){return this.encrypt(e)}}class vn{constructor(e){if(!(this instanceof vn))throw Error(\"Counter must be instanitated with `new`\");0===e||e||(e=1),\"number\"==typeof e?(this._counter=zt(16),this.setValue(e)):this.setBytes(e)}setValue(e){if(\"number\"!=typeof e||parseInt(e)!=e)throw new Error(\"invalid counter value (must be an integer)\");if(e>Number.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=Ht(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 In{constructor(e,t){if(!(this instanceof In))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof vn||(t=new vn(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new gn(e)}encrypt(e){for(var t=Ht(e,!0),n=0;n<t.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[n]^=this._remainingCounter[this._remainingCounterIndex++];return t}decrypt(e){return this.encrypt(e)}}var Sn={AES:gn,Counter:vn,ModeOfOperation:{ecb:mn,cbc:yn,cfb:_n,ofb:wn,ctr:In},utils:{hex:Yt,utf8:Vt},padding:{pkcs7:{pad:function(e){var t=16-(e=Ht(e,!0)).length%16,n=zt(e.length+t);Jt(e,n);for(var s=e.length;s<n.length;s++)n[s]=t;return n},strip:function(e){if((e=Ht(e,!0)).length<16)throw new Error(\"PKCS#7 invalid length\");var t=e[e.length-1];if(t>16)throw new Error(\"PKCS#7 padding byte out of range\");for(var n=e.length-t,s=0;s<t;s++)if(e[n+s]!==t)throw new Error(\"PKCS#7 invalid padding byte\");var r=zt(n);return Jt(e,r,0,0,n),r}}},_arrayTest:{coerceArray:Ht,createArray:zt,copyArray:Jt}};function bn(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(t)),r=Sn.utils.utf8.toBytes(n),i=Sn.utils.utf8.toBytes(e),o=new Sn.ModeOfOperation.cbc(s,r),a=Sn.padding.pkcs7.pad(i),c=o.encrypt(a);return uni.arrayBufferToBase64(c)}const kn={code:2e4,message:\"System error\"},An={code:20101,message:\"Invalid client\"},Pn={code:20102,message:\"Get encrypt key failed\"},Tn={10001:\"Secure network is not supported on current playground or unimpsdk\",10003:\"Config missing in current app. If the problem pesist, please contact DCloud.\",10009:\"Encrypt payload failed\",10010:\"Decrypt response failed\"};function Cn(e){const{errSubject:t,subject:n,errCode:s,errMsg:r,code:i,message:o,cause:a}=e||{};return new te({subject:t||n||\"uni-secure-network\",code:s||i||kn.code,message:r||o,cause:a})}let xn,On,En=null;class Ln extends $t{constructor(e){super(e),this.clientType=\"mp-weixin\",this.userEncryptKey=null}isLogin(){return!!this.scopedGlobalCache.mpWeixinCode||!!this.scopedGlobalCache.mpWeixinOpenid}async prepare(){if(!this.isLogin()){if(!this.scopedGlobalCache.initPromise)throw new Error(\"`uniCloud.initSecureNetworkByWeixin` has not yet been called\");if(await this.scopedGlobalCache.initPromise,!this.isLogin())throw new Error(\"uniCloud.initSecureNetworkByWeixin` has not yet been called or successfully excuted\")}}async getUserEncryptKey(){if(this.userEncryptKey)return this.userEncryptKey;if(En&&En.expireTime){const e=Date.now();if(En.expireTime-e>0)return this.userEncryptKey=En,this.userEncryptKey}return new Promise(((e,t)=>{uni.getUserCryptoManager().getLatestUserKey({success:t=>{En=t,this.userEncryptKey=t,e(this.userEncryptKey)},fail:e=>{t(Cn({...Pn,cause:e}))}})}))}getWxAppId(){return wx.getAccountInfoSync().miniProgram.appId}async platformGetSignOption(){const{encryptKey:e,iv:t,version:n}=await this.getUserEncryptKey();return{verifyClientSign:bn(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===Kt?{content:e,_uniCloudOptions:r}:{content:bn(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=Sn.utils.utf8.toBytes(n),o=new Sn.ModeOfOperation.cbc(r,i),a=Sn.padding.pkcs7.strip(o.decrypt(s));return Sn.utils.utf8.fromBytes(a)}(t,n,s))}isClientKeyNotFound(){return!1}}function Rn(e){const t=[\"hasClientKey\",\"encryptGetClientKeyPayload\",\"setClientKey\",\"encrypt\",\"decrypt\"],n={};for(let s=0;s<t.length;s++){const r=t[s];n[r]=function(...t){return new Promise(((n,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(Cn({errCode:r,errMsg:Tn[r]||i||a,errSubject:o}))})):s(Cn({message:\"请检查manifest.json内是否开启安全网络模块另外注意标准基座不支持安全网络模块\"}))}))}}return n}class Un extends $t{constructor(e){super(e),this.clientType=\"app\",this.appUtils={...Rn(uni.requireNativePlugin(\"plus\"))},this.systemInfo=xn||(xn=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||kn.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===Kt?{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 Nn({secretType:e}={}){return e===Ft||e===Kt||e===jt}function Dn({name:e,data:t={}}={}){return\"app\"===P&&\"DCloud-clientDB\"===e&&\"encryption\"===t.redirectTo&&\"getAppClientKey\"===t.action}function Mn({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;i<e.length;i++){const o=e[i];o!==t?\"*\"!==o?o.split(\",\").map((e=>e.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`),Cn(An)}function qn({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 Fn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Lt.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=Nn(n),o=Dn(n),a=i||o;return t.call(this,n).then((e=>(e.errCode=0,!a&&qn.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&qn.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<n.length;s++){const{rule:r,content:i,mode:o}=n[s],a=e.match(r);if(!a)continue;let c=i;for(let e=1;e<a.length;e++)c=Mt(c,`{$${e}}`,a[e]);for(const e in t)c=Mt(c,`{${e}}`,t[e]);return\"replace\"===o?c:e+c}return e}({message:`[${n.name}]: ${e.message}`,formatter:Ut,extraInfo:{functionName:s}})),Promise.reject(e))))};e.callFunction=function(t){const{provider:s,spaceId:r}=e.config,i=t.name;let o,a;if(t.data=t.data||{},S&&e.__dev__.debugInfo&&!e.__dev__.debugInfo.forceRemote&&C?(e._callCloudFunction||(e._callCloudFunction=n,e._callLocalFunction=Rt),o=Rt):o=n,o=o.bind(e),Dn(t))a=n.call(e,t);else if(function({name:e,data:t={}}){return\"mp-weixin\"===P&&\"uni-id-co\"===e&&\"secureNetworkHandshakeByWeixin\"===t.method}(t))a=o.call(e,t);else if(Nn(t)){a=new On({secretType:t.secretType,uniCloudIns:e}).wrapEncryptDataCallFunction(n.bind(e))(t)}else if(Mn({provider:s,spaceId:r,functionName:i})){a=new On({secretType:t.secretType,uniCloudIns:e}).wrapVerifyClientCallFunction(n.bind(e))(t)}else a=o(t);return Object.defineProperty(a,\"result\",{get:()=>(console.warn(\"当前返回结果为Promise类型不可直接访问其result属性详情请参考https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),a.then((e=>(\"undefined\"!=typeof UTSJSONObject&&(e.result=new UTSJSONObject(e.result)),e)))}}On=\"mp-weixin\"!==P&&\"app\"!==P?class{constructor(){throw Cn({message:`Platform ${P} is not supported by secure network`})}}:k?\"mp-weixin\"===P?Ln:Un:class{constructor(){throw Cn({message:`Platform ${P} is not enabled, please check whether secure network module is enabled in your manifest.json`})}};const Kn=Symbol(\"CLIENT_DB_INTERNAL\");function jn(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Kn,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 $n(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 Bn=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function Wn(e,t){return Bn.indexOf(`${e}.${t}`)>-1}function Hn(e){switch(f(e)){case\"array\":return e.map((e=>Hn(e)));case\"object\":return e._internalType===Kn||Object.keys(e).forEach((t=>{e[t]=Hn(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function zn(e){return e&&e.content&&e.content.$method}class Jn{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:Hn(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=zn(e),n=zn(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\"===zn(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=zn(e),n=zn(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return Gn({$method:e,$param:Hn(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:Hn(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 Gn(e,t,n){return jn(new Jn(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),Wn(s,t)?Gn({$method:t},e,n):function(){return Gn({$method:t,$param:Hn(Array.from(arguments))},e,n)}}})}function Vn({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 Yn(e,t={}){return jn(new e(t),{get:(e,t)=>Wn(\"db\",t)?Gn({$method:t},null,e):function(){return Gn({$method:t,$param:Hn(Array.from(arguments))},null,e)}})}class Qn extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=L(\"_globalUniCloudDatabaseCallback\")),t||(this.auth=$n(this._authCallBacks)),this._isJQL=t,Object.assign(this,$n(this._dbCallBacks)),this.env=jn({},{get:(e,t)=>({$env:t})}),this.Geo=jn({},{get:(e,t)=>Vn({path:[\"Geo\"],method:t})}),this.serverDate=Vn({path:[],method:\"serverDate\"}),this.RegExp=Vn({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;n<s.length;n++){const r=s[n];r.udb&&\"function\"==typeof r.udb.setResult&&(t?r.udb.setResult(t):r.udb.setResult(e.result.dataList[n]))}}const i=this,o=this._isJQL?\"databaseForJQL\":\"database\";function a(e){return i._callback(\"error\",[e]),M(q(o,\"fail\"),e).then((()=>M(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<u.length;e++){const{level:t,message:n,detail:s}=u[e],r=console[\"app\"===P&&\"warn\"===t?\"error\":t]||console.log;let i=\"[System Info]\"+n;s&&(i=`${i}\\n详细信息${s}`),r(i)}if(t){return a(new te({code:t,message:n,requestId:e.requestId}))}e.result.errCode=e.result.errCode||e.result.code,e.result.errMsg=e.result.errMsg||e.result.message,s&&c&&(re({token:s,tokenExpired:c}),this._callbackAuth(\"refreshToken\",[{token:s,tokenExpired:c}]),this._callback(\"refreshToken\",[{token:s,tokenExpired:c}]),Y(B,{token:s,tokenExpired:c}));const h=[{prop:\"affectedDocs\",tips:\"affectedDocs不再推荐使用请使用inserted/deleted/updated/data.length替代\"},{prop:\"code\",tips:\"code不再推荐使用请使用errCode替代\"},{prop:\"message\",tips:\"message不再推荐使用请使用errMsg替代\"}];for(let t=0;t<h.length;t++){const{prop:n,tips:s}=h[t];if(n in e.result){const t=e.result[n];Object.defineProperty(e.result,n,{get:()=>(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 Xn=\"token无效跳转登录页面\",Zn=\"token过期跳转登录页面\",es={TOKEN_INVALID_TOKEN_EXPIRED:Zn,TOKEN_INVALID_INVALID_CLIENTID:Xn,TOKEN_INVALID:Xn,TOKEN_INVALID_WRONG_TOKEN:Xn,TOKEN_INVALID_ANONYMOUS_USER:Xn},ts={\"uni-id-token-expired\":Zn,\"uni-id-check-token-failed\":Xn,\"uni-id-token-not-exist\":Xn,\"uni-id-check-device-feature-failed\":Xn};function ns(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function ss(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(ns(t,e.path)):!1===e.needLogin&&s.push(ns(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function rs(e){return e.split(\"?\")[0].replace(/^\\//,\"\")}function is(){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 os(){return rs(is())}function as(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=rs(e);return n.some((e=>e.pagePath===s))}const cs=!!e.uniIdRouter;const{loginPage:us,routerNeedLogin:hs,resToLogin:ls,needLoginPage:ds,notNeedLoginPage:ps,loginPageInTabBar:fs}=function({pages:t=[],subPackages:n=[],uniIdRouter:s={},tabBar:r={}}=e){const{loginPage:i,needLogin:o=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=ss(t),{needLoginPage:h,notNeedLoginPage:l}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:o}=ss(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:as(i,r)}}();if(ds.indexOf(us)>-1)throw new Error(`Login page [${us}] should not be \"needLogin\", please check your pages.json`);function gs(e){const t=os();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<r.length;e++){const t=r[e];\"..\"===t?i.pop():\".\"!==t&&i.push(t)}return\"\"===i[0]&&i.shift(),\"/\"+i.join(\"/\")+(s?\"?\"+s:\"\")}function ms(e){const t=rs(gs(e));return!(ps.indexOf(t)>-1)&&(ds.indexOf(t)>-1||hs.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function ys({redirect:e}){const t=rs(e),n=rs(us);return os()!==n&&t!==n}function _s({api:e,redirect:t}={}){if(!t||!ys({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}(us,t);fs?\"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})}),0)}function ws({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=se();let n;if(e){if(t<Date.now()){const e=\"uni-id-token-expired\";n={errCode:e,errMsg:ts[e]}}}else{const e=\"uni-id-check-token-failed\";n={errCode:e,errMsg:ts[e]}}return n}();if(ms(e)&&n){n.uniIdRedirectUrl=e;if(J($).length>0)return setTimeout((()=>{Y($,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function vs(){!function(){const e=is(),{abortLoginPageJump:t,autoToLoginPage:n}=ws({url:e});t||n&&_s({api:\"redirectTo\",redirect:e})}();const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t<e.length;t++){const n=e[t];uni.addInterceptor(n,{invoke(e){const{abortLoginPageJump:t,autoToLoginPage:s}=ws({url:e.url});return t?e:s?(_s({api:n,redirect:gs(e.url)}),!1):e}})}}function Is(){this.onResponse((e=>{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 ts}(n);break;case\"clientdb\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in es}(n)}s&&function(e={}){const t=J($);Z().then((()=>{const n=is();if(n&&ys({redirect:n}))return t.length>0?Y($,Object.assign({uniIdRedirectUrl:n},e)):void(us&&_s({api:\"navigateTo\",redirect:n}))}))}(n)}))}function Ss(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)},cs&&(L(\"_globalUniCloudStatus\").needLoginInit||(L(\"_globalUniCloudStatus\").needLoginInit=!0,Z().then((()=>{vs.call(e)})),ls&&Is.call(e)))}(e),function(e){e.onRefreshToken=function(e){G(B,e)},e.offRefreshToken=function(e){V(B,e)}}(e)}let bs;const ks=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",As=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function Ps(){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(bs(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}bs=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!As.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<e.length;)t=ks.indexOf(e.charAt(i++))<<18|ks.indexOf(e.charAt(i++))<<12|(n=ks.indexOf(e.charAt(i++)))<<6|(s=ks.indexOf(e.charAt(i++))),r+=64===n?String.fromCharCode(t>>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 Ts=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<s;)c();function c(){const s=a++;if(s>=o)return void(!i.find((e=>!e.url&&!e.errMsg))&&n(t));const u=i[s];e.uploadFile({provider:u.provider,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<o&&c()})).catch((e=>{u.errMsg=e.errMsg||e.message,s<o&&c()}))}}))}(e,t,5,r)))}t.initChooseAndUploadFile=function(e){return function(t={type:\"all\"}){return\"image\"===t.type?i(e,function(e){const{count:t,sizeType:n,sourceType:i=[\"album\",\"camera\"],extension:o}=e;return new Promise(((e,a)=>{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)}}})),Cs=t(Ts);const xs=\"manual\";function Os(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:{},mixinDatacomError:null}),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===xs)return;let n=!1;const s=[];for(let r=2;r<e.length;r++)e[r]!==t[r]&&(s.push(e[r]),n=!0);e[0]!==t[0]&&(this.mixinDatacomPage.current=this.pageCurrent),this.mixinDatacomPage.size=this.pageSize,this.onMixinDatacomPropsChange(n,s)}))},methods:{onMixinDatacomPropsChange(e,t){},mixinDatacomEasyGet({getone:e=!1,success:t,fail:n}={}){this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage=\"\",this.mixinDatacomError=null,this.mixinDatacomGet().then((n=>{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length<this.pageSize;const i=e?s.length?s[0]:void 0:s;this.mixinDatacomResData=i,t&&t(i)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,this.mixinDatacomError=e,n&&n(e)})))},mixinDatacomGet(t={}){let n;t=t||{},n=\"undefined\"!=typeof __uniX&&__uniX?e.databaseForJQL(this.spaceInfo):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 Es(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){switch(c){case\"toString\":return\"[object UniCloudObject]\";case\"toJSON\":return{}}return 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 Ls(e){return L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",e.config.spaceId))}async function Rs({openid:e,callLoginByWeixin:t=!1}={}){const n=Ls(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 Us(e){const t=Ls(this);return t.initPromise||(t.initPromise=Rs.call(this,e).then((e=>e)).catch((e=>{throw delete t.initPromise,e}))),t.initPromise}function Ns(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Us.call(e,{openid:t,callLoginByWeixin:n})}}function Ds(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 Ms 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<n.length;e++)n[e](...t)}}{constructor(){super(),this._uniPushMessageCallback=this._receivePushMessage.bind(this),this._currentMessageId=-1,this._payloadQueue=[]}init(){return Promise.all([Ds(\"getSystemInfo\")(),Ds(\"getPushClientId\")()]).then((([{appId:e}={},{cid:t}={}]=[])=>{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 qs(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 Fs(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本地调试服务需要允许客户端查找并连接到本地网络上的设备仅开发期间需要发行后不需要\")}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<e.length;s++){const r=e[s];if(await qs(r,t)){n=r;break}}return{address:n,port:t}}(n,s);if(r)return t.localAddress=r,void(t.localPort=s);const i=console[\"app\"===P?\"error\":\"warn\"];let o=\"\";if(\"remote\"===t.debugInfo.initialLaunchType?(t.debugInfo.forceRemote=!0,o=\"当前客户端和HBuilderX不在同一局域网下或其他网络原因无法连接HBuilderXuniCloud本地调试服务不对当前客户端生效。\\n- 如果不使用uniCloud本地调试服务请直接忽略此信息。\\n- 如需使用uniCloud本地调试服务请将客户端与主机连接到同一局域网下并重新运行到客户端。\"):o=\"无法连接uniCloud本地调试服务请检查当前客户端是否与主机在同一局域网下。\\n- 如需使用uniCloud本地调试服务请将客户端与主机连接到同一局域网下并重新运行到客户端。\",o+=\"\\n- 如果在HBuilderX开启的状态下切换过网络环境请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\\n- 检查是否错误的使用拦截器修改uni.request方法的参数\",\"web\"===P&&(o+=\"\\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式\"),0===P.indexOf(\"mp-\")&&(o+=\"\\n- 小程序中如何使用uniCloud请参考https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinmp\"),!t.debugInfo.forceRemote)throw new Error(o);i(o)}function Ks(e){e._initPromiseHub||(e._initPromiseHub=new v({createPromise:function(){let t=Promise.resolve();var n;n=1,t=new Promise((e=>{setTimeout((()=>{e()}),n)}));const s=e.auth();return t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously()))}}))}const js={tcb:It,tencent:It,aliyun:de,private:bt,alipay:Et};let $s=new class{init(e){let t={};const n=js[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 Fs(e)}});t.initLocalNetwork=function(){return s.exec()}}(t),Ks(t),Fn(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=Yn(Qn,{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=Yn(Qn,{uniClient:e,isJQL:!0});return this._databaseForJQL=n,n}}(t),function(e){e.getCurrentUserInfo=Ps,e.chooseAndUploadFile=Cs.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return Os(e)}}),e.SSEChannel=Ms,e.initSecureNetworkByWeixin=Ns(e),e.importObject=Es(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],$s=$s.init(t),$s._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=>{$s[e]=function(){return console.error(n),Promise.reject(new te({code:\"SYS_ERR\",message:n}))}}))}Object.assign($s,{get mixinDatacom(){return Os($s)}}),Ss($s),$s.addInterceptor=N,$s.removeInterceptor=D,$s.interceptObject=F,S&&\"web\"===P&&(window.uniCloud=$s)})();var Bs=$s;export{Bs 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 try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default {\"appid\":\"__UNI__5383BA6\"}","/*\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;","export default {\r\n props: {\r\n // 是否展示弹窗\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.show\r\n },\r\n // 是否显示遮罩\r\n overlay: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.overlay\r\n },\r\n // 弹出的方向,可选值为 top bottom right left center\r\n mode: {\r\n type: String,\r\n default: uni.$u.props.popup.mode\r\n },\r\n // 动画时长单位ms\r\n duration: {\r\n type: [String, Number],\r\n default: uni.$u.props.popup.duration\r\n },\r\n // 是否显示关闭图标\r\n closeable: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.closeable\r\n },\r\n // 自定义遮罩的样式\r\n overlayStyle: {\r\n type: [Object, String],\r\n default: uni.$u.props.popup.overlayStyle\r\n },\r\n // 点击遮罩是否关闭弹窗\r\n closeOnClickOverlay: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.closeOnClickOverlay\r\n },\r\n // 层级\r\n zIndex: {\r\n type: [String, Number],\r\n default: uni.$u.props.popup.zIndex\r\n },\r\n // 是否为iPhoneX留出底部安全距离\r\n safeAreaInsetBottom: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.safeAreaInsetBottom\r\n },\r\n // 是否留出顶部安全距离(状态栏高度)\r\n safeAreaInsetTop: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.safeAreaInsetTop\r\n },\r\n // 自定义关闭图标位置top-left为左上角top-right为右上角bottom-left为左下角bottom-right为右下角\r\n closeIconPos: {\r\n type: String,\r\n default: uni.$u.props.popup.closeIconPos\r\n },\r\n // 是否显示圆角\r\n round: {\r\n type: [Boolean, String, Number],\r\n default: uni.$u.props.popup.round\r\n },\r\n // mode=center也即中部弹出时是否使用缩放模式\r\n zoom: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.zoom\r\n },\r\n // 弹窗背景色设置为transparent可去除白色背景\r\n bgColor: {\r\n type: String,\r\n default: uni.$u.props.popup.bgColor\r\n },\r\n // 遮罩的透明度0-1之间\r\n overlayOpacity: {\r\n type: [Number, String],\r\n default: uni.$u.props.popup.overlayOpacity\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 是否展示modal\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.modal.show\r\n },\r\n // 标题\r\n title: {\r\n type: [String],\r\n default: uni.$u.props.modal.title\r\n },\r\n // 弹窗内容\r\n content: {\r\n type: String,\r\n default: uni.$u.props.modal.content\r\n },\r\n // 确认文案\r\n confirmText: {\r\n type: String,\r\n default: uni.$u.props.modal.confirmText\r\n },\r\n // 取消文案\r\n cancelText: {\r\n type: String,\r\n default: uni.$u.props.modal.cancelText\r\n },\r\n // 是否显示确认按钮\r\n showConfirmButton: {\r\n type: Boolean,\r\n default: uni.$u.props.modal.showConfirmButton\r\n },\r\n // 是否显示取消按钮\r\n showCancelButton: {\r\n type: Boolean,\r\n default: uni.$u.props.modal.showCancelButton\r\n },\r\n // 确认按钮颜色\r\n confirmColor: {\r\n type: String,\r\n default: uni.$u.props.modal.confirmColor\r\n },\r\n // 取消文字颜色\r\n cancelColor: {\r\n type: String,\r\n default: uni.$u.props.modal.cancelColor\r\n },\r\n // 对调确认和取消的位置\r\n buttonReverse: {\r\n type: Boolean,\r\n default: uni.$u.props.modal.buttonReverse\r\n },\r\n // 是否开启缩放效果\r\n zoom: {\r\n type: Boolean,\r\n default: uni.$u.props.modal.zoom\r\n },\r\n // 是否异步关闭,只对确定按钮有效\r\n asyncClose: {\r\n type: Boolean,\r\n default: uni.$u.props.modal.asyncClose\r\n },\r\n // 是否允许点击遮罩关闭modal\r\n closeOnClickOverlay: {\r\n type: Boolean,\r\n default: uni.$u.props.modal.closeOnClickOverlay\r\n },\r\n // 给一个负的margin-top往上偏移避免和键盘重合的情况\r\n negativeTop: {\r\n type: [String, Number],\r\n default: uni.$u.props.modal.negativeTop\r\n },\r\n // modal宽度不支持百分比可以数值pxrpx单位\r\n width: {\r\n type: [String, Number],\r\n default: uni.$u.props.modal.width\r\n },\r\n // 确认按钮的样式circle-圆形square-方形,如设置,将不会显示取消按钮\r\n confirmButtonShape: {\r\n type: String,\r\n default: uni.$u.props.modal.confirmButtonShape\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 是否展示picker弹窗\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.picker.show\r\n },\r\n // 是否展示顶部的操作栏\r\n showToolbar: {\r\n type: Boolean,\r\n default: uni.$u.props.picker.showToolbar\r\n },\r\n // 顶部标题\r\n title: {\r\n type: String,\r\n default: uni.$u.props.picker.title\r\n },\r\n // 对象数组,设置每一列的数据\r\n columns: {\r\n type: Array,\r\n default: uni.$u.props.picker.columns\r\n },\r\n // 是否显示加载中状态\r\n loading: {\r\n type: Boolean,\r\n default: uni.$u.props.picker.loading\r\n },\r\n // 各列中,单个选项的高度\r\n itemHeight: {\r\n type: [String, Number],\r\n default: uni.$u.props.picker.itemHeight\r\n },\r\n // 取消按钮的文字\r\n cancelText: {\r\n type: String,\r\n default: uni.$u.props.picker.cancelText\r\n },\r\n // 确认按钮的文字\r\n confirmText: {\r\n type: String,\r\n default: uni.$u.props.picker.confirmText\r\n },\r\n // 取消按钮的颜色\r\n cancelColor: {\r\n type: String,\r\n default: uni.$u.props.picker.cancelColor\r\n },\r\n // 确认按钮的颜色\r\n confirmColor: {\r\n type: String,\r\n default: uni.$u.props.picker.confirmColor\r\n },\r\n // 每列中可见选项的数量\r\n visibleItemCount: {\r\n type: [String, Number],\r\n default: uni.$u.props.picker.visibleItemCount\r\n },\r\n // 选项对象中,需要展示的属性键名\r\n keyName: {\r\n type: String,\r\n default: uni.$u.props.picker.keyName\r\n },\r\n // 是否允许点击遮罩关闭选择器\r\n closeOnClickOverlay: {\r\n type: Boolean,\r\n default: uni.$u.props.picker.closeOnClickOverlay\r\n },\r\n // 各列的默认索引\r\n defaultIndex: {\r\n type: Array,\r\n default: uni.$u.props.picker.defaultIndex\r\n },\r\n\t\t// 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件只在微信2.21.1及以上有效\r\n\t\timmediateChange: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.picker.immediateChange\r\n\t\t}\r\n }\r\n}\r\n","import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\r\n","class Calendar {\r\n\tconstructor({\r\n\t\tselected,\r\n\t\tstartDate,\r\n\t\tendDate,\r\n\t\trange,\r\n\t} = {}) {\r\n\t\t// 当前日期\r\n\t\tthis.date = this.getDateObj(new Date()) // 当前初入日期\r\n\t\t// 打点信息\r\n\t\tthis.selected = selected || [];\r\n\t\t// 起始时间\r\n\t\tthis.startDate = startDate\r\n\t\t// 终止时间\r\n\t\tthis.endDate = endDate\r\n // 是否范围选择\r\n\t\tthis.range = range\r\n\t\t// 多选状态\r\n\t\tthis.cleanMultipleStatus()\r\n\t\t// 每周日期\r\n\t\tthis.weeks = {}\r\n\t\tthis.lastHover = false\r\n\t}\r\n\t/**\r\n\t * 设置日期\r\n\t * @param {Object} date\r\n\t */\r\n\tsetDate(date) {\r\n\t\tconst selectDate = this.getDateObj(date)\r\n\t\tthis.getWeeks(selectDate.fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 清理多选状态\r\n\t */\r\n\tcleanMultipleStatus() {\r\n\t\tthis.multipleStatus = {\r\n\t\t\tbefore: '',\r\n\t\t\tafter: '',\r\n\t\t\tdata: []\r\n\t\t}\r\n\t}\r\n\r\n\tsetStartDate(startDate) {\r\n\t\tthis.startDate = startDate\r\n\t}\r\n\r\n\tsetEndDate(endDate) {\r\n\t\tthis.endDate = endDate\r\n\t}\r\n\r\n getPreMonthObj(date){\r\n date = fixIosDateFormat(date)\r\n date = new Date(date)\r\n\r\n const oldMonth = date.getMonth()\r\n date.setMonth(oldMonth - 1)\r\n const newMonth = date.getMonth()\r\n if(oldMonth !== 0 && newMonth - oldMonth === 0){\r\n date.setMonth(newMonth - 1)\r\n }\r\n return this.getDateObj(date)\r\n }\r\n getNextMonthObj(date){\r\n date = fixIosDateFormat(date)\r\n date = new Date(date)\r\n\r\n const oldMonth = date.getMonth()\r\n date.setMonth(oldMonth + 1)\r\n const newMonth = date.getMonth()\r\n if(newMonth - oldMonth > 1){\r\n date.setMonth(newMonth - 1)\r\n }\r\n return this.getDateObj(date)\r\n }\r\n\r\n\t/**\r\n\t * 获取指定格式Date对象\r\n\t */\r\n\tgetDateObj(date) {\r\n date = fixIosDateFormat(date)\r\n date = new Date(date)\r\n\r\n\t\treturn {\r\n\t\t\tfullDate: getDate(date),\r\n year: date.getFullYear(),\r\n month: addZero(date.getMonth() + 1),\r\n date: addZero(date.getDate()),\r\n day: date.getDay()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 获取上一个月日期集合\r\n\t */\r\n\tgetPreMonthDays(amount, dateObj) {\r\n\t\tconst result = []\r\n\t\tfor (let i = amount - 1; i >= 0; i--) {\r\n const month = dateObj.month > 1 ? dateObj.month -1 : 12\r\n\t\t\tconst year = month === 12 ? dateObj.year - 1 : dateObj.year\r\n\t\t\tconst date = new Date(year,month,-i).getDate()\r\n\t\t\tconst fullDate = `${year}-${addZero(month)}-${addZero(date)}`\r\n\t\t\tlet multiples = this.multipleStatus.data\r\n\t\t\tlet multiplesStatus = -1\r\n\t\t\tif (this.range && multiples) {\r\n\t\t\t multiplesStatus = multiples.findIndex((item) => {\r\n\t\t\t return this.dateEqual(item, fullDate)\r\n\t\t\t })\r\n\t\t\t}\r\n\t\t\tconst checked = multiplesStatus !== -1\r\n\t\t\t// 获取打点信息\r\n\t\t\tconst extraInfo = this.selected && this.selected.find((item) => {\r\n\t\t\t\tif (this.dateEqual(fullDate, item.date)) {\r\n\t\t\t\t\treturn item\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tresult.push({\r\n\t\t\t\tfullDate,\r\n\t\t\t\tyear,\r\n\t\t\t\tmonth,\r\n\t\t\t\tdate,\r\n\t\t\t\tmultiple: this.range ? checked : false,\r\n\t\t\t\tbeforeMultiple: this.isLogicBefore(fullDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tafterMultiple: this.isLogicAfter(fullDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tdisable: (this.startDate && !dateCompare(this.startDate, fullDate)) || (this.endDate && !dateCompare(fullDate,this.endDate)),\r\n\t\t\t\tisToday: fullDate === this.date.fullDate,\r\n\t\t\t\tuserChecked: false,\r\n\t\t\t\textraInfo\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\t/**\r\n\t * 获取本月日期集合\r\n\t */\r\n\tgetCurrentMonthDays(amount, dateObj) {\r\n\t\tconst result = []\r\n\t\tconst fullDate = this.date.fullDate\r\n\t\tfor (let i = 1; i <= amount; i++) {\r\n\t\t\tconst currentDate = `${dateObj.year}-${dateObj.month}-${addZero(i)}`\r\n\t\t\tconst isToday = fullDate === currentDate\r\n\t\t\t// 获取打点信息\r\n\t\t\tconst extraInfo = this.selected && this.selected.find((item) => {\r\n\t\t\t\tif (this.dateEqual(currentDate, item.date)) {\r\n\t\t\t\t\treturn item\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\t// 日期禁用\r\n\t\t\tlet disableBefore = true\r\n\t\t\tlet disableAfter = true\r\n\t\t\tif (this.startDate) {\r\n\t\t\t\tdisableBefore = dateCompare(this.startDate, currentDate)\r\n\t\t\t}\r\n\r\n\t\t\tif (this.endDate) {\r\n\t\t\t\tdisableAfter = dateCompare(currentDate, this.endDate)\r\n\t\t\t}\r\n\r\n\t\t\tlet multiples = this.multipleStatus.data\r\n\t\t\tlet multiplesStatus = -1\r\n\t\t\tif (this.range && multiples) {\r\n multiplesStatus = multiples.findIndex((item) => {\r\n return this.dateEqual(item, currentDate)\r\n })\r\n\t\t\t}\r\n const checked = multiplesStatus !== -1\r\n\r\n\t\t\tresult.push({\r\n\t\t\t\tfullDate: currentDate,\r\n\t\t\t\tyear: dateObj.year,\r\n\t\t\t\tmonth: dateObj.month,\r\n\t\t\t\tdate: i,\r\n\t\t\t\tmultiple: this.range ? checked : false,\r\n\t\t\t\tbeforeMultiple: this.isLogicBefore(currentDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tafterMultiple: this.isLogicAfter(currentDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tdisable: (this.startDate && !dateCompare(this.startDate, currentDate)) || (this.endDate && !dateCompare(currentDate,this.endDate)),\r\n\t\t\t\tisToday,\r\n\t\t\t\tuserChecked: false,\r\n extraInfo\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\t/**\r\n\t * 获取下一个月日期集合\r\n\t */\r\n\t_getNextMonthDays(amount, dateObj) {\r\n\t\tconst result = []\r\n const month = dateObj.month + 1\r\n\t\tfor (let i = 1; i <= amount; i++) {\r\n\t\t\tconst month = dateObj.month === 12 ? 1 : dateObj.month*1 + 1\r\n\t\t\tconst year = month === 1 ? dateObj.year + 1 : dateObj.year\r\n\t\t\tconst fullDate = `${year}-${addZero(month)}-${addZero(i)}`\r\n\t\t\tlet multiples = this.multipleStatus.data\r\n\t\t\tlet multiplesStatus = -1\r\n\t\t\tif (this.range && multiples) {\r\n\t\t\t multiplesStatus = multiples.findIndex((item) => {\r\n\t\t\t return this.dateEqual(item, fullDate)\r\n\t\t\t })\r\n\t\t\t}\r\n\t\t\tconst checked = multiplesStatus !== -1\r\n\t\t\t// 获取打点信息\r\n\t\t\tconst extraInfo = this.selected && this.selected.find((item) => {\r\n\t\t\t\tif (this.dateEqual(fullDate, item.date)) {\r\n\t\t\t\t\treturn item\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tresult.push({\r\n\t\t\t\tfullDate,\r\n\t\t\t\tyear,\r\n\t\t\t\tdate: i,\r\n\t\t\t\tmonth,\r\n\t\t\t\tmultiple: this.range ? checked : false,\r\n\t\t\t\tbeforeMultiple: this.isLogicBefore(fullDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tafterMultiple: this.isLogicAfter(fullDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tdisable: (this.startDate && !dateCompare(this.startDate, fullDate)) || (this.endDate && !dateCompare(fullDate,this.endDate)),\r\n\t\t\t\tisToday: fullDate === this.date.fullDate,\r\n\t\t\t\tuserChecked: false,\r\n\t\t\t\textraInfo\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\r\n\t/**\r\n\t * 获取当前日期详情\r\n\t * @param {Object} date\r\n\t */\r\n\tgetInfo(date) {\r\n\t\tif (!date) {\r\n\t\t\tdate = new Date()\r\n\t\t}\r\n\r\n\t\treturn this.calendar.find(item => item.fullDate === this.getDateObj(date).fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 比较时间是否相等\r\n\t */\r\n\tdateEqual(before, after) {\r\n\t\tbefore = new Date(fixIosDateFormat(before))\r\n\t\tafter = new Date(fixIosDateFormat(after))\r\n\t\treturn before.valueOf() === after.valueOf()\r\n\t}\r\n\r\n\t/**\r\n\t * 比较真实起始日期\r\n\t */\r\n\r\n\tisLogicBefore(currentDate, before, after) {\r\n\t\tlet logicBefore = before\r\n\t\tif (before && after) {\r\n\t\t\tlogicBefore = dateCompare(before, after) ? before : after\r\n\t\t}\r\n\t\treturn this.dateEqual(logicBefore, currentDate)\r\n\t}\r\n\r\n\tisLogicAfter(currentDate, before, after) {\r\n\t\tlet logicAfter = after\r\n\t\tif (before && after) {\r\n\t\t\tlogicAfter = dateCompare(before, after) ? after : before\r\n\t\t}\r\n\t\treturn this.dateEqual(logicAfter, currentDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 获取日期范围内所有日期\r\n\t * @param {Object} begin\r\n\t * @param {Object} end\r\n\t */\r\n\tgeDateAll(begin, end) {\r\n\t\tvar arr = []\r\n\t\tvar ab = begin.split('-')\r\n\t\tvar ae = end.split('-')\r\n\t\tvar db = new Date()\r\n\t\tdb.setFullYear(ab[0], ab[1] - 1, ab[2])\r\n\t\tvar de = new Date()\r\n\t\tde.setFullYear(ae[0], ae[1] - 1, ae[2])\r\n\t\tvar unixDb = db.getTime() - 24 * 60 * 60 * 1000\r\n\t\tvar unixDe = de.getTime() - 24 * 60 * 60 * 1000\r\n\t\tfor (var k = unixDb; k <= unixDe;) {\r\n\t\t\tk = k + 24 * 60 * 60 * 1000\r\n\t\t\tarr.push(this.getDateObj(new Date(parseInt(k))).fullDate)\r\n\t\t}\r\n\t\treturn arr\r\n\t}\r\n\r\n\t/**\r\n\t * 获取多选状态\r\n\t */\r\n\tsetMultiple(fullDate) {\r\n if (!this.range) return\r\n\r\n\t\tlet {\r\n\t\t\tbefore,\r\n\t\t\tafter\r\n\t\t} = this.multipleStatus\r\n\t\tif (before && after) {\r\n\t\t\tif (!this.lastHover) {\r\n\t\t\t\tthis.lastHover = true\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t\tthis.multipleStatus.after = ''\r\n\t\t\tthis.multipleStatus.data = []\r\n\t\t\tthis.multipleStatus.fulldate = ''\r\n\t\t\tthis.lastHover = false\r\n\t\t} else {\r\n\t\t\tif (!before) {\r\n\t\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t\t\tthis.lastHover = false\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.after = fullDate\r\n\t\t\t\tif (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {\r\n\t\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus\r\n\t\t\t\t\t\t.after);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus\r\n\t\t\t\t\t\t.before);\r\n\t\t\t\t}\r\n\t\t\t\tthis.lastHover = true\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.getWeeks(fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 鼠标 hover 更新多选状态\r\n\t */\r\n\tsetHoverMultiple(fullDate) {\r\n if (!this.range || this.lastHover) return\r\n\r\n\t\tconst { before } = this.multipleStatus\r\n\r\n\t\tif (!before) {\r\n\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t} else {\r\n\t\t\tthis.multipleStatus.after = fullDate\r\n\t\t\tif (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.getWeeks(fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 更新默认值多选状态\r\n\t */\r\n\tsetDefaultMultiple(before, after) {\r\n\t\tthis.multipleStatus.before = before\r\n\t\tthis.multipleStatus.after = after\r\n\t\tif (before && after) {\r\n\t\t\tif (dateCompare(before, after)) {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(before, after);\r\n\t\t\t\tthis.getWeeks(after)\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(after, before);\r\n\t\t\t\tthis.getWeeks(before)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 获取每周数据\r\n\t * @param {Object} dateData\r\n\t */\r\n\tgetWeeks(dateData) {\r\n\t\tconst {\r\n\t\t\tyear,\r\n\t\t\tmonth,\r\n\t\t} = this.getDateObj(dateData)\r\n\r\n\t\tconst preMonthDayAmount = new Date(year, month - 1, 1).getDay()\r\n const preMonthDays = this.getPreMonthDays(preMonthDayAmount, this.getDateObj(dateData))\r\n\r\n\t\tconst currentMonthDayAmount = new Date(year, month, 0).getDate()\r\n const currentMonthDays = this.getCurrentMonthDays(currentMonthDayAmount, this.getDateObj(dateData))\r\n\r\n const nextMonthDayAmount = 42 - preMonthDayAmount - currentMonthDayAmount\r\n const nextMonthDays = this._getNextMonthDays(nextMonthDayAmount, this.getDateObj(dateData))\r\n\r\n\t\tconst calendarDays = [...preMonthDays, ...currentMonthDays, ...nextMonthDays]\r\n\r\n\t\tconst weeks = new Array(6)\r\n\t\tfor (let i = 0; i < calendarDays.length; i++) {\r\n const index = Math.floor(i / 7)\r\n if(!weeks[index]){\r\n weeks[index] = new Array(7)\r\n }\r\n\t\t\tweeks[index][i % 7] = calendarDays[i]\r\n\t\t}\r\n\r\n\t\tthis.calendar = calendarDays\r\n\t\tthis.weeks = weeks\r\n\t}\r\n}\r\n\r\nfunction getDateTime(date, hideSecond){\r\n return `${getDate(date)} ${getTime(date, hideSecond)}`\r\n}\r\n\r\nfunction getDate(date) {\r\n date = fixIosDateFormat(date)\r\n date = new Date(date)\r\n const year = date.getFullYear()\r\n const month = date.getMonth()+1\r\n const day = date.getDate()\r\n return `${year}-${addZero(month)}-${addZero(day)}`\r\n}\r\n\r\nfunction getTime(date, hideSecond){\r\n date = fixIosDateFormat(date)\r\n date = new Date(date)\r\n const hour = date.getHours()\r\n const minute = date.getMinutes()\r\n const second = date.getSeconds()\r\n return hideSecond ? `${addZero(hour)}:${addZero(minute)}` : `${addZero(hour)}:${addZero(minute)}:${addZero(second)}`\r\n}\r\n\r\nfunction addZero(num) {\r\n if(num < 10){\r\n num = `0${num}`\r\n }\r\n return num\r\n}\r\n\r\nfunction getDefaultSecond(hideSecond) {\r\n return hideSecond ? '00:00' : '00:00:00'\r\n}\r\n\r\nfunction dateCompare(startDate, endDate) {\r\n startDate = new Date(fixIosDateFormat(startDate))\r\n endDate = new Date(fixIosDateFormat(endDate))\r\n return startDate <= endDate\r\n}\r\n\r\nfunction checkDate(date){\r\n const dateReg = /((19|20)\\d{2})(-|\\/)\\d{1,2}(-|\\/)\\d{1,2}/g\r\n return date.match(dateReg)\r\n}\r\n\r\nconst dateTimeReg = /^\\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])( [0-5]?[0-9]:[0-5]?[0-9]:[0-5]?[0-9])?$/\r\nfunction fixIosDateFormat(value) {\r\n if (typeof value === 'string' && dateTimeReg.test(value)) {\r\n value = value.replace(/-/g, '/')\r\n }\r\n return value\r\n}\r\n\r\nexport {Calendar, getDateTime, getDate, getTime, addZero, getDefaultSecond, dateCompare, checkDate, fixIosDateFormat}","export default {\r\n\tprops: {\r\n\t\t// 输入框的内容\r\n\t\tvalue: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.textarea.value\r\n\t\t},\r\n\t\t// 输入框为空时占位符\r\n\t\tplaceholder: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.textarea.placeholder\r\n\t\t},\r\n\t\t// 指定placeholder的样式类注意页面或组件的style中写了scoped时需要在类名前写/deep/\r\n\t\tplaceholderClass: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.placeholderClass\r\n\t\t},\r\n\t\t// 指定placeholder的样式\r\n\t\tplaceholderStyle: {\r\n\t\t\ttype: [String, Object],\r\n\t\t\tdefault: uni.$u.props.input.placeholderStyle\r\n\t\t},\r\n\t\t// 输入框高度\r\n\t\theight: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.textarea.height\r\n\t\t},\r\n\t\t// 设置键盘右下角按钮的文字仅微信小程序App-vue和H5有效\r\n\t\tconfirmType: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.textarea.confirmType\r\n\t\t},\r\n\t\t// 是否禁用\r\n\t\tdisabled: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.disabled\r\n\t\t},\r\n\t\t// 是否显示统计字数\r\n\t\tcount: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.count\r\n\t\t},\r\n\t\t// 是否自动获取焦点nvue不支持H5取决于浏览器的实现\r\n\t\tfocus: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.focus\r\n\t\t},\r\n\t\t// 是否自动增加高度\r\n\t\tautoHeight: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.autoHeight\r\n\t\t},\r\n\t\t// 如果textarea是在一个position:fixed的区域需要显示指定属性fixed为true\r\n\t\tfixed: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.fixed\r\n\t\t},\r\n\t\t// 指定光标与键盘的距离\r\n\t\tcursorSpacing: {\r\n\t\t\ttype: Number,\r\n\t\t\tdefault: uni.$u.props.textarea.cursorSpacing\r\n\t\t},\r\n\t\t// 指定focus时的光标位置\r\n\t\tcursor: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.textarea.cursor\r\n\t\t},\r\n\t\t// 是否显示键盘上方带有”完成“按钮那一栏,\r\n\t\tshowConfirmBar: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.showConfirmBar\r\n\t\t},\r\n\t\t// 光标起始位置自动聚焦时有效需与selection-end搭配使用\r\n\t\tselectionStart: {\r\n\t\t\ttype: Number,\r\n\t\t\tdefault: uni.$u.props.textarea.selectionStart\r\n\t\t},\r\n\t\t// 光标结束位置自动聚焦时有效需与selection-start搭配使用\r\n\t\tselectionEnd: {\r\n\t\t\ttype: Number,\r\n\t\t\tdefault: uni.$u.props.textarea.selectionEnd\r\n\t\t},\r\n\t\t// 键盘弹起时,是否自动上推页面\r\n\t\tadjustPosition: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.adjustPosition\r\n\t\t},\r\n\t\t// 是否去掉 iOS 下的默认内边距,只微信小程序有效\r\n\t\tdisableDefaultPadding: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.disableDefaultPadding\r\n\t\t},\r\n\t\t// focus时点击页面的时候不收起键盘只微信小程序有效\r\n\t\tholdKeyboard: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.textarea.holdKeyboard\r\n\t\t},\r\n\t\t// 最大输入长度,设置为 -1 的时候不限制最大长度\r\n\t\tmaxlength: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.textarea.maxlength\r\n\t\t},\r\n\t\t// 边框类型surround-四周边框bottom-底部边框\r\n\t\tborder: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.textarea.border\r\n\t\t},\r\n\t\t// 用于处理或者过滤输入框内容的方法\r\n\t\tformatter: {\r\n\t\t\ttype: [Function, null],\r\n\t\t\tdefault: uni.$u.props.textarea.formatter\r\n\t\t},\r\n\t\t// 是否忽略组件内对文本合成系统事件的处理\r\n\t\tignoreCompositionEvent: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: true\r\n\t\t}\r\n\t}\r\n}\r\n","export default {\r\n\tprops: {\r\n\t\t// 输入的值\r\n\t\tvalue: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.input.value\r\n\t\t},\r\n\t\t// 输入框类型\r\n\t\t// number-数字输入键盘app-vue下可以输入浮点数app-nvue和小程序平台下只能输入整数\r\n\t\t// idcard-身份证输入键盘微信、支付宝、百度、QQ小程序\r\n\t\t// digit-带小数点的数字键盘App的nvue页面、微信、支付宝、百度、头条、QQ小程序\r\n\t\t// text-文本输入键盘\r\n\t\ttype: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.type\r\n\t\t},\r\n\t\t// 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true\r\n\t\t// 兼容性微信小程序、百度小程序、字节跳动小程序、QQ小程序\r\n\t\tfixed: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.fixed\r\n\t\t},\r\n\t\t// 是否禁用输入框\r\n\t\tdisabled: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.disabled\r\n\t\t},\r\n\t\t// 禁用状态时的背景色\r\n\t\tdisabledColor: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.disabledColor\r\n\t\t},\r\n\t\t// 是否显示清除控件\r\n\t\tclearable: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.clearable\r\n\t\t},\r\n\t\t// 是否密码类型\r\n\t\tpassword: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.password\r\n\t\t},\r\n\t\t// 最大输入长度,设置为 -1 的时候不限制最大长度\r\n\t\tmaxlength: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.input.maxlength\r\n\t\t},\r\n\t\t// \t输入框为空时的占位符\r\n\t\tplaceholder: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.placeholder\r\n\t\t},\r\n\t\t// 指定placeholder的样式类注意页面或组件的style中写了scoped时需要在类名前写/deep/\r\n\t\tplaceholderClass: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.placeholderClass\r\n\t\t},\r\n\t\t// 指定placeholder的样式\r\n\t\tplaceholderStyle: {\r\n\t\t\ttype: [String, Object],\r\n\t\t\tdefault: uni.$u.props.input.placeholderStyle\r\n\t\t},\r\n\t\t// 是否显示输入字数统计,只在 type =\"text\"或type =\"textarea\"时有效\r\n\t\tshowWordLimit: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.showWordLimit\r\n\t\t},\r\n\t\t// 设置右下角按钮的文字有效值send|search|next|go|done兼容性详见uni-app文档\r\n\t\t// https://uniapp.dcloud.io/component/input\r\n\t\t// https://uniapp.dcloud.io/component/textarea\r\n\t\tconfirmType: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.confirmType\r\n\t\t},\r\n\t\t// 点击键盘右下角按钮时是否保持键盘不收起H5无效\r\n\t\tconfirmHold: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.confirmHold\r\n\t\t},\r\n\t\t// focus时点击页面的时候不收起键盘微信小程序有效\r\n\t\tholdKeyboard: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.holdKeyboard\r\n\t\t},\r\n\t\t// 自动获取焦点\r\n\t\t// 在 H5 平台能否聚焦以及软键盘是否跟随弹出取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点\r\n\t\tfocus: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.focus\r\n\t\t},\r\n\t\t// 键盘收起时是否自动失去焦点目前仅App3.0.0+有效\r\n\t\tautoBlur: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.autoBlur\r\n\t\t},\r\n\t\t// 是否去掉 iOS 下的默认内边距仅微信小程序且type=textarea时有效\r\n\t\tdisableDefaultPadding: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.disableDefaultPadding\r\n\t\t},\r\n\t\t// 指定focus时光标的位置\r\n\t\tcursor: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.input.cursor\r\n\t\t},\r\n\t\t// 输入框聚焦时底部与键盘的距离\r\n\t\tcursorSpacing: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.input.cursorSpacing\r\n\t\t},\r\n\t\t// 光标起始位置自动聚集时有效需与selection-end搭配使用\r\n\t\tselectionStart: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.input.selectionStart\r\n\t\t},\r\n\t\t// 光标结束位置自动聚集时有效需与selection-start搭配使用\r\n\t\tselectionEnd: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.input.selectionEnd\r\n\t\t},\r\n\t\t// 键盘弹起时,是否自动上推页面\r\n\t\tadjustPosition: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.adjustPosition\r\n\t\t},\r\n\t\t// 输入框内容对齐方式可选值为left|center|right\r\n\t\tinputAlign: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.inputAlign\r\n\t\t},\r\n\t\t// 输入框字体的大小\r\n\t\tfontSize: {\r\n\t\t\ttype: [String, Number],\r\n\t\t\tdefault: uni.$u.props.input.fontSize\r\n\t\t},\r\n\t\t// 输入框字体颜色\r\n\t\tcolor: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.color\r\n\t\t},\r\n\t\t// 输入框前置图标\r\n\t\tprefixIcon: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.prefixIcon\r\n\t\t},\r\n\t\t// 前置图标样式,对象或字符串\r\n\t\tprefixIconStyle: {\r\n\t\t\ttype: [String, Object],\r\n\t\t\tdefault: uni.$u.props.input.prefixIconStyle\r\n\t\t},\r\n\t\t// 输入框后置图标\r\n\t\tsuffixIcon: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.suffixIcon\r\n\t\t},\r\n\t\t// 后置图标样式,对象或字符串\r\n\t\tsuffixIconStyle: {\r\n\t\t\ttype: [String, Object],\r\n\t\t\tdefault: uni.$u.props.input.suffixIconStyle\r\n\t\t},\r\n\t\t// 边框类型surround-四周边框bottom-底部边框none-无边框\r\n\t\tborder: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.border\r\n\t\t},\r\n\t\t// 是否只读与disabled不同之处在于disabled会置灰组件而readonly则不会\r\n\t\treadonly: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: uni.$u.props.input.readonly\r\n\t\t},\r\n\t\t// 输入框形状circle-圆形square-方形\r\n\t\tshape: {\r\n\t\t\ttype: String,\r\n\t\t\tdefault: uni.$u.props.input.shape\r\n\t\t},\r\n\t\t// 用于处理或者过滤输入框内容的方法\r\n\t\tformatter: {\r\n\t\t\ttype: [Function, null],\r\n\t\t\tdefault: uni.$u.props.input.formatter\r\n\t\t},\r\n\t\t// 是否忽略组件内对文本合成系统事件的处理\r\n\t\tignoreCompositionEvent: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: true\r\n\t\t}\r\n\t}\r\n}\r\n","export default {\r\n props: {\r\n lang: String,\r\n sessionFrom: String,\r\n sendMessageTitle: String,\r\n sendMessagePath: String,\r\n sendMessageImg: String,\r\n showMessageCard: Boolean,\r\n appParameter: String,\r\n formType: String,\r\n openType: String\r\n }\r\n}\r\n","export default {\r\n props: {\r\n openType: String\r\n },\r\n methods: {\r\n onGetUserInfo(event) {\r\n this.$emit('getuserinfo', event.detail)\r\n },\r\n onContact(event) {\r\n this.$emit('contact', event.detail)\r\n },\r\n onGetPhoneNumber(event) {\r\n this.$emit('getphonenumber', event.detail)\r\n },\r\n onError(event) {\r\n this.$emit('error', event.detail)\r\n },\r\n onLaunchApp(event) {\r\n this.$emit('launchapp', event.detail)\r\n },\r\n onOpenSetting(event) {\r\n this.$emit('opensetting', event.detail)\r\n }\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-16 10:04:04\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-16 10:04:24\r\n * @FilePath : /u-view2.0/uview-ui/components/u-button/props.js\r\n */\r\nexport default {\r\n props: {\r\n // 是否细边框\r\n hairline: {\r\n type: Boolean,\r\n default: uni.$u.props.button.hairline\r\n },\r\n // 按钮的预置样式infoprimaryerrorwarningsuccess\r\n type: {\r\n type: String,\r\n default: uni.$u.props.button.type\r\n },\r\n // 按钮尺寸largenormalsmallmini\r\n size: {\r\n type: String,\r\n default: uni.$u.props.button.size\r\n },\r\n // 按钮形状circle两边为半圆square带圆角\r\n shape: {\r\n type: String,\r\n default: uni.$u.props.button.shape\r\n },\r\n // 按钮是否镂空\r\n plain: {\r\n type: Boolean,\r\n default: uni.$u.props.button.plain\r\n },\r\n // 是否禁止状态\r\n disabled: {\r\n type: Boolean,\r\n default: uni.$u.props.button.disabled\r\n },\r\n // 是否加载中\r\n loading: {\r\n type: Boolean,\r\n default: uni.$u.props.button.loading\r\n },\r\n // 加载中提示文字\r\n loadingText: {\r\n type: [String, Number],\r\n default: uni.$u.props.button.loadingText\r\n },\r\n // 加载状态图标类型\r\n loadingMode: {\r\n type: String,\r\n default: uni.$u.props.button.loadingMode\r\n },\r\n // 加载图标大小\r\n loadingSize: {\r\n type: [String, Number],\r\n default: uni.$u.props.button.loadingSize\r\n },\r\n // 开放能力具体请看uniapp稳定关于button组件部分说明\r\n // https://uniapp.dcloud.io/component/button\r\n openType: {\r\n type: String,\r\n default: uni.$u.props.button.openType\r\n },\r\n // 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件\r\n // 取值为submit提交表单reset重置表单\r\n formType: {\r\n type: String,\r\n default: uni.$u.props.button.formType\r\n },\r\n // 打开 APP 时,向 APP 传递的参数open-type=launchApp时有效\r\n // 只微信小程序、QQ小程序有效\r\n appParameter: {\r\n type: String,\r\n default: uni.$u.props.button.appParameter\r\n },\r\n // 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效\r\n hoverStopPropagation: {\r\n type: Boolean,\r\n default: uni.$u.props.button.hoverStopPropagation\r\n },\r\n // 指定返回用户信息的语言zh_CN 简体中文zh_TW 繁体中文en 英文。只微信小程序有效\r\n lang: {\r\n type: String,\r\n default: uni.$u.props.button.lang\r\n },\r\n // 会话来源open-type=\"contact\"时有效。只微信小程序有效\r\n sessionFrom: {\r\n type: String,\r\n default: uni.$u.props.button.sessionFrom\r\n },\r\n // 会话内消息卡片标题open-type=\"contact\"时有效\r\n // 默认当前标题,只微信小程序有效\r\n sendMessageTitle: {\r\n type: String,\r\n default: uni.$u.props.button.sendMessageTitle\r\n },\r\n // 会话内消息卡片点击跳转小程序路径open-type=\"contact\"时有效\r\n // 默认当前分享路径,只微信小程序有效\r\n sendMessagePath: {\r\n type: String,\r\n default: uni.$u.props.button.sendMessagePath\r\n },\r\n // 会话内消息卡片图片open-type=\"contact\"时有效\r\n // 默认当前页面截图,只微信小程序有效\r\n sendMessageImg: {\r\n type: String,\r\n default: uni.$u.props.button.sendMessageImg\r\n },\r\n // 是否显示会话内消息卡片,设置此参数为 true用户进入客服会话会在右下角显示\"可能要发送的小程序\"提示,\r\n // 用户点击后可以快速发送小程序消息open-type=\"contact\"时有效\r\n showMessageCard: {\r\n type: Boolean,\r\n default: uni.$u.props.button.showMessageCard\r\n },\r\n // 额外传参参数用于小程序的data-xxx属性通过target.dataset.name获取\r\n dataName: {\r\n type: String,\r\n default: uni.$u.props.button.dataName\r\n },\r\n // 节流,一定时间内只能触发一次\r\n throttleTime: {\r\n type: [String, Number],\r\n default: uni.$u.props.button.throttleTime\r\n },\r\n // 按住后多久出现点击态,单位毫秒\r\n hoverStartTime: {\r\n type: [String, Number],\r\n default: uni.$u.props.button.hoverStartTime\r\n },\r\n // 手指松开后点击态保留时间,单位毫秒\r\n hoverStayTime: {\r\n type: [String, Number],\r\n default: uni.$u.props.button.hoverStayTime\r\n },\r\n // 按钮文字之所以通过props传入是因为slot传入的话\r\n // nvue中无法控制文字的样式\r\n text: {\r\n type: [String, Number],\r\n default: uni.$u.props.button.text\r\n },\r\n // 按钮图标\r\n icon: {\r\n type: String,\r\n default: uni.$u.props.button.icon\r\n },\r\n // 按钮图标\r\n iconColor: {\r\n type: String,\r\n default: uni.$u.props.button.icon\r\n },\r\n // 按钮颜色支持传入linear-gradient渐变色\r\n color: {\r\n type: String,\r\n default: uni.$u.props.button.color\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 当前展开面板的name非手风琴模式[<string | number>]手风琴模式string | number\r\n value: {\r\n type: [String, Number, Array, null],\r\n default: uni.$u.props.collapse.value\r\n },\r\n // 是否手风琴模式\r\n accordion: {\r\n type: Boolean,\r\n default: uni.$u.props.collapse.accordion\r\n },\r\n // 是否显示外边框\r\n border: {\r\n type: Boolean,\r\n default: uni.$u.props.collapse.border\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 标题\r\n title: {\r\n type: String,\r\n default: uni.$u.props.collapseItem.title\r\n },\r\n // 标题右侧内容\r\n value: {\r\n type: String,\r\n default: uni.$u.props.collapseItem.value\r\n },\r\n // 标题下方的描述信息\r\n label: {\r\n type: String,\r\n default: uni.$u.props.collapseItem.label\r\n },\r\n // 是否禁用折叠面板\r\n disabled: {\r\n type: Boolean,\r\n default: uni.$u.props.collapseItem.disabled\r\n },\r\n // 是否展示右侧箭头并开启点击反馈\r\n isLink: {\r\n type: Boolean,\r\n default: uni.$u.props.collapseItem.isLink\r\n },\r\n // 是否开启点击反馈\r\n clickable: {\r\n type: Boolean,\r\n default: uni.$u.props.collapseItem.clickable\r\n },\r\n // 是否显示内边框\r\n border: {\r\n type: Boolean,\r\n default: uni.$u.props.collapseItem.border\r\n },\r\n // 标题的对齐方式\r\n align: {\r\n type: String,\r\n default: uni.$u.props.collapseItem.align\r\n },\r\n // 唯一标识符\r\n name: {\r\n type: [String, Number],\r\n default: uni.$u.props.collapseItem.name\r\n },\r\n // 标题左侧图片,可为绝对路径的图片或内置图标\r\n icon: {\r\n type: String,\r\n default: uni.$u.props.collapseItem.icon\r\n },\r\n // 面板展开收起的过渡时间单位ms\r\n duration: {\r\n type: Number,\r\n default: uni.$u.props.collapseItem.duration\r\n }\r\n }\r\n}\r\n","// const defaultOption = {\r\n// \tduration: 300,\r\n// \ttimingFunction: 'linear',\r\n// \tdelay: 0,\r\n// \ttransformOrigin: '50% 50% 0'\r\n// }\r\n\r\n\r\n\r\nclass MPAnimation {\r\n\tconstructor(options, _this) {\r\n\t\tthis.options = options\r\n\t\t// 在iOS10+QQ小程序平台下传给原生的对象一定是个普通对象而不是Proxy对象否则会报parameter should be Object instead of ProxyObject的错误\r\n\t\tthis.animation = uni.createAnimation({\r\n\t\t\t...options\r\n\t\t})\r\n\t\tthis.currentStepAnimates = {}\r\n\t\tthis.next = 0\r\n\t\tthis.$ = _this\r\n\r\n\t}\r\n\r\n\t_nvuePushAnimates(type, args) {\r\n\t\tlet aniObj = this.currentStepAnimates[this.next]\r\n\t\tlet styles = {}\r\n\t\tif (!aniObj) {\r\n\t\t\tstyles = {\r\n\t\t\t\tstyles: {},\r\n\t\t\t\tconfig: {}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tstyles = aniObj\r\n\t\t}\r\n\t\tif (animateTypes1.includes(type)) {\r\n\t\t\tif (!styles.styles.transform) {\r\n\t\t\t\tstyles.styles.transform = ''\r\n\t\t\t}\r\n\t\t\tlet unit = ''\r\n\t\t\tif(type === 'rotate'){\r\n\t\t\t\tunit = 'deg'\r\n\t\t\t}\r\n\t\t\tstyles.styles.transform += `${type}(${args+unit}) `\r\n\t\t} else {\r\n\t\t\tstyles.styles[type] = `${args}`\r\n\t\t}\r\n\t\tthis.currentStepAnimates[this.next] = styles\r\n\t}\r\n\t_animateRun(styles = {}, config = {}) {\r\n\t\tlet ref = this.$.$refs['ani'].ref\r\n\t\tif (!ref) return\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tnvueAnimation.transition(ref, {\r\n\t\t\t\tstyles,\r\n\t\t\t\t...config\r\n\t\t\t}, res => {\r\n\t\t\t\tresolve()\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\r\n\t_nvueNextAnimate(animates, step = 0, fn) {\r\n\t\tlet obj = animates[step]\r\n\t\tif (obj) {\r\n\t\t\tlet {\r\n\t\t\t\tstyles,\r\n\t\t\t\tconfig\r\n\t\t\t} = obj\r\n\t\t\tthis._animateRun(styles, config).then(() => {\r\n\t\t\t\tstep += 1\r\n\t\t\t\tthis._nvueNextAnimate(animates, step, fn)\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tthis.currentStepAnimates = {}\r\n\t\t\ttypeof fn === 'function' && fn()\r\n\t\t\tthis.isEnd = true\r\n\t\t}\r\n\t}\r\n\r\n\tstep(config = {}) {\r\n\r\n\t\tthis.animation.step(config)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t\treturn this\r\n\t}\r\n\r\n\trun(fn) {\r\n\r\n\t\tthis.$.animationData = this.animation.export()\r\n\t\tthis.$.timer = setTimeout(() => {\r\n\t\t\ttypeof fn === 'function' && fn()\r\n\t\t}, this.$.durationTime)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t}\r\n}\r\n\r\n\r\nconst animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d',\r\n\t'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY',\r\n\t'translateZ'\r\n]\r\nconst animateTypes2 = ['opacity', 'backgroundColor']\r\nconst animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom']\r\nanimateTypes1.concat(animateTypes2, animateTypes3).forEach(type => {\r\n\tMPAnimation.prototype[type] = function(...args) {\r\n\r\n\t\tthis.animation[type](...args)\r\n\r\n\r\n\r\n\r\n\t\treturn this\r\n\t}\r\n})\r\n\r\nexport function createAnimation(option, _this) {\r\n\tif(!_this) return\r\n\tclearTimeout(_this.timer)\r\n\treturn new MPAnimation(option, _this)\r\n}\r\n","export default {\r\n props: {\r\n // 是否展示组件\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.transition.show\r\n },\r\n // 使用的动画模式\r\n mode: {\r\n type: String,\r\n default: uni.$u.props.transition.mode\r\n },\r\n // 动画的执行时间单位ms\r\n duration: {\r\n type: [String, Number],\r\n default: uni.$u.props.transition.duration\r\n },\r\n // 使用的动画过渡函数\r\n timingFunction: {\r\n type: String,\r\n default: uni.$u.props.transition.timingFunction\r\n }\r\n }\r\n}\r\n","// 定义一个一定时间后自动成功的promise让调用nextTick方法处进入下一个then方法\r\nconst nextTick = () => new Promise(resolve => setTimeout(resolve, 1000 / 50))\r\n// nvue动画模块实现细节抽离在外部文件\r\nimport animationMap from './nvue.ani-map.js'\r\n\r\n\r\n// 定义类名通过给元素动态切换类名赋予元素一定的css动画样式\r\nconst getClassNames = (name) => ({\r\n enter: `u-${name}-enter u-${name}-enter-active`,\r\n 'enter-to': `u-${name}-enter-to u-${name}-enter-active`,\r\n leave: `u-${name}-leave u-${name}-leave-active`,\r\n 'leave-to': `u-${name}-leave-to u-${name}-leave-active`\r\n})\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport default {\r\n methods: {\r\n // 组件被点击发出事件\r\n clickHandler() {\r\n this.$emit('click')\r\n },\r\n\r\n // vue版本的组件进场处理\r\n vueEnter() {\r\n // 动画进入时的类名\r\n const classNames = getClassNames(this.mode)\r\n // 定义状态和发出动画进入前事件\r\n this.status = 'enter'\r\n this.$emit('beforeEnter')\r\n this.inited = true\r\n this.display = true\r\n this.classes = classNames.enter\r\n this.$nextTick(async () => {\r\n\r\n\r\n\r\n // 标识动画尚未结束\r\n this.$emit('enter')\r\n this.transitionEnded = false\r\n\t\t\t\t// 组件动画进入后触发的事件\r\n this.$emit('afterEnter')\r\n // 赋予组件enter-to类名\r\n this.classes = classNames['enter-to']\r\n })\r\n },\r\n // 动画离场处理\r\n vueLeave() {\r\n // 如果不是展示状态,无需执行逻辑\r\n if (!this.display) return\r\n const classNames = getClassNames(this.mode)\r\n // 标记离开状态和发出事件\r\n this.status = 'leave'\r\n this.$emit('beforeLeave')\r\n // 获得类名\r\n this.classes = classNames.leave\r\n\r\n this.$nextTick(() => {\r\n // 动画正在离场的状态\r\n this.transitionEnded = false\r\n this.$emit('leave')\r\n // 组件执行动画,到了执行的执行时间后,执行一些额外处理\r\n setTimeout(this.onTransitionEnd, this.duration)\r\n this.classes = classNames['leave-to']\r\n })\r\n },\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n // 完成过渡后触发\r\n onTransitionEnd() {\r\n // 如果已经是结束的状态,无需再处理\r\n if (this.transitionEnded) return\r\n this.transitionEnded = true\r\n // 发出组件动画执行后的事件\r\n this.$emit(this.status === 'leave' ? 'afterLeave' : 'afterEnter')\r\n if (!this.show && this.display) {\r\n this.display = false\r\n this.inited = false\r\n }\r\n }\r\n }\r\n}\r\n","export default {\r\n fade: {\r\n enter: { opacity: 0 },\r\n 'enter-to': { opacity: 1 },\r\n leave: { opacity: 1 },\r\n 'leave-to': { opacity: 0 }\r\n },\r\n 'fade-up': {\r\n enter: { opacity: 0, transform: 'translateY(100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateY(100%)' }\r\n },\r\n 'fade-down': {\r\n enter: { opacity: 0, transform: 'translateY(-100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateY(-100%)' }\r\n },\r\n 'fade-left': {\r\n enter: { opacity: 0, transform: 'translateX(-100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateX(-100%)' }\r\n },\r\n 'fade-right': {\r\n enter: { opacity: 0, transform: 'translateX(100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateX(100%)' }\r\n },\r\n 'slide-up': {\r\n enter: { transform: 'translateY(100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateY(100%)' }\r\n },\r\n 'slide-down': {\r\n enter: { transform: 'translateY(-100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateY(-100%)' }\r\n },\r\n 'slide-left': {\r\n enter: { transform: 'translateX(-100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateX(-100%)' }\r\n },\r\n 'slide-right': {\r\n enter: { transform: 'translateX(100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateX(100%)' }\r\n },\r\n zoom: {\r\n enter: { transform: 'scale(0.95)' },\r\n 'enter-to': { transform: 'scale(1)' },\r\n leave: { transform: 'scale(1)' },\r\n 'leave-to': { transform: 'scale(0.95)' }\r\n },\r\n 'fade-zoom': {\r\n enter: { opacity: 0, transform: 'scale(0.95)' },\r\n 'enter-to': { opacity: 1, transform: 'scale(1)' },\r\n leave: { opacity: 1, transform: 'scale(1)' },\r\n 'leave-to': { opacity: 0, transform: 'scale(0.95)' }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 是否显示组件\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.loadingIcon.show\r\n },\r\n // 颜色\r\n color: {\r\n type: String,\r\n default: uni.$u.props.loadingIcon.color\r\n },\r\n // 提示文字颜色\r\n textColor: {\r\n type: String,\r\n default: uni.$u.props.loadingIcon.textColor\r\n },\r\n // 文字和图标是否垂直排列\r\n vertical: {\r\n type: Boolean,\r\n default: uni.$u.props.loadingIcon.vertical\r\n },\r\n // 模式选择circle-圆形spinner-花朵形semicircle-半圆形\r\n mode: {\r\n type: String,\r\n default: uni.$u.props.loadingIcon.mode\r\n },\r\n // 图标大小单位默认px\r\n size: {\r\n type: [String, Number],\r\n default: uni.$u.props.loadingIcon.size\r\n },\r\n // 文字大小\r\n textSize: {\r\n type: [String, Number],\r\n default: uni.$u.props.loadingIcon.textSize\r\n },\r\n // 文字内容\r\n text: {\r\n type: [String, Number],\r\n default: uni.$u.props.loadingIcon.text\r\n },\r\n // 动画模式\r\n timingFunction: {\r\n type: String,\r\n default: uni.$u.props.loadingIcon.timingFunction\r\n },\r\n // 动画执行周期时间\r\n duration: {\r\n type: [String, Number],\r\n default: uni.$u.props.loadingIcon.duration\r\n },\r\n // mode=circle时的暗边颜色\r\n inactiveColor: {\r\n type: String,\r\n default: uni.$u.props.loadingIcon.inactiveColor\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n bgColor: {\r\n type: String,\r\n default: uni.$u.props.statusBar.bgColor\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n\r\n }\r\n}\r\n","export default {\r\n props: {\r\n color: {\r\n type: String,\r\n default: uni.$u.props.line.color\r\n },\r\n // 长度竖向时表现为高度横向时表现为长度可以为百分比带px单位的值等\r\n length: {\r\n type: [String, Number],\r\n default: uni.$u.props.line.length\r\n },\r\n // 线条方向col-竖向row-横向\r\n direction: {\r\n type: String,\r\n default: uni.$u.props.line.direction\r\n },\r\n // 是否显示细边框\r\n hairline: {\r\n type: Boolean,\r\n default: uni.$u.props.line.hairline\r\n },\r\n // 线条与上下左右元素的间距,字符串形式,如\"30px\"、\"20px 30px\"\r\n margin: {\r\n type: [String, Number],\r\n default: uni.$u.props.line.margin\r\n },\r\n // 是否虚线true-虚线false-实线\r\n dashed: {\r\n type: Boolean,\r\n default: uni.$u.props.line.dashed\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 是否展示工具条\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.toolbar.show\r\n },\r\n // 取消按钮的文字\r\n cancelText: {\r\n type: String,\r\n default: uni.$u.props.toolbar.cancelText\r\n },\r\n // 确认按钮的文字\r\n confirmText: {\r\n type: String,\r\n default: uni.$u.props.toolbar.confirmText\r\n },\r\n // 取消按钮的颜色\r\n cancelColor: {\r\n type: String,\r\n default: uni.$u.props.toolbar.cancelColor\r\n },\r\n // 确认按钮的颜色\r\n confirmColor: {\r\n type: String,\r\n default: uni.$u.props.toolbar.confirmColor\r\n },\r\n // 标题文字\r\n title: {\r\n type: String,\r\n default: uni.$u.props.toolbar.title\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 标题\r\n title: {\r\n type: [String, Number],\r\n default: uni.$u.props.cell.title\r\n },\r\n // 标题下方的描述信息\r\n label: {\r\n type: [String, Number],\r\n default: uni.$u.props.cell.label\r\n },\r\n // 右侧的内容\r\n value: {\r\n type: [String, Number],\r\n default: uni.$u.props.cell.value\r\n },\r\n // 左侧图标名称,或者图片链接(本地文件建议使用绝对地址)\r\n icon: {\r\n type: String,\r\n default: uni.$u.props.cell.icon\r\n },\r\n // 是否禁用cell\r\n disabled: {\r\n type: Boolean,\r\n default: uni.$u.props.cell.disabled\r\n },\r\n // 是否显示下边框\r\n border: {\r\n type: Boolean,\r\n default: uni.$u.props.cell.border\r\n },\r\n // 内容是否垂直居中(主要是针对右侧的value部分)\r\n center: {\r\n type: Boolean,\r\n default: uni.$u.props.cell.center\r\n },\r\n // 点击后跳转的URL地址\r\n url: {\r\n type: String,\r\n default: uni.$u.props.cell.url\r\n },\r\n // 链接跳转的方式内部使用的是uView封装的route方法可能会进行拦截操作\r\n linkType: {\r\n type: String,\r\n default: uni.$u.props.cell.linkType\r\n },\r\n // 是否开启点击反馈(表现为点击时加上灰色背景)\r\n clickable: {\r\n type: Boolean,\r\n default: uni.$u.props.cell.clickable\r\n },\r\n // 是否展示右侧箭头并开启点击反馈\r\n isLink: {\r\n type: Boolean,\r\n default: uni.$u.props.cell.isLink\r\n },\r\n // 是否显示表单状态下的必填星号(此组件可能会内嵌入input组件)\r\n required: {\r\n type: Boolean,\r\n default: uni.$u.props.cell.required\r\n },\r\n // 右侧的图标箭头\r\n rightIcon: {\r\n type: String,\r\n default: uni.$u.props.cell.rightIcon\r\n },\r\n // 右侧箭头的方向可选值为leftupdown\r\n arrowDirection: {\r\n type: String,\r\n default: uni.$u.props.cell.arrowDirection\r\n },\r\n // 左侧图标样式\r\n iconStyle: {\r\n type: [Object, String],\r\n default: () => {\r\n\t\t\t\treturn uni.$u.props.cell.iconStyle\r\n\t\t\t}\r\n },\r\n // 右侧箭头图标的样式\r\n rightIconStyle: {\r\n type: [Object, String],\r\n default: () => {\r\n\t\t\t\treturn uni.$u.props.cell.rightIconStyle\r\n\t\t\t}\r\n },\r\n // 标题的样式\r\n titleStyle: {\r\n type: [Object, String],\r\n\t\t\tdefault: () => {\r\n\t\t\t\treturn uni.$u.props.cell.titleStyle\r\n\t\t\t}\r\n },\r\n // 单位元的大小可选值为large\r\n size: {\r\n type: String,\r\n default: uni.$u.props.cell.size\r\n },\r\n // 点击cell是否阻止事件传播\r\n stop: {\r\n type: Boolean,\r\n default: uni.$u.props.cell.stop\r\n },\r\n // 标识符cell被点击时返回\r\n name: {\r\n type: [Number, String],\r\n default: uni.$u.props.cell.name\r\n }\r\n }\r\n}\r\n"],"sourceRoot":""}