diff --git a/pages/index/index.vue b/pages/index/index.vue index 73ff655..4d28d91 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -8,14 +8,30 @@ export default { data() { return { + topBanner: [], } }, onLoad() { - + + }, + onShow() { + + }, + onReady() { + this.getTopBanner() }, methods: { - + // 获取顶部banner + getTopBanner() { + this.Post({ + apiType: 'jdsz', + type_id: 5, + position: 0, + }, '/api/adv/getAdv').then(res => { + console.log(res) + }) + } } } diff --git a/static/js/request.js b/static/js/request.js index e8effe1..fffe261 100644 --- a/static/js/request.js +++ b/static/js/request.js @@ -20,7 +20,6 @@ const getToken = () => { // 定义错误处理函数 const handleError = (res, reject) => { - uni.hideLoading(); setTimeout(() => { uni.showToast({ title: res.data?.msg || res.msg, @@ -58,13 +57,15 @@ Vue.prototype.Post = (params = {}, apiurl) => { }, success: (res) => { console.log('success', res.data); - if (res.data.code === 200) { + uni.hideLoading() + if (res.data.code === 200 || res.data.code === 1) { resolve(res.data); } else { handleError(res, reject); } }, fail: (err) => { + uni.hideLoading() console.log('err', err); handleError(err, reject); } diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map index e9e052c..8bda23a 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map @@ -1 +1 @@ -{"version":3,"sources":["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","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?828b","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:///static/js/request.js","uni-app:///static/js/CommonFunction.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","this","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","canIUse","getAppBaseInfo","getSystemInfoSync","getWindowInfo","getDeviceInfo","realAtob","b64","b64re","b64DecodeUnicode","str","decodeURIComponent","split","map","c","charCodeAt","toString","slice","getCurrentUserInfo","userInfo","token","wx","getStorageSync","tokenArr","length","uid","role","permission","tokenExpired","JSON","parse","error","Error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","atob","String","replace","test","bitmap","r1","r2","result","i","charAt","fromCharCode","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","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","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","promisify","success","fail","complete","assign","finally","constructor","value","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","platform","windowWidth","pixelRatio","upx2px","number","newDeviceWidth","Number","Math","floor","locale","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","getLocaleLanguage","localeLanguage","appBaseInfo","language","normalizeLocale","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","t","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__","rpx2px","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","deviceId","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","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","uniCompilerVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","isUniAppX","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","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","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","ctx","$on","arguments","$off","$emit","cid","cidErrMsg","enabled","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","__f__","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","parentVm","$children","childVm","$scope","_$vueId","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","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","observer","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","vFor","propPath","valuePath","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","globalData","_isMounted","getLocaleLanguage$1","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","todoApi","canIUseApi","apiName","uni","Proxy","uni$1","g","Function","window","module","exports","_interopRequireDefault","__esModule","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","emptyObject","isUndef","isDef","isTrue","isFalse","isPrimitive","toRawType","isRegExp","isValidArrayIndex","parseFloat","isFinite","toNumber","makeMap","expectsLowerCase","list","isBuiltInTag","isReservedAttribute","remove","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","toArray","start","to","_from","toObject","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","getTime","keysA","keysB","looseIndexOf","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","bailRE","RegExp","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","weexPlatform","UA","navigator","userAgent","isIE","isEdge","nativeWatch","addEventListener","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","ownKeys","has","clear","tip","generateComponentTrace","formatComponentName","hasConsole","classifyRE","classify","msg","trace","includeFile","$root","_isVue","_componentTag","repeat","tree","currentRecursiveSequence","last","Dep","subs","pushTarget","SharedObject","targetStack","popTarget","addSub","removeSub","depend","addDep","notify","update","VNode","tag","children","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","copyAugment","protoAugment","src","observe","asRootData","__v_isMPComponent","defineReactive$$1","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","max","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","instanceData","defaultData","mergeAssets","assertObjectType","el","defaultStrat","key$1","inject","computed","provide","checkComponents","validateComponentName","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","prop","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","assertProp","_props","getType","required","valid","expectedTypes","assertedType","assertType","expectedType","validator","getInvalidTypeMessage","simpleCheckRE","isSameType","receivedType","expectedValue","styleValue","receivedValue","isExplicable","isBoolean","explicitTypes","some","elem","handleError","info","cur","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","initProxy","callbacks","pending","flushCallbacks","copies","setTimeout","MutationObserver","setImmediate","counter","textNode","document","createTextNode","characterData","nextTick","cb","_resolve","allowedGlobals","warnNonPresent","warnReservedPrefix","hasProxy","isBuiltInModifier","hasHandler","isAllowed","$data","getHandler","handlers","render","_withStripped","_renderProxy","mark","measure","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","perf","clearMarks","clearMeasures","startTag","endTag","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","extractPropertiesFromVNodeData","attrs","altKey","checkProp","extractPropsFromVNodeData","keyInLowerCase","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","shift","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","source","provideDefault","resolveSlots","slots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","_i","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","staticRenderFns","markStatic","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","d","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","devtoolsMeta","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","hooksToMerge","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","functional","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","merged","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","$vnode","pre","applyNS","registerDeepBindings","force","style","class","initRender","_vnode","parentVnode","_renderChildren","parentData","isUpdatingChildComponent","_parentListeners","currentRenderingInstance","renderMixin","$nextTick","_render","renderError","ensureCtor","comp","base","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","forceRender","renderCompleted","clearTimeout","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i$1","cbs","lowerCaseEvent","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","_$updateProperties","isInInactiveTree","direct","j","MAX_UPDATE_COUNT","activatedChildren","circular","waiting","flushing","resetSchedulerState","getNow","createEvent","timeStamp","flushSchedulerQueue","before","run","user","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","Watcher","expOrFn","isRenderWatcher","deep","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initComputed","initWatch","propsOptions","isRoot","_getFormData","__next_tick_pending","getData","computedWatcherOptions","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","_self","_$fallback","_name","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","exclude","created","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","util","defineReactive","ssrContext","ARRAYTYPE","OBJECTTYPE","NULLTYPE","UNDEFINEDTYPE","diff","syncKeys","_diff","rootCurrentType","rootPreType","currentValue","nullOrUndefined","currentType","preType","setResult","preValue","subKey","k","flushCallbacks$1","__next_tick_callbacks","log","hasRenderWatcher","nextTick$1","mpInstance$1","clearInstance","cloneWithData","dataKeys","reduce","compositionApiState","__composition_api_state__","__secret_vfa_state__","rawBindings","patch","__webviewId__","mpData","diffData","$shouldDiffData","createEmptyRender","mountComponent$1","template","updateComponent","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleBinding","bindingStyle","MP_METHODS","getTarget","internalMixin","onError","oldEmit","my","createSelectorQuery","createIntersectionObserver","__init_provide","__init_injections","__set_model","modifiers","__set_sync","__get_orig","__get_class","__get_style","dynamicStyle","staticStyle","dynamicStyleObj","styleObj","__map","iteratee","LIFECYCLE_HOOKS$1","lifecycleMixin$1","oldExtend","strategies","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","renderjs","__module","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","h","Vuex","Store","modules","applyMixin","vuexInit","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","mutation","prepend","subscribeAction","action","deepCopy","copy","forEachValue","assert","condition","partial","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","addChild","removeChild","getChild","hasChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","targetModule","newModule","assertRawModule","root","getNamespace","namespace","rawChildModule","unregister","isRegistered","functionAssert","expected","objectAssert","assertTypes","assertOptions","makeAssertionMessage","buf","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","dispatch","commit","payload","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","_vm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","rawGetter","_Vue","all","registerModule","preserveState","unregisterModule","hasModule","newOptions","committing","mapState","normalizeNamespace","states","isValidMap","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","groupCollapsed","group","groupEnd","time","pad","getHours","getMinutes","getSeconds","getMilliseconds","times","num","maxLength","index_cjs","location","lat","lon","toPath","products","linkProducts","coupon","eshoppingCart","sshoppingCart","meetRoomReserve","date","people","changeUserInfo","setStorageSync","changeLoationInfo","changeLoginPath","currentPage","navigateTo","changeOrderInfo","changelinkProducts","choseCoupon","changeOrderECart","changeOrderSCart","changeMeetRoomReserve","CS_API_URL","JDSZ_API_URL","NEWAPIURL","getToken","userInfoFromStorage","hideLoading","showToast","icon","code","Post","apiurl","showLoading","request","apiType","header","formateRichText","reg","getUrlPara","arrUrl","para","idChinaName","idCardNumber","passportValid","taiwanValid","gangaoValid","foreignerValid","officerValid","emailValid","IsTel","tel","IsTelMacau","IsCode","showImg","img","getLocation","startLocationUpdate","onLocationChange","latitude","longitude","gotoPath","goBack","navigateBack","switchTab","openLocation","clickPhone","phone","makePhoneCall","phoneNumber","ShowDateDay","day","stateTxt","Format","fmt","getFullYear","getMonth","getDate","$1","getSubscribeMessage","templateIds","requestSubscribeMessage","tmplIds","getHeadImg","image"],"mappings":"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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\nif (!target[key].canIUse('getAppBaseInfo')) {\r\n target[key].getAppBaseInfo = target[key].getSystemInfoSync\r\n}\r\n\r\nif (!target[key].canIUse('getWindowInfo')) {\r\n target[key].getWindowInfo = target[key].getSystemInfoSync\r\n}\r\n\r\nif (!target[key].canIUse('getDeviceInfo')) {\r\n target[key].getDeviceInfo = target[key].getSystemInfoSync\r\n}\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) {\r\n resolve(res);\r\n return\r\n }\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 /^\\$|__f__|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|rpx2px|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 { windowWidth, pixelRatio, platform } = Object.assign({}, wx.getWindowInfo(), {\r\n platform: wx.getDeviceInfo().platform\r\n })\r\n ; // 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\nfunction getLocaleLanguage() {\r\n let localeLanguage = '';\r\n {\r\n const appBaseInfo = wx.getAppBaseInfo();\r\n const language =\r\n appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN;\r\n localeLanguage = normalizeLocale(language) || LOCALE_EN;\r\n }\r\n return localeLanguage\r\n}\r\n\r\nlet locale;\r\n\r\n{\r\n locale = getLocaleLanguage();\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 getLocaleLanguage()\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 rpx2px: 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 uniCompilerVersion: 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 isUniAppX: false\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 isUniAppX: false,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniCompilerVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION\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\nfunction __f__ (\r\n type,\r\n ...args\r\n) {\r\n console[type].apply(console, args);\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 __f__: __f__\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, getLocaleLanguage$1());\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 getLocaleLanguage$1() {\r\n let localeLanguage = '';\r\n {\r\n const appBaseInfo = wx.getAppBaseInfo();\r\n const language =\r\n appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN;\r\n localeLanguage = normalizeLocale(language) || LOCALE_EN;\r\n }\r\n return localeLanguage\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-2024 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 && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.