vendor.js.map 543 KB

1
  1. {"version":3,"file":"vendor.js","sources":["../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist/vue.runtime.esm.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.api.esm.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/dist/index.esm.js","../../../Program Files/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.mp.esm.js"],"sourcesContent":["/**\r\n* @vue/shared v3.4.21\r\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\r\n* @license MIT\r\n**/\r\nfunction makeMap(str, expectsLowerCase) {\r\n const set = new Set(str.split(\",\"));\r\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\r\n}\r\n\r\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\r\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\r\nconst NOOP = () => {\r\n};\r\nconst NO = () => false;\r\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\r\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\r\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\r\nconst extend = Object.assign;\r\nconst remove = (arr, el) => {\r\n const i = arr.indexOf(el);\r\n if (i > -1) {\r\n arr.splice(i, 1);\r\n }\r\n};\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst isArray = Array.isArray;\r\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\r\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\r\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\r\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\r\nconst isFunction = (val) => typeof val === \"function\";\r\nconst isString = (val) => typeof val === \"string\";\r\nconst isSymbol = (val) => typeof val === \"symbol\";\r\nconst isObject = (val) => val !== null && typeof val === \"object\";\r\nconst isPromise = (val) => {\r\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\r\n};\r\nconst objectToString = Object.prototype.toString;\r\nconst toTypeString = (value) => objectToString.call(value);\r\nconst toRawType = (value) => {\r\n return toTypeString(value).slice(8, -1);\r\n};\r\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\r\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\r\nconst isReservedProp = /* @__PURE__ */ makeMap(\r\n // the leading comma is intentional so empty string \"\" is also included\r\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\r\n);\r\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\r\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\r\n);\r\nconst cacheStringFunction = (fn) => {\r\n const cache = /* @__PURE__ */ Object.create(null);\r\n return (str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n};\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cacheStringFunction((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\r\n});\r\nconst hyphenateRE = /\\B([A-Z])/g;\r\nconst hyphenate = cacheStringFunction(\r\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\r\n);\r\nconst capitalize = cacheStringFunction((str) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n});\r\nconst toHandlerKey = cacheStringFunction((str) => {\r\n const s = str ? `on${capitalize(str)}` : ``;\r\n return s;\r\n});\r\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\r\nconst invokeArrayFns = (fns, arg) => {\r\n for (let i = 0; i < fns.length; i++) {\r\n fns[i](arg);\r\n }\r\n};\r\nconst def = (obj, key, value) => {\r\n Object.defineProperty(obj, key, {\r\n configurable: true,\r\n enumerable: false,\r\n value\r\n });\r\n};\r\nconst looseToNumber = (val) => {\r\n const n = parseFloat(val);\r\n return isNaN(n) ? val : n;\r\n};\r\nconst toNumber = (val) => {\r\n const n = isString(val) ? Number(val) : NaN;\r\n return isNaN(n) ? val : n;\r\n};\r\nlet _globalThis;\r\nconst getGlobalThis = () => {\r\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\r\n};\r\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\r\nfunction genPropsAccessExp(name) {\r\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\r\n}\r\n\r\nconst PatchFlags = {\r\n \"TEXT\": 1,\r\n \"1\": \"TEXT\",\r\n \"CLASS\": 2,\r\n \"2\": \"CLASS\",\r\n \"STYLE\": 4,\r\n \"4\": \"STYLE\",\r\n \"PROPS\": 8,\r\n \"8\": \"PROPS\",\r\n \"FULL_PROPS\": 16,\r\n \"16\": \"FULL_PROPS\",\r\n \"NEED_HYDRATION\": 32,\r\n \"32\": \"NEED_HYDRATION\",\r\n \"STABLE_FRAGMENT\": 64,\r\n \"64\": \"STABLE_FRAGMENT\",\r\n \"KEYED_FRAGMENT\": 128,\r\n \"128\": \"KEYED_FRAGMENT\",\r\n \"UNKEYED_FRAGMENT\": 256,\r\n \"256\": \"UNKEYED_FRAGMENT\",\r\n \"NEED_PATCH\": 512,\r\n \"512\": \"NEED_PATCH\",\r\n \"DYNAMIC_SLOTS\": 1024,\r\n \"1024\": \"DYNAMIC_SLOTS\",\r\n \"DEV_ROOT_FRAGMENT\": 2048,\r\n \"2048\": \"DEV_ROOT_FRAGMENT\",\r\n \"HOISTED\": -1,\r\n \"-1\": \"HOISTED\",\r\n \"BAIL\": -2,\r\n \"-2\": \"BAIL\"\r\n};\r\nconst PatchFlagNames = {\r\n [1]: `TEXT`,\r\n [2]: `CLASS`,\r\n [4]: `STYLE`,\r\n [8]: `PROPS`,\r\n [16]: `FULL_PROPS`,\r\n [32]: `NEED_HYDRATION`,\r\n [64]: `STABLE_FRAGMENT`,\r\n [128]: `KEYED_FRAGMENT`,\r\n [256]: `UNKEYED_FRAGMENT`,\r\n [512]: `NEED_PATCH`,\r\n [1024]: `DYNAMIC_SLOTS`,\r\n [2048]: `DEV_ROOT_FRAGMENT`,\r\n [-1]: `HOISTED`,\r\n [-2]: `BAIL`\r\n};\r\n\r\nconst ShapeFlags = {\r\n \"ELEMENT\": 1,\r\n \"1\": \"ELEMENT\",\r\n \"FUNCTIONAL_COMPONENT\": 2,\r\n \"2\": \"FUNCTIONAL_COMPONENT\",\r\n \"STATEFUL_COMPONENT\": 4,\r\n \"4\": \"STATEFUL_COMPONENT\",\r\n \"TEXT_CHILDREN\": 8,\r\n \"8\": \"TEXT_CHILDREN\",\r\n \"ARRAY_CHILDREN\": 16,\r\n \"16\": \"ARRAY_CHILDREN\",\r\n \"SLOTS_CHILDREN\": 32,\r\n \"32\": \"SLOTS_CHILDREN\",\r\n \"TELEPORT\": 64,\r\n \"64\": \"TELEPORT\",\r\n \"SUSPENSE\": 128,\r\n \"128\": \"SUSPENSE\",\r\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\r\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\r\n \"COMPONENT_KEPT_ALIVE\": 512,\r\n \"512\": \"COMPONENT_KEPT_ALIVE\",\r\n \"COMPONENT\": 6,\r\n \"6\": \"COMPONENT\"\r\n};\r\n\r\nconst SlotFlags = {\r\n \"STABLE\": 1,\r\n \"1\": \"STABLE\",\r\n \"DYNAMIC\": 2,\r\n \"2\": \"DYNAMIC\",\r\n \"FORWARDED\": 3,\r\n \"3\": \"FORWARDED\"\r\n};\r\nconst slotFlagsText = {\r\n [1]: \"STABLE\",\r\n [2]: \"DYNAMIC\",\r\n [3]: \"FORWARDED\"\r\n};\r\n\r\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\r\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\r\nconst isGloballyWhitelisted = isGloballyAllowed;\r\n\r\nconst range = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n let lines = source.split(/(\\r?\\n)/);\r\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\r\n lines = lines.filter((_, idx) => idx % 2 === 0);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\r\n if (count >= start) {\r\n for (let j = i - range; j <= i + range || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(\r\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\r\n );\r\n const lineLength = lines[j].length;\r\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\r\n if (j === i) {\r\n const pad = start - (count - (lineLength + newLineSeqLength));\r\n const length = Math.max(\r\n 1,\r\n end > count ? lineLength - pad : end - start\r\n );\r\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\r\n } else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + \"^\".repeat(length));\r\n }\r\n count += lineLength + newLineSeqLength;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join(\"\\n\");\r\n}\r\n\r\nfunction normalizeStyle(value) {\r\n if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n } else if (isString(value) || isObject(value)) {\r\n return value;\r\n }\r\n}\r\nconst listDelimiterRE = /;(?![^(]*\\))/g;\r\nconst propertyDelimiterRE = /:([^]+)/;\r\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\r\nfunction parseStringStyle(cssText) {\r\n const ret = {};\r\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\r\n if (item) {\r\n const tmp = item.split(propertyDelimiterRE);\r\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\r\n }\r\n });\r\n return ret;\r\n}\r\nfunction stringifyStyle(styles) {\r\n let ret = \"\";\r\n if (!styles || isString(styles)) {\r\n return ret;\r\n }\r\n for (const key in styles) {\r\n const value = styles[key];\r\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\r\n if (isString(value) || typeof value === \"number\") {\r\n ret += `${normalizedKey}:${value};`;\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction normalizeClass(value) {\r\n let res = \"\";\r\n if (isString(value)) {\r\n res = value;\r\n } else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n const normalized = normalizeClass(value[i]);\r\n if (normalized) {\r\n res += normalized + \" \";\r\n }\r\n }\r\n } else if (isObject(value)) {\r\n for (const name in value) {\r\n if (value[name]) {\r\n res += name + \" \";\r\n }\r\n }\r\n }\r\n return res.trim();\r\n}\r\nfunction normalizeProps(props) {\r\n if (!props)\r\n return null;\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (style) {\r\n props.style = normalizeStyle(style);\r\n }\r\n return props;\r\n}\r\n\r\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\r\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\r\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\r\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\r\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\r\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\r\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\r\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\r\n\r\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\r\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\r\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\r\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\r\n);\r\nfunction includeBooleanAttr(value) {\r\n return !!value || value === \"\";\r\n}\r\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\r\nconst attrValidationCache = {};\r\nfunction isSSRSafeAttrName(name) {\r\n if (attrValidationCache.hasOwnProperty(name)) {\r\n return attrValidationCache[name];\r\n }\r\n const isUnsafe = unsafeAttrCharRE.test(name);\r\n if (isUnsafe) {\r\n console.error(`unsafe attribute name: ${name}`);\r\n }\r\n return attrValidationCache[name] = !isUnsafe;\r\n}\r\nconst propsToAttrMap = {\r\n acceptCharset: \"accept-charset\",\r\n className: \"class\",\r\n htmlFor: \"for\",\r\n httpEquiv: \"http-equiv\"\r\n};\r\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\r\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\r\n);\r\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\r\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\r\n);\r\nfunction isRenderableAttrValue(value) {\r\n if (value == null) {\r\n return false;\r\n }\r\n const type = typeof value;\r\n return type === \"string\" || type === \"number\" || type === \"boolean\";\r\n}\r\n\r\nconst escapeRE = /[\"'&<>]/;\r\nfunction escapeHtml(string) {\r\n const str = \"\" + string;\r\n const match = escapeRE.exec(str);\r\n if (!match) {\r\n return str;\r\n }\r\n let html = \"\";\r\n let escaped;\r\n let index;\r\n let lastIndex = 0;\r\n for (index = match.index; index < str.length; index++) {\r\n switch (str.charCodeAt(index)) {\r\n case 34:\r\n escaped = \"&quot;\";\r\n break;\r\n case 38:\r\n escaped = \"&amp;\";\r\n break;\r\n case 39:\r\n escaped = \"&#39;\";\r\n break;\r\n case 60:\r\n escaped = \"&lt;\";\r\n break;\r\n case 62:\r\n escaped = \"&gt;\";\r\n break;\r\n default:\r\n continue;\r\n }\r\n if (lastIndex !== index) {\r\n html += str.slice(lastIndex, index);\r\n }\r\n lastIndex = index + 1;\r\n html += escaped;\r\n }\r\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\r\n}\r\nconst commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;\r\nfunction escapeHtmlComment(src) {\r\n return src.replace(commentStripRE, \"\");\r\n}\r\n\r\nfunction looseCompareArrays(a, b) {\r\n if (a.length !== b.length)\r\n return false;\r\n let equal = true;\r\n for (let i = 0; equal && i < a.length; i++) {\r\n equal = looseEqual(a[i], b[i]);\r\n }\r\n return equal;\r\n}\r\nfunction looseEqual(a, b) {\r\n if (a === b)\r\n return true;\r\n let aValidType = isDate(a);\r\n let bValidType = isDate(b);\r\n if (aValidType || bValidType) {\r\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\r\n }\r\n aValidType = isSymbol(a);\r\n bValidType = isSymbol(b);\r\n if (aValidType || bValidType) {\r\n return a === b;\r\n }\r\n aValidType = isArray(a);\r\n bValidType = isArray(b);\r\n if (aValidType || bValidType) {\r\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\r\n }\r\n aValidType = isObject(a);\r\n bValidType = isObject(b);\r\n if (aValidType || bValidType) {\r\n if (!aValidType || !bValidType) {\r\n return false;\r\n }\r\n const aKeysCount = Object.keys(a).length;\r\n const bKeysCount = Object.keys(b).length;\r\n if (aKeysCount !== bKeysCount) {\r\n return false;\r\n }\r\n for (const key in a) {\r\n const aHasKey = a.hasOwnProperty(key);\r\n const bHasKey = b.hasOwnProperty(key);\r\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\r\n return false;\r\n }\r\n }\r\n }\r\n return String(a) === String(b);\r\n}\r\nfunction looseIndexOf(arr, val) {\r\n return arr.findIndex((item) => looseEqual(item, val));\r\n}\r\n\r\nconst toDisplayString = (val) => {\r\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\r\n};\r\nconst replacer = (_key, val) => {\r\n if (val && val.__v_isRef) {\r\n return replacer(_key, val.value);\r\n } else if (isMap(val)) {\r\n return {\r\n [`Map(${val.size})`]: [...val.entries()].reduce(\r\n (entries, [key, val2], i) => {\r\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\r\n return entries;\r\n },\r\n {}\r\n )\r\n };\r\n } else if (isSet(val)) {\r\n return {\r\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\r\n };\r\n } else if (isSymbol(val)) {\r\n return stringifySymbol(val);\r\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\r\n return String(val);\r\n }\r\n return val;\r\n};\r\nconst stringifySymbol = (v, i = \"\") => {\r\n var _a;\r\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\r\n};\r\n\r\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\r\n","const isObject = (val) => val !== null && typeof val === 'object';\r\nconst defaultDelimiters = ['{', '}'];\r\nclass BaseFormatter {\r\n constructor() {\r\n this._caches = Object.create(null);\r\n }\r\n interpolate(message, values, delimiters = defaultDelimiters) {\r\n if (!values) {\r\n return [message];\r\n }\r\n let tokens = this._caches[message];\r\n if (!tokens) {\r\n tokens = parse(message, delimiters);\r\n this._caches[message] = tokens;\r\n }\r\n return compile(tokens, values);\r\n }\r\n}\r\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\r\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\r\nfunction parse(format, [startDelimiter, endDelimiter]) {\r\n const tokens = [];\r\n let position = 0;\r\n let text = '';\r\n while (position < format.length) {\r\n let char = format[position++];\r\n if (char === startDelimiter) {\r\n if (text) {\r\n tokens.push({ type: 'text', value: text });\r\n }\r\n text = '';\r\n let sub = '';\r\n char = format[position++];\r\n while (char !== undefined && char !== endDelimiter) {\r\n sub += char;\r\n char = format[position++];\r\n }\r\n const isClosed = char === endDelimiter;\r\n const type = RE_TOKEN_LIST_VALUE.test(sub)\r\n ? 'list'\r\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\r\n ? 'named'\r\n : 'unknown';\r\n tokens.push({ value: sub, type });\r\n }\r\n // else if (char === '%') {\r\n // // when found rails i18n syntax, skip text capture\r\n // if (format[position] !== '{') {\r\n // text += char\r\n // }\r\n // }\r\n else {\r\n text += char;\r\n }\r\n }\r\n text && tokens.push({ type: 'text', value: text });\r\n return tokens;\r\n}\r\nfunction compile(tokens, values) {\r\n const compiled = [];\r\n let index = 0;\r\n const mode = Array.isArray(values)\r\n ? 'list'\r\n : isObject(values)\r\n ? 'named'\r\n : 'unknown';\r\n if (mode === 'unknown') {\r\n return compiled;\r\n }\r\n while (index < tokens.length) {\r\n const token = tokens[index];\r\n switch (token.type) {\r\n case 'text':\r\n compiled.push(token.value);\r\n break;\r\n case 'list':\r\n compiled.push(values[parseInt(token.value, 10)]);\r\n break;\r\n case 'named':\r\n if (mode === 'named') {\r\n compiled.push(values[token.value]);\r\n }\r\n else {\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\r\n }\r\n }\r\n break;\r\n case 'unknown':\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Detect 'unknown' type of token!`);\r\n }\r\n break;\r\n }\r\n index++;\r\n }\r\n return compiled;\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\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst defaultFormatter = new BaseFormatter();\r\nfunction include(str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1);\r\n}\r\nfunction startsWith(str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0);\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 let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\r\n if (messages && Object.keys(messages).length > 0) {\r\n locales = Object.keys(messages);\r\n }\r\n const lang = startsWith(locale, locales);\r\n if (lang) {\r\n return lang;\r\n }\r\n}\r\nclass I18n {\r\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\r\n this.locale = LOCALE_EN;\r\n this.fallbackLocale = LOCALE_EN;\r\n this.message = {};\r\n this.messages = {};\r\n this.watchers = [];\r\n if (fallbackLocale) {\r\n this.fallbackLocale = fallbackLocale;\r\n }\r\n this.formater = formater || defaultFormatter;\r\n this.messages = messages || {};\r\n this.setLocale(locale || LOCALE_EN);\r\n if (watcher) {\r\n this.watchLocale(watcher);\r\n }\r\n }\r\n setLocale(locale) {\r\n const oldLocale = this.locale;\r\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\r\n if (!this.messages[this.locale]) {\r\n // 可能初始化时不存在\r\n this.messages[this.locale] = {};\r\n }\r\n this.message = this.messages[this.locale];\r\n // 仅发生变化时,通知\r\n if (oldLocale !== this.locale) {\r\n this.watchers.forEach((watcher) => {\r\n watcher(this.locale, oldLocale);\r\n });\r\n }\r\n }\r\n getLocale() {\r\n return this.locale;\r\n }\r\n watchLocale(fn) {\r\n const index = this.watchers.push(fn) - 1;\r\n return () => {\r\n this.watchers.splice(index, 1);\r\n };\r\n }\r\n add(locale, message, override = true) {\r\n const curMessages = this.messages[locale];\r\n if (curMessages) {\r\n if (override) {\r\n Object.assign(curMessages, message);\r\n }\r\n else {\r\n Object.keys(message).forEach((key) => {\r\n if (!hasOwn(curMessages, key)) {\r\n curMessages[key] = message[key];\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.messages[locale] = message;\r\n }\r\n }\r\n f(message, values, delimiters) {\r\n return this.formater.interpolate(message, values, delimiters).join('');\r\n }\r\n t(key, locale, values) {\r\n let message = this.message;\r\n if (typeof locale === 'string') {\r\n locale = normalizeLocale(locale, this.messages);\r\n locale && (message = this.messages[locale]);\r\n }\r\n else {\r\n values = locale;\r\n }\r\n if (!hasOwn(message, key)) {\r\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\r\n return key;\r\n }\r\n return this.formater.interpolate(message[key], values).join('');\r\n }\r\n}\r\n\r\nfunction watchAppLocale(appVm, i18n) {\r\n // 需要保证 watch 的触发在组件渲染之前\r\n if (appVm.$watchLocale) {\r\n // vue2\r\n appVm.$watchLocale((newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n else {\r\n appVm.$watch(() => appVm.$locale, (newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n}\r\nfunction getDefaultLocale() {\r\n if (typeof uni !== 'undefined' && uni.getLocale) {\r\n return uni.getLocale();\r\n }\r\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\r\n if (typeof global !== 'undefined' && global.getLocale) {\r\n return global.getLocale();\r\n }\r\n return LOCALE_EN;\r\n}\r\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\r\n // 兼容旧版本入参\r\n if (typeof locale !== 'string') {\r\n // ;[locale, messages] = [\r\n // messages as unknown as string,\r\n // locale as unknown as LocaleMessages,\r\n // ]\r\n // 暂不使用数组解构,uts编译器暂未支持。\r\n const options = [\r\n messages,\r\n locale,\r\n ];\r\n locale = options[0];\r\n messages = options[1];\r\n }\r\n if (typeof locale !== 'string') {\r\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\r\n locale = getDefaultLocale();\r\n }\r\n if (typeof fallbackLocale !== 'string') {\r\n fallbackLocale =\r\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\r\n LOCALE_EN;\r\n }\r\n const i18n = new I18n({\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n watcher,\r\n });\r\n let t = (key, values) => {\r\n if (typeof getApp !== 'function') {\r\n // app view\r\n /* eslint-disable no-func-assign */\r\n t = function (key, values) {\r\n return i18n.t(key, values);\r\n };\r\n }\r\n else {\r\n let isWatchedAppLocale = false;\r\n t = function (key, values) {\r\n const appVm = getApp().$vm;\r\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\r\n // options: {\r\n // \ttype: Array,\r\n // \tdefault () {\r\n // \t\treturn [{\r\n // \t\t\ticon: 'shop',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\r\n // \t\t}, {\r\n // \t\t\ticon: 'cart',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\r\n // \t\t}]\r\n // \t}\r\n // },\r\n if (appVm) {\r\n // 触发响应式\r\n appVm.$locale;\r\n if (!isWatchedAppLocale) {\r\n isWatchedAppLocale = true;\r\n watchAppLocale(appVm, i18n);\r\n }\r\n }\r\n return i18n.t(key, values);\r\n };\r\n }\r\n return t(key, values);\r\n };\r\n return {\r\n i18n,\r\n f(message, values, delimiters) {\r\n return i18n.f(message, values, delimiters);\r\n },\r\n t(key, values) {\r\n return t(key, values);\r\n },\r\n add(locale, message, override = true) {\r\n return i18n.add(locale, message, override);\r\n },\r\n watch(fn) {\r\n return i18n.watchLocale(fn);\r\n },\r\n getLocale() {\r\n return i18n.getLocale();\r\n },\r\n setLocale(newLocale) {\r\n return i18n.setLocale(newLocale);\r\n },\r\n };\r\n}\r\n\r\nconst isString = (val) => typeof val === 'string';\r\nlet formater;\r\nfunction hasI18nJson(jsonObj, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n return walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n return true;\r\n }\r\n }\r\n else {\r\n return hasI18nJson(value, delimiters);\r\n }\r\n });\r\n}\r\nfunction parseI18nJson(jsonObj, values, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, values, delimiters);\r\n }\r\n }\r\n else {\r\n parseI18nJson(value, values, delimiters);\r\n }\r\n });\r\n return jsonObj;\r\n}\r\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\r\n if (!isI18nStr(jsonStr, delimiters)) {\r\n return jsonStr;\r\n }\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n const localeValues = [];\r\n Object.keys(locales).forEach((name) => {\r\n if (name !== locale) {\r\n localeValues.push({\r\n locale: name,\r\n values: locales[name],\r\n });\r\n }\r\n });\r\n localeValues.unshift({ locale, values: locales[locale] });\r\n try {\r\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\r\n }\r\n catch (e) { }\r\n return jsonStr;\r\n}\r\nfunction isI18nStr(value, delimiters) {\r\n return value.indexOf(delimiters[0]) > -1;\r\n}\r\nfunction compileStr(value, values, delimiters) {\r\n return formater.interpolate(value, values, delimiters).join('');\r\n}\r\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n // 存在国际化\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\r\n if (localeValues.length > 1) {\r\n // 格式化国际化语言\r\n const valueLocales = (jsonObj[key + 'Locales'] = {});\r\n localeValues.forEach((localValue) => {\r\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n compileJsonObj(value, localeValues, delimiters);\r\n }\r\n}\r\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n compileValue(jsonObj, key, localeValues, delimiters);\r\n });\r\n return jsonObj;\r\n}\r\nfunction walkJsonObj(jsonObj, walk) {\r\n if (Array.isArray(jsonObj)) {\r\n for (let i = 0; i < jsonObj.length; i++) {\r\n if (walk(jsonObj, i)) {\r\n return true;\r\n }\r\n }\r\n }\r\n else if (isObject(jsonObj)) {\r\n for (const key in jsonObj) {\r\n if (walk(jsonObj, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nfunction resolveLocale(locales) {\r\n return (locale) => {\r\n if (!locale) {\r\n return locale;\r\n }\r\n locale = normalizeLocale(locale) || locale;\r\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\r\n };\r\n}\r\nfunction resolveLocaleChain(locale) {\r\n const chain = [];\r\n const tokens = locale.split('-');\r\n while (tokens.length) {\r\n chain.push(tokens.join('-'));\r\n tokens.pop();\r\n }\r\n return chain;\r\n}\r\n\r\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 };\r\n","import { isHTMLTag, isSVGTag, isString, isFunction, isPlainObject, hyphenate, camelize, normalizeStyle as normalizeStyle$1, parseStringStyle, isArray, normalizeClass as normalizeClass$1, extend, capitalize } from '@vue/shared';\r\n\r\nconst BUILT_IN_TAG_NAMES = [\r\n 'ad',\r\n 'ad-content-page',\r\n 'ad-draw',\r\n 'audio',\r\n 'button',\r\n 'camera',\r\n 'canvas',\r\n 'checkbox',\r\n 'checkbox-group',\r\n 'cover-image',\r\n 'cover-view',\r\n 'editor',\r\n 'form',\r\n 'functional-page-navigator',\r\n 'icon',\r\n 'image',\r\n 'input',\r\n 'label',\r\n 'live-player',\r\n 'live-pusher',\r\n 'map',\r\n 'movable-area',\r\n 'movable-view',\r\n 'navigator',\r\n 'official-account',\r\n 'open-data',\r\n 'picker',\r\n 'picker-view',\r\n 'picker-view-column',\r\n 'progress',\r\n 'radio',\r\n 'radio-group',\r\n 'rich-text',\r\n 'scroll-view',\r\n 'slider',\r\n 'swiper',\r\n 'swiper-item',\r\n 'switch',\r\n 'text',\r\n 'textarea',\r\n 'video',\r\n 'view',\r\n 'web-view',\r\n 'location-picker',\r\n 'location-view',\r\n];\r\nconst BUILT_IN_TAGS = BUILT_IN_TAG_NAMES.map((tag) => 'uni-' + tag);\r\nconst TAGS = [\r\n 'app',\r\n 'layout',\r\n 'content',\r\n 'main',\r\n 'top-window',\r\n 'left-window',\r\n 'right-window',\r\n 'tabbar',\r\n 'page',\r\n 'page-head',\r\n 'page-wrapper',\r\n 'page-body',\r\n 'page-refresh',\r\n 'actionsheet',\r\n 'modal',\r\n 'toast',\r\n 'resize-sensor',\r\n 'shadow-root',\r\n].map((tag) => 'uni-' + tag);\r\nconst NVUE_BUILT_IN_TAGS = [\r\n 'svg',\r\n 'view',\r\n 'a',\r\n 'div',\r\n 'img',\r\n 'image',\r\n 'text',\r\n 'span',\r\n 'input',\r\n 'textarea',\r\n 'spinner',\r\n 'select',\r\n // slider 被自定义 u-slider 替代\r\n // 'slider',\r\n 'slider-neighbor',\r\n 'indicator',\r\n 'canvas',\r\n 'list',\r\n 'cell',\r\n 'header',\r\n 'loading',\r\n 'loading-indicator',\r\n 'refresh',\r\n 'scrollable',\r\n 'scroller',\r\n 'video',\r\n 'web',\r\n 'embed',\r\n 'tabbar',\r\n 'tabheader',\r\n 'datepicker',\r\n 'timepicker',\r\n 'marquee',\r\n 'countdown',\r\n 'dc-switch',\r\n 'waterfall',\r\n 'richtext',\r\n 'recycle-list',\r\n 'u-scalable',\r\n 'barcode',\r\n 'gcanvas',\r\n];\r\nconst UVUE_BUILT_IN_TAGS = [\r\n 'ad',\r\n 'ad-content-page',\r\n 'ad-draw',\r\n 'native-view',\r\n 'loading-indicator',\r\n 'list-view',\r\n 'list-item',\r\n 'swiper',\r\n 'swiper-item',\r\n 'rich-text',\r\n 'sticky-view',\r\n 'sticky-header',\r\n 'sticky-section',\r\n // 自定义\r\n 'uni-slider',\r\n // 原生实现\r\n 'button',\r\n 'nested-scroll-header',\r\n 'nested-scroll-body',\r\n 'waterflow',\r\n 'flow-item',\r\n];\r\nconst UVUE_WEB_BUILT_IN_TAGS = [\r\n 'list-view',\r\n 'list-item',\r\n 'sticky-section',\r\n 'sticky-header',\r\n 'cloud-db-element',\r\n].map((tag) => 'uni-' + tag);\r\nconst UVUE_IOS_BUILT_IN_TAGS = [\r\n 'scroll-view',\r\n 'web-view',\r\n 'slider',\r\n 'form',\r\n 'switch',\r\n];\r\nconst NVUE_U_BUILT_IN_TAGS = [\r\n 'u-text',\r\n 'u-image',\r\n 'u-input',\r\n 'u-textarea',\r\n 'u-video',\r\n 'u-web-view',\r\n 'u-slider',\r\n 'u-ad',\r\n 'u-ad-draw',\r\n 'u-rich-text',\r\n];\r\nconst UNI_UI_CONFLICT_TAGS = ['list-item'].map((tag) => 'uni-' + tag);\r\nfunction isBuiltInComponent(tag) {\r\n if (UNI_UI_CONFLICT_TAGS.indexOf(tag) !== -1) {\r\n return false;\r\n }\r\n // h5 平台会被转换为 v-uni-\r\n const realTag = 'uni-' + tag.replace('v-uni-', '');\r\n // TODO 区分x和非x\r\n return (BUILT_IN_TAGS.indexOf(realTag) !== -1 ||\r\n UVUE_WEB_BUILT_IN_TAGS.indexOf(realTag) !== -1);\r\n}\r\nfunction isH5CustomElement(tag, isX = false) {\r\n if (isX && UVUE_WEB_BUILT_IN_TAGS.indexOf(tag) !== -1) {\r\n return true;\r\n }\r\n return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;\r\n}\r\nfunction isUniXElement(name) {\r\n return /^I?Uni.*Element(?:Impl)?$/.test(name);\r\n}\r\nfunction isH5NativeTag(tag) {\r\n return (tag !== 'head' &&\r\n (isHTMLTag(tag) || isSVGTag(tag)) &&\r\n !isBuiltInComponent(tag));\r\n}\r\nfunction isAppNativeTag(tag) {\r\n return isHTMLTag(tag) || isSVGTag(tag) || isBuiltInComponent(tag);\r\n}\r\nconst NVUE_CUSTOM_COMPONENTS = [\r\n 'ad',\r\n 'ad-draw',\r\n 'button',\r\n 'checkbox-group',\r\n 'checkbox',\r\n 'form',\r\n 'icon',\r\n 'label',\r\n 'movable-area',\r\n 'movable-view',\r\n 'navigator',\r\n 'picker',\r\n 'progress',\r\n 'radio-group',\r\n 'radio',\r\n 'rich-text',\r\n 'swiper-item',\r\n 'swiper',\r\n 'switch',\r\n 'slider',\r\n 'picker-view',\r\n 'picker-view-column',\r\n];\r\n// 内置的easycom组件\r\nconst UVUE_BUILT_IN_EASY_COMPONENTS = ['map'];\r\nfunction isAppUVueBuiltInEasyComponent(tag) {\r\n return UVUE_BUILT_IN_EASY_COMPONENTS.includes(tag);\r\n}\r\n// 主要是指前端实现的组件列表\r\nconst UVUE_CUSTOM_COMPONENTS = [\r\n ...NVUE_CUSTOM_COMPONENTS,\r\n ...UVUE_BUILT_IN_EASY_COMPONENTS,\r\n];\r\nfunction isAppUVueNativeTag(tag) {\r\n // 前端实现的内置组件都会注册一个根组件\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_CUSTOM_COMPONENTS.includes(tag)) {\r\n return false;\r\n }\r\n if (isBuiltInComponent(tag)) {\r\n return true;\r\n }\r\n // u-text,u-video...\r\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isAppIOSUVueNativeTag(tag) {\r\n // 前端实现的内置组件都会注册一个根组件\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (UVUE_IOS_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isAppNVueNativeTag(tag) {\r\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n if (NVUE_CUSTOM_COMPONENTS.includes(tag)) {\r\n return false;\r\n }\r\n if (isBuiltInComponent(tag)) {\r\n return true;\r\n }\r\n // u-text,u-video...\r\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isMiniProgramNativeTag(tag) {\r\n return isBuiltInComponent(tag);\r\n}\r\nfunction isMiniProgramUVueNativeTag(tag) {\r\n // 小程序平台内置的自定义元素,会被转换为 view\r\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\r\n return true;\r\n }\r\n return isBuiltInComponent(tag);\r\n}\r\nfunction createIsCustomElement(tags = []) {\r\n return function isCustomElement(tag) {\r\n return tags.includes(tag);\r\n };\r\n}\r\nfunction isComponentTag(tag) {\r\n return tag[0].toLowerCase() + tag.slice(1) === 'component';\r\n}\r\nconst COMPONENT_SELECTOR_PREFIX = 'uni-';\r\nconst COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;\r\n\r\nconst LINEFEED = '\\n';\r\nconst NAVBAR_HEIGHT = 44;\r\nconst TABBAR_HEIGHT = 50;\r\nconst ON_REACH_BOTTOM_DISTANCE = 50;\r\nconst RESPONSIVE_MIN_WIDTH = 768;\r\nconst UNI_STORAGE_LOCALE = 'UNI_LOCALE';\r\n// quickapp-webview 不能使用 default 作为插槽名称\r\nconst SLOT_DEFAULT_NAME = 'd';\r\nconst COMPONENT_NAME_PREFIX = 'VUni';\r\nconst I18N_JSON_DELIMITERS = ['%', '%'];\r\nconst PRIMARY_COLOR = '#007aff';\r\nconst SELECTED_COLOR = '#0062cc'; // 选中的颜色,如选项卡默认的选中颜色\r\nconst BACKGROUND_COLOR = '#f7f7f7'; // 背景色,如标题栏默认背景色\r\nconst UNI_SSR = '__uniSSR';\r\nconst UNI_SSR_TITLE = 'title';\r\nconst UNI_SSR_STORE = 'store';\r\nconst UNI_SSR_DATA = 'data';\r\nconst UNI_SSR_GLOBAL_DATA = 'globalData';\r\nconst SCHEME_RE = /^([a-z-]+:)?\\/\\//i;\r\nconst DATA_RE = /^data:.*,.*/;\r\nconst WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE';\r\nconst WXS_PROTOCOL = 'wxs://';\r\nconst JSON_PROTOCOL = 'json://';\r\nconst WXS_MODULES = 'wxsModules';\r\nconst RENDERJS_MODULES = 'renderjsModules';\r\n// lifecycle\r\n// App and Page\r\nconst ON_SHOW = 'onShow';\r\nconst ON_HIDE = 'onHide';\r\n//App\r\nconst ON_LAUNCH = 'onLaunch';\r\nconst ON_ERROR = 'onError';\r\nconst ON_THEME_CHANGE = 'onThemeChange';\r\nconst OFF_THEME_CHANGE = 'offThemeChange';\r\nconst ON_HOST_THEME_CHANGE = 'onHostThemeChange';\r\nconst OFF_HOST_THEME_CHANGE = 'offHostThemeChange';\r\nconst ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';\r\nconst ON_PAGE_NOT_FOUND = 'onPageNotFound';\r\nconst ON_UNHANDLE_REJECTION = 'onUnhandledRejection';\r\nconst ON_EXIT = 'onExit';\r\n//Page\r\nconst ON_LOAD = 'onLoad';\r\nconst ON_READY = 'onReady';\r\nconst ON_UNLOAD = 'onUnload';\r\n// 百度特有\r\nconst ON_INIT = 'onInit';\r\n// 微信特有\r\nconst ON_SAVE_EXIT_STATE = 'onSaveExitState';\r\nconst ON_RESIZE = 'onResize';\r\nconst ON_BACK_PRESS = 'onBackPress';\r\nconst ON_PAGE_SCROLL = 'onPageScroll';\r\nconst ON_TAB_ITEM_TAP = 'onTabItemTap';\r\nconst ON_REACH_BOTTOM = 'onReachBottom';\r\nconst ON_PULL_DOWN_REFRESH = 'onPullDownRefresh';\r\nconst ON_SHARE_TIMELINE = 'onShareTimeline';\r\nconst ON_SHARE_CHAT = 'onShareChat'; // xhs-share\r\nconst ON_ADD_TO_FAVORITES = 'onAddToFavorites';\r\nconst ON_SHARE_APP_MESSAGE = 'onShareAppMessage';\r\n// navigationBar\r\nconst ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap';\r\nconst ON_NAVIGATION_BAR_CHANGE = 'onNavigationBarChange';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed';\r\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged';\r\n// framework\r\nconst ON_APP_ENTER_FOREGROUND = 'onAppEnterForeground';\r\nconst ON_APP_ENTER_BACKGROUND = 'onAppEnterBackground';\r\nconst ON_WEB_INVOKE_APP_SERVICE = 'onWebInvokeAppService';\r\nconst ON_WXS_INVOKE_CALL_METHOD = 'onWxsInvokeCallMethod';\r\n// mergeVirtualHostAttributes\r\nconst VIRTUAL_HOST_STYLE = 'virtualHostStyle';\r\nconst VIRTUAL_HOST_CLASS = 'virtualHostClass';\r\nconst VIRTUAL_HOST_HIDDEN = 'virtualHostHidden';\r\nconst VIRTUAL_HOST_ID = 'virtualHostId';\r\n\r\nfunction cache(fn) {\r\n const cache = Object.create(null);\r\n return (str) => {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n}\r\nfunction cacheStringFunction(fn) {\r\n return cache(fn);\r\n}\r\nfunction getLen(str = '') {\r\n return ('' + str).replace(/[^\\x00-\\xff]/g, '**').length;\r\n}\r\nfunction hasLeadingSlash(str) {\r\n return str.indexOf('/') === 0;\r\n}\r\nfunction addLeadingSlash(str) {\r\n return hasLeadingSlash(str) ? str : '/' + str;\r\n}\r\nfunction removeLeadingSlash(str) {\r\n return hasLeadingSlash(str) ? str.slice(1) : str;\r\n}\r\nconst invokeArrayFns = (fns, arg) => {\r\n let ret;\r\n for (let i = 0; i < fns.length; i++) {\r\n ret = fns[i](arg);\r\n }\r\n return ret;\r\n};\r\nfunction updateElementStyle(element, styles) {\r\n for (const attrName in styles) {\r\n element.style[attrName] = styles[attrName];\r\n }\r\n}\r\nfunction once(fn, ctx = null) {\r\n let res;\r\n return ((...args) => {\r\n if (fn) {\r\n res = fn.apply(ctx, args);\r\n fn = null;\r\n }\r\n return res;\r\n });\r\n}\r\nconst sanitise = (val) => (val && JSON.parse(JSON.stringify(val))) || val;\r\nconst _completeValue = (value) => (value > 9 ? value : '0' + value);\r\nfunction formatDateTime({ date = new Date(), mode = 'date' }) {\r\n if (mode === 'time') {\r\n return (_completeValue(date.getHours()) + ':' + _completeValue(date.getMinutes()));\r\n }\r\n else {\r\n return (date.getFullYear() +\r\n '-' +\r\n _completeValue(date.getMonth() + 1) +\r\n '-' +\r\n _completeValue(date.getDate()));\r\n }\r\n}\r\nfunction callOptions(options, data) {\r\n options = options || {};\r\n if (isString(data)) {\r\n data = {\r\n errMsg: data,\r\n };\r\n }\r\n if (/:ok$/.test(data.errMsg)) {\r\n if (isFunction(options.success)) {\r\n options.success(data);\r\n }\r\n }\r\n else {\r\n if (isFunction(options.fail)) {\r\n options.fail(data);\r\n }\r\n }\r\n if (isFunction(options.complete)) {\r\n options.complete(data);\r\n }\r\n}\r\nfunction getValueByDataPath(obj, path) {\r\n if (!isString(path)) {\r\n return;\r\n }\r\n path = path.replace(/\\[(\\d+)\\]/g, '.$1');\r\n const parts = path.split('.');\r\n let key = parts[0];\r\n if (!obj) {\r\n obj = {};\r\n }\r\n if (parts.length === 1) {\r\n return obj[key];\r\n }\r\n return getValueByDataPath(obj[key], parts.slice(1).join('.'));\r\n}\r\nfunction sortObject(obj) {\r\n let sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj)\r\n .sort()\r\n .forEach((key) => {\r\n const _key = key;\r\n sortObj[_key] = obj[_key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj;\r\n}\r\nfunction getGlobalOnce() {\r\n if (typeof globalThis !== 'undefined') {\r\n return globalThis;\r\n }\r\n // worker\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n // browser\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n // nodejs\r\n // if (typeof global !== 'undefined') {\r\n // return global\r\n // }\r\n function g() {\r\n return this;\r\n }\r\n if (typeof g() !== 'undefined') {\r\n return g();\r\n }\r\n return (function () {\r\n return new Function('return this')();\r\n })();\r\n}\r\nlet g = undefined;\r\nfunction getGlobal() {\r\n if (g) {\r\n return g;\r\n }\r\n g = getGlobalOnce();\r\n return g;\r\n}\r\n\r\nfunction isComponentInternalInstance(vm) {\r\n return !!vm.appContext;\r\n}\r\nfunction resolveComponentInstance(instance) {\r\n return (instance &&\r\n (isComponentInternalInstance(instance) ? instance.proxy : instance));\r\n}\r\nfunction resolveOwnerVm(vm) {\r\n if (!vm) {\r\n return;\r\n }\r\n let componentName = vm.type.name;\r\n while (componentName && isBuiltInComponent(hyphenate(componentName))) {\r\n // ownerInstance 内置组件需要使用父 vm\r\n vm = vm.parent;\r\n componentName = vm.type.name;\r\n }\r\n return vm.proxy;\r\n}\r\nfunction isElement(el) {\r\n // Element\r\n return el.nodeType === 1;\r\n}\r\nfunction resolveOwnerEl(instance, multi = false) {\r\n const { vnode } = instance;\r\n if (isElement(vnode.el)) {\r\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\r\n }\r\n const { subTree } = instance;\r\n // ShapeFlags.ARRAY_CHILDREN = 1<<4\r\n if (subTree.shapeFlag & 16) {\r\n const elemVNodes = subTree.children.filter((vnode) => vnode.el && isElement(vnode.el));\r\n if (elemVNodes.length > 0) {\r\n if (multi) {\r\n return elemVNodes.map((node) => node.el);\r\n }\r\n return elemVNodes[0].el;\r\n }\r\n }\r\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\r\n}\r\nfunction dynamicSlotName(name) {\r\n return name === 'default' ? SLOT_DEFAULT_NAME : name;\r\n}\r\nconst customizeRE = /:/g;\r\nfunction customizeEvent(str) {\r\n return camelize(str.replace(customizeRE, '-'));\r\n}\r\nfunction normalizeStyle(value) {\r\n const g = getGlobal();\r\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\r\n const styleObject = {};\r\n g.UTSJSONObject.keys(value).forEach((key) => {\r\n styleObject[key] = value[key];\r\n });\r\n return normalizeStyle$1(styleObject);\r\n }\r\n else if (value instanceof Map) {\r\n const styleObject = {};\r\n value.forEach((value, key) => {\r\n styleObject[key] = value;\r\n });\r\n return normalizeStyle$1(styleObject);\r\n }\r\n else if (isString(value)) {\r\n return parseStringStyle(value);\r\n }\r\n else if (isArray(value)) {\r\n const res = {};\r\n for (let i = 0; i < value.length; i++) {\r\n const item = value[i];\r\n const normalized = isString(item)\r\n ? parseStringStyle(item)\r\n : normalizeStyle(item);\r\n if (normalized) {\r\n for (const key in normalized) {\r\n res[key] = normalized[key];\r\n }\r\n }\r\n }\r\n return res;\r\n }\r\n else {\r\n return normalizeStyle$1(value);\r\n }\r\n}\r\nfunction normalizeClass(value) {\r\n let res = '';\r\n const g = getGlobal();\r\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\r\n g.UTSJSONObject.keys(value).forEach((key) => {\r\n if (value[key]) {\r\n res += key + ' ';\r\n }\r\n });\r\n }\r\n else if (value instanceof Map) {\r\n value.forEach((value, key) => {\r\n if (value) {\r\n res += key + ' ';\r\n }\r\n });\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n const normalized = normalizeClass(value[i]);\r\n if (normalized) {\r\n res += normalized + ' ';\r\n }\r\n }\r\n }\r\n else {\r\n res = normalizeClass$1(value);\r\n }\r\n return res.trim();\r\n}\r\nfunction normalizeProps(props) {\r\n if (!props)\r\n return null;\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (style) {\r\n props.style = normalizeStyle(style);\r\n }\r\n return props;\r\n}\r\n\r\nlet lastLogTime = 0;\r\nfunction formatLog(module, ...args) {\r\n const now = Date.now();\r\n const diff = lastLogTime ? now - lastLogTime : 0;\r\n lastLogTime = now;\r\n return `[${now}][${diff}ms][${module}]:${args\r\n .map((arg) => JSON.stringify(arg))\r\n .join(' ')}`;\r\n}\r\n\r\nfunction formatKey(key) {\r\n return camelize(key.substring(5));\r\n}\r\n// question/139181,增加副作用,避免 initCustomDataset 在 build 下被 tree-shaking\r\nconst initCustomDatasetOnce = /*#__PURE__*/ once((isBuiltInElement) => {\r\n isBuiltInElement =\r\n isBuiltInElement || ((el) => el.tagName.startsWith('UNI-'));\r\n const prototype = HTMLElement.prototype;\r\n const setAttribute = prototype.setAttribute;\r\n prototype.setAttribute = function (key, value) {\r\n if (key.startsWith('data-') && isBuiltInElement(this)) {\r\n const dataset = this.__uniDataset ||\r\n (this.__uniDataset = {});\r\n dataset[formatKey(key)] = value;\r\n }\r\n setAttribute.call(this, key, value);\r\n };\r\n const removeAttribute = prototype.removeAttribute;\r\n prototype.removeAttribute = function (key) {\r\n if (this.__uniDataset &&\r\n key.startsWith('data-') &&\r\n isBuiltInElement(this)) {\r\n delete this.__uniDataset[formatKey(key)];\r\n }\r\n removeAttribute.call(this, key);\r\n };\r\n});\r\nfunction getCustomDataset(el) {\r\n return extend({}, el.dataset, el.__uniDataset);\r\n}\r\n\r\nconst unitRE = new RegExp(`\"[^\"]+\"|'[^']+'|url\\\\([^)]+\\\\)|(\\\\d*\\\\.?\\\\d+)[r|u]px`, 'g');\r\nfunction toFixed(number, precision) {\r\n const multiplier = Math.pow(10, precision + 1);\r\n const wholeNumber = Math.floor(number * multiplier);\r\n return (Math.round(wholeNumber / 10) * 10) / multiplier;\r\n}\r\nconst defaultRpx2Unit = {\r\n unit: 'rem',\r\n unitRatio: 10 / 320,\r\n unitPrecision: 5,\r\n};\r\nconst defaultMiniProgramRpx2Unit = {\r\n unit: 'rpx',\r\n unitRatio: 1,\r\n unitPrecision: 1,\r\n};\r\nconst defaultNVueRpx2Unit = defaultMiniProgramRpx2Unit;\r\nfunction createRpx2Unit(unit, unitRatio, unitPrecision) {\r\n // ignore: rpxCalcIncludeWidth\r\n return (val) => val.replace(unitRE, (m, $1) => {\r\n if (!$1) {\r\n return m;\r\n }\r\n if (unitRatio === 1) {\r\n return `${$1}${unit}`;\r\n }\r\n const value = toFixed(parseFloat($1) * unitRatio, unitPrecision);\r\n return value === 0 ? '0' : `${value}${unit}`;\r\n });\r\n}\r\n\r\nfunction passive(passive) {\r\n return { passive };\r\n}\r\nfunction normalizeDataset(el) {\r\n // TODO\r\n return JSON.parse(JSON.stringify(el.dataset || {}));\r\n}\r\nfunction normalizeTarget(el) {\r\n const { id, offsetTop, offsetLeft } = el;\r\n return {\r\n id,\r\n dataset: getCustomDataset(el),\r\n offsetTop,\r\n offsetLeft,\r\n };\r\n}\r\nfunction addFont(family, source, desc) {\r\n const fonts = document.fonts;\r\n if (fonts) {\r\n const fontFace = new FontFace(family, source, desc);\r\n return fontFace.load().then(() => {\r\n fonts.add && fonts.add(fontFace);\r\n });\r\n }\r\n return new Promise((resolve) => {\r\n const style = document.createElement('style');\r\n const values = [];\r\n if (desc) {\r\n const { style, weight, stretch, unicodeRange, variant, featureSettings } = desc;\r\n style && values.push(`font-style:${style}`);\r\n weight && values.push(`font-weight:${weight}`);\r\n stretch && values.push(`font-stretch:${stretch}`);\r\n unicodeRange && values.push(`unicode-range:${unicodeRange}`);\r\n variant && values.push(`font-variant:${variant}`);\r\n featureSettings && values.push(`font-feature-settings:${featureSettings}`);\r\n }\r\n style.innerText = `@font-face{font-family:\"${family}\";src:${source};${values.join(';')}}`;\r\n document.head.appendChild(style);\r\n resolve();\r\n });\r\n}\r\nfunction scrollTo(scrollTop, duration, isH5) {\r\n if (isString(scrollTop)) {\r\n const el = document.querySelector(scrollTop);\r\n if (el) {\r\n const { top } = el.getBoundingClientRect();\r\n scrollTop = top + window.pageYOffset;\r\n // 如果存在,减去 <uni-page-head> 高度\r\n const pageHeader = document.querySelector('uni-page-head');\r\n if (pageHeader) {\r\n scrollTop -= pageHeader.offsetHeight;\r\n }\r\n }\r\n }\r\n if (scrollTop < 0) {\r\n scrollTop = 0;\r\n }\r\n const documentElement = document.documentElement;\r\n const { clientHeight, scrollHeight } = documentElement;\r\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\r\n if (duration === 0) {\r\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\r\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\r\n return;\r\n }\r\n if (window.scrollY === scrollTop) {\r\n return;\r\n }\r\n const scrollTo = (duration) => {\r\n if (duration <= 0) {\r\n window.scrollTo(0, scrollTop);\r\n return;\r\n }\r\n const distaince = scrollTop - window.scrollY;\r\n requestAnimationFrame(function () {\r\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\r\n scrollTo(duration - 10);\r\n });\r\n };\r\n scrollTo(duration);\r\n}\r\n\r\nconst encode = encodeURIComponent;\r\nfunction stringifyQuery(obj, encodeStr = encode) {\r\n const res = obj\r\n ? Object.keys(obj)\r\n .map((key) => {\r\n let val = obj[key];\r\n if (typeof val === undefined || val === null) {\r\n val = '';\r\n }\r\n else if (isPlainObject(val)) {\r\n val = JSON.stringify(val);\r\n }\r\n return encodeStr(key) + '=' + encodeStr(val);\r\n })\r\n .filter((x) => x.length > 0)\r\n .join('&')\r\n : null;\r\n return res ? `?${res}` : '';\r\n}\r\n/**\r\n * Decode text using `decodeURIComponent`. Returns the original text if it\r\n * fails.\r\n *\r\n * @param text - string to decode\r\n * @returns decoded string\r\n */\r\nfunction decode(text) {\r\n try {\r\n return decodeURIComponent('' + text);\r\n }\r\n catch (err) { }\r\n return '' + text;\r\n}\r\nfunction decodedQuery(query = {}) {\r\n const decodedQuery = {};\r\n Object.keys(query).forEach((name) => {\r\n try {\r\n decodedQuery[name] = decode(query[name]);\r\n }\r\n catch (e) {\r\n decodedQuery[name] = query[name];\r\n }\r\n });\r\n return decodedQuery;\r\n}\r\nconst PLUS_RE = /\\+/g; // %2B\r\n/**\r\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\r\n * @internal\r\n *\r\n * @param search - search string to parse\r\n * @returns a query object\r\n */\r\nfunction parseQuery(search) {\r\n const query = {};\r\n // avoid creating an object with an empty key and empty value\r\n // because of split('&')\r\n if (search === '' || search === '?')\r\n return query;\r\n const hasLeadingIM = search[0] === '?';\r\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\r\n for (let i = 0; i < searchParams.length; ++i) {\r\n // pre decode the + into space\r\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\r\n // allow the = character\r\n let eqPos = searchParam.indexOf('=');\r\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\r\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\r\n if (key in query) {\r\n // an extra variable for ts types\r\n let currentValue = query[key];\r\n if (!isArray(currentValue)) {\r\n currentValue = query[key] = [currentValue];\r\n }\r\n currentValue.push(value);\r\n }\r\n else {\r\n query[key] = value;\r\n }\r\n }\r\n return query;\r\n}\r\n\r\nfunction parseUrl(url) {\r\n const [path, querystring] = url.split('?', 2);\r\n return {\r\n path,\r\n query: parseQuery(querystring || ''),\r\n };\r\n}\r\n\r\nfunction parseNVueDataset(attr) {\r\n const dataset = {};\r\n if (attr) {\r\n Object.keys(attr).forEach((key) => {\r\n if (key.indexOf('data-') === 0) {\r\n dataset[key.replace('data-', '')] = attr[key];\r\n }\r\n });\r\n }\r\n return dataset;\r\n}\r\n\r\nfunction plusReady(callback) {\r\n if (!isFunction(callback)) {\r\n return;\r\n }\r\n if (window.plus) {\r\n return callback();\r\n }\r\n document.addEventListener('plusready', callback);\r\n}\r\n\r\nclass DOMException extends Error {\r\n constructor(message) {\r\n super(message);\r\n this.name = 'DOMException';\r\n }\r\n}\r\n\r\nfunction normalizeEventType(type, options) {\r\n if (options) {\r\n if (options.capture) {\r\n type += 'Capture';\r\n }\r\n if (options.once) {\r\n type += 'Once';\r\n }\r\n if (options.passive) {\r\n type += 'Passive';\r\n }\r\n }\r\n return `on${capitalize(camelize(type))}`;\r\n}\r\nclass UniEvent {\r\n constructor(type, opts) {\r\n this.defaultPrevented = false;\r\n this.timeStamp = Date.now();\r\n this._stop = false;\r\n this._end = false;\r\n this.type = type;\r\n this.bubbles = !!opts.bubbles;\r\n this.cancelable = !!opts.cancelable;\r\n }\r\n preventDefault() {\r\n this.defaultPrevented = true;\r\n }\r\n stopImmediatePropagation() {\r\n this._end = this._stop = true;\r\n }\r\n stopPropagation() {\r\n this._stop = true;\r\n }\r\n}\r\nfunction createUniEvent(evt) {\r\n if (evt instanceof UniEvent) {\r\n return evt;\r\n }\r\n const [type] = parseEventName(evt.type);\r\n const uniEvent = new UniEvent(type, {\r\n bubbles: false,\r\n cancelable: false,\r\n });\r\n extend(uniEvent, evt);\r\n return uniEvent;\r\n}\r\nclass UniEventTarget {\r\n constructor() {\r\n this.listeners = Object.create(null);\r\n }\r\n dispatchEvent(evt) {\r\n const listeners = this.listeners[evt.type];\r\n if (!listeners) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\r\n }\r\n return false;\r\n }\r\n // 格式化事件类型\r\n const event = createUniEvent(evt);\r\n const len = listeners.length;\r\n for (let i = 0; i < len; i++) {\r\n listeners[i].call(this, event);\r\n if (event._end) {\r\n break;\r\n }\r\n }\r\n return event.cancelable && event.defaultPrevented;\r\n }\r\n addEventListener(type, listener, options) {\r\n type = normalizeEventType(type, options);\r\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\r\n }\r\n removeEventListener(type, callback, options) {\r\n type = normalizeEventType(type, options);\r\n const listeners = this.listeners[type];\r\n if (!listeners) {\r\n return;\r\n }\r\n const index = listeners.indexOf(callback);\r\n if (index > -1) {\r\n listeners.splice(index, 1);\r\n }\r\n }\r\n}\r\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\r\nfunction parseEventName(name) {\r\n let options;\r\n if (optionsModifierRE.test(name)) {\r\n options = {};\r\n let m;\r\n while ((m = name.match(optionsModifierRE))) {\r\n name = name.slice(0, name.length - m[0].length);\r\n options[m[0].toLowerCase()] = true;\r\n }\r\n }\r\n return [hyphenate(name.slice(2)), options];\r\n}\r\n\r\nconst EventModifierFlags = /*#__PURE__*/ (() => {\r\n return {\r\n stop: 1,\r\n prevent: 1 << 1,\r\n self: 1 << 2,\r\n };\r\n})();\r\nfunction encodeModifier(modifiers) {\r\n let flag = 0;\r\n if (modifiers.includes('stop')) {\r\n flag |= EventModifierFlags.stop;\r\n }\r\n if (modifiers.includes('prevent')) {\r\n flag |= EventModifierFlags.prevent;\r\n }\r\n if (modifiers.includes('self')) {\r\n flag |= EventModifierFlags.self;\r\n }\r\n return flag;\r\n}\r\n\r\nconst NODE_TYPE_PAGE = 0;\r\nconst NODE_TYPE_ELEMENT = 1;\r\nconst NODE_TYPE_TEXT = 3;\r\nconst NODE_TYPE_COMMENT = 8;\r\nfunction sibling(node, type) {\r\n const { parentNode } = node;\r\n if (!parentNode) {\r\n return null;\r\n }\r\n const { childNodes } = parentNode;\r\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\r\n}\r\nfunction removeNode(node) {\r\n const { parentNode } = node;\r\n if (parentNode) {\r\n const { childNodes } = parentNode;\r\n const index = childNodes.indexOf(node);\r\n if (index > -1) {\r\n node.parentNode = null;\r\n childNodes.splice(index, 1);\r\n }\r\n }\r\n}\r\nfunction checkNodeId(node) {\r\n if (!node.nodeId && node.pageNode) {\r\n node.nodeId = node.pageNode.genId();\r\n }\r\n}\r\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\r\nclass UniNode extends UniEventTarget {\r\n constructor(nodeType, nodeName, container) {\r\n super();\r\n this.pageNode = null;\r\n this.parentNode = null;\r\n this._text = null;\r\n if (container) {\r\n const { pageNode } = container;\r\n if (pageNode) {\r\n this.pageNode = pageNode;\r\n this.nodeId = pageNode.genId();\r\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\r\n }\r\n }\r\n this.nodeType = nodeType;\r\n this.nodeName = nodeName;\r\n this.childNodes = [];\r\n }\r\n get firstChild() {\r\n return this.childNodes[0] || null;\r\n }\r\n get lastChild() {\r\n const { childNodes } = this;\r\n const length = childNodes.length;\r\n return length ? childNodes[length - 1] : null;\r\n }\r\n get nextSibling() {\r\n return sibling(this, 'n');\r\n }\r\n get nodeValue() {\r\n return null;\r\n }\r\n set nodeValue(_val) { }\r\n get textContent() {\r\n return this._text || '';\r\n }\r\n set textContent(text) {\r\n this._text = text;\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onTextContent(this, text);\r\n }\r\n }\r\n get parentElement() {\r\n const { parentNode } = this;\r\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\r\n return parentNode;\r\n }\r\n return null;\r\n }\r\n get previousSibling() {\r\n return sibling(this, 'p');\r\n }\r\n appendChild(newChild) {\r\n return this.insertBefore(newChild, null);\r\n }\r\n cloneNode(deep) {\r\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\r\n const { attributes } = cloned;\r\n if (attributes) {\r\n cloned.attributes = extend({}, attributes);\r\n }\r\n if (deep) {\r\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\r\n }\r\n return cloned;\r\n }\r\n insertBefore(newChild, refChild) {\r\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\r\n removeNode(newChild);\r\n newChild.pageNode = this.pageNode;\r\n newChild.parentNode = this;\r\n checkNodeId(newChild);\r\n const { childNodes } = this;\r\n if (refChild) {\r\n const index = childNodes.indexOf(refChild);\r\n if (index === -1) {\r\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\r\n }\r\n childNodes.splice(index, 0, newChild);\r\n }\r\n else {\r\n childNodes.push(newChild);\r\n }\r\n return this.pageNode && !this.pageNode.isUnmounted\r\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\r\n : newChild;\r\n }\r\n removeChild(oldChild) {\r\n const { childNodes } = this;\r\n const index = childNodes.indexOf(oldChild);\r\n if (index === -1) {\r\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\r\n }\r\n oldChild.parentNode = null;\r\n childNodes.splice(index, 1);\r\n return this.pageNode && !this.pageNode.isUnmounted\r\n ? this.pageNode.onRemoveChild(oldChild)\r\n : oldChild;\r\n }\r\n}\r\nconst ATTR_CLASS = 'class';\r\nconst ATTR_STYLE = 'style';\r\nconst ATTR_INNER_HTML = 'innerHTML';\r\nconst ATTR_TEXT_CONTENT = 'textContent';\r\nconst ATTR_V_SHOW = '.vShow';\r\nconst ATTR_V_OWNER_ID = '.vOwnerId';\r\nconst ATTR_V_RENDERJS = '.vRenderjs';\r\nconst ATTR_CHANGE_PREFIX = 'change:';\r\nclass UniBaseNode extends UniNode {\r\n constructor(nodeType, nodeName, container) {\r\n super(nodeType, nodeName, container);\r\n this.attributes = Object.create(null);\r\n this.style = null;\r\n this.vShow = null;\r\n this._html = null;\r\n }\r\n get className() {\r\n return (this.attributes[ATTR_CLASS] || '');\r\n }\r\n set className(val) {\r\n this.setAttribute(ATTR_CLASS, val);\r\n }\r\n get innerHTML() {\r\n return '';\r\n }\r\n set innerHTML(html) {\r\n this._html = html;\r\n }\r\n addEventListener(type, listener, options) {\r\n super.addEventListener(type, listener, options);\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n if (listener.wxsEvent) {\r\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\r\n }\r\n else {\r\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\r\n }\r\n }\r\n }\r\n removeEventListener(type, callback, options) {\r\n super.removeEventListener(type, callback, options);\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\r\n }\r\n }\r\n getAttribute(qualifiedName) {\r\n if (qualifiedName === ATTR_STYLE) {\r\n return this.style;\r\n }\r\n return this.attributes[qualifiedName];\r\n }\r\n removeAttribute(qualifiedName) {\r\n if (qualifiedName == ATTR_STYLE) {\r\n this.style = null;\r\n }\r\n else {\r\n delete this.attributes[qualifiedName];\r\n }\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onRemoveAttribute(this, qualifiedName);\r\n }\r\n }\r\n setAttribute(qualifiedName, value) {\r\n if (qualifiedName === ATTR_STYLE) {\r\n this.style = value;\r\n }\r\n else {\r\n this.attributes[qualifiedName] = value;\r\n }\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onSetAttribute(this, qualifiedName, value);\r\n }\r\n }\r\n toJSON({ attr, normalize, } = {}) {\r\n const { attributes, style, listeners, _text } = this;\r\n const res = {};\r\n if (Object.keys(attributes).length) {\r\n res.a = normalize ? normalize(attributes) : attributes;\r\n }\r\n const events = Object.keys(listeners);\r\n if (events.length) {\r\n let w = undefined;\r\n const e = {};\r\n events.forEach((name) => {\r\n const handlers = listeners[name];\r\n if (handlers.length) {\r\n // 可能存在多个 handler 且不同 modifiers 吗?\r\n const { wxsEvent, modifiers } = handlers[0];\r\n const modifier = encodeModifier(modifiers || []);\r\n if (!wxsEvent) {\r\n e[name] = modifier;\r\n }\r\n else {\r\n if (!w) {\r\n w = {};\r\n }\r\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\r\n }\r\n }\r\n });\r\n res.e = normalize ? normalize(e, false) : e;\r\n if (w) {\r\n res.w = normalize ? normalize(w, false) : w;\r\n }\r\n }\r\n if (style !== null) {\r\n res.s = normalize ? normalize(style) : style;\r\n }\r\n if (!attr) {\r\n res.i = this.nodeId;\r\n res.n = this.nodeName;\r\n }\r\n if (_text !== null) {\r\n res.t = normalize ? normalize(_text) : _text;\r\n }\r\n return res;\r\n }\r\n}\r\n\r\nclass UniCommentNode extends UniNode {\r\n constructor(text, container) {\r\n super(NODE_TYPE_COMMENT, '#comment', container);\r\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\r\n }\r\n toJSON(opts = {}) {\r\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\r\n return opts.attr\r\n ? {}\r\n : {\r\n i: this.nodeId,\r\n };\r\n // return opts.attr\r\n // ? { t: this._text as string }\r\n // : {\r\n // i: this.nodeId!,\r\n // t: this._text as string,\r\n // }\r\n }\r\n}\r\n\r\nclass UniElement extends UniBaseNode {\r\n constructor(nodeName, container) {\r\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\r\n this.tagName = this.nodeName;\r\n }\r\n}\r\nclass UniInputElement extends UniElement {\r\n get value() {\r\n return this.getAttribute('value');\r\n }\r\n set value(val) {\r\n this.setAttribute('value', val);\r\n }\r\n}\r\nclass UniTextAreaElement extends UniInputElement {\r\n}\r\n\r\nclass UniTextNode extends UniBaseNode {\r\n constructor(text, container) {\r\n super(NODE_TYPE_TEXT, '#text', container);\r\n this._text = text;\r\n }\r\n get nodeValue() {\r\n return this._text || '';\r\n }\r\n set nodeValue(text) {\r\n this._text = text;\r\n if (this.pageNode && !this.pageNode.isUnmounted) {\r\n this.pageNode.onNodeValue(this, text);\r\n }\r\n }\r\n}\r\n\r\nconst forcePatchProps = {\r\n AD: ['data'],\r\n 'AD-DRAW': ['data'],\r\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\r\n MAP: [\r\n 'markers',\r\n 'polyline',\r\n 'circles',\r\n 'controls',\r\n 'include-points',\r\n 'polygons',\r\n ],\r\n PICKER: ['range', 'value'],\r\n 'PICKER-VIEW': ['value'],\r\n 'RICH-TEXT': ['nodes'],\r\n VIDEO: ['danmu-list', 'header'],\r\n 'WEB-VIEW': ['webview-styles'],\r\n};\r\nconst forcePatchPropKeys = ['animation'];\r\n\r\nconst forcePatchProp = (el, key) => {\r\n if (forcePatchPropKeys.indexOf(key) > -1) {\r\n return true;\r\n }\r\n const keys = forcePatchProps[el.nodeName];\r\n if (keys && keys.indexOf(key) > -1) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst ACTION_TYPE_PAGE_CREATE = 1;\r\nconst ACTION_TYPE_PAGE_CREATED = 2;\r\nconst ACTION_TYPE_CREATE = 3;\r\nconst ACTION_TYPE_INSERT = 4;\r\nconst ACTION_TYPE_REMOVE = 5;\r\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\r\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\r\nconst ACTION_TYPE_ADD_EVENT = 8;\r\nconst ACTION_TYPE_REMOVE_EVENT = 9;\r\nconst ACTION_TYPE_SET_TEXT = 10;\r\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\r\nconst ACTION_TYPE_PAGE_SCROLL = 15;\r\nconst ACTION_TYPE_EVENT = 20;\r\n\r\n/**\r\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\r\n */\r\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\r\n let timeout;\r\n const newFn = function () {\r\n clearTimeout(timeout);\r\n const timerFn = () => fn.apply(this, arguments);\r\n timeout = setTimeout(timerFn, delay);\r\n };\r\n newFn.cancel = function () {\r\n clearTimeout(timeout);\r\n };\r\n return newFn;\r\n}\r\n\r\nclass EventChannel {\r\n constructor(id, events) {\r\n this.id = id;\r\n this.listener = {};\r\n this.emitCache = [];\r\n if (events) {\r\n Object.keys(events).forEach((name) => {\r\n this.on(name, events[name]);\r\n });\r\n }\r\n }\r\n emit(eventName, ...args) {\r\n const fns = this.listener[eventName];\r\n if (!fns) {\r\n return this.emitCache.push({\r\n eventName,\r\n args,\r\n });\r\n }\r\n fns.forEach((opt) => {\r\n opt.fn.apply(opt.fn, args);\r\n });\r\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\r\n }\r\n on(eventName, fn) {\r\n this._addListener(eventName, 'on', fn);\r\n this._clearCache(eventName);\r\n }\r\n once(eventName, fn) {\r\n this._addListener(eventName, 'once', fn);\r\n this._clearCache(eventName);\r\n }\r\n off(eventName, fn) {\r\n const fns = this.listener[eventName];\r\n if (!fns) {\r\n return;\r\n }\r\n if (fn) {\r\n for (let i = 0; i < fns.length;) {\r\n if (fns[i].fn === fn) {\r\n fns.splice(i, 1);\r\n i--;\r\n }\r\n i++;\r\n }\r\n }\r\n else {\r\n delete this.listener[eventName];\r\n }\r\n }\r\n _clearCache(eventName) {\r\n for (let index = 0; index < this.emitCache.length; index++) {\r\n const cache = this.emitCache[index];\r\n const _name = eventName\r\n ? cache.eventName === eventName\r\n ? eventName\r\n : null\r\n : cache.eventName;\r\n if (!_name)\r\n continue;\r\n const location = this.emit.apply(this, [_name, ...cache.args]);\r\n if (typeof location === 'number') {\r\n this.emitCache.pop();\r\n continue;\r\n }\r\n this.emitCache.splice(index, 1);\r\n index--;\r\n }\r\n }\r\n _addListener(eventName, type, fn) {\r\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\r\n fn,\r\n type,\r\n });\r\n }\r\n}\r\n\r\nconst PAGE_HOOKS = [\r\n ON_INIT,\r\n ON_LOAD,\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_UNLOAD,\r\n ON_BACK_PRESS,\r\n ON_PAGE_SCROLL,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_SHARE_TIMELINE,\r\n ON_SHARE_APP_MESSAGE,\r\n ON_SHARE_CHAT,\r\n ON_ADD_TO_FAVORITES,\r\n ON_SAVE_EXIT_STATE,\r\n ON_NAVIGATION_BAR_BUTTON_TAP,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\r\n];\r\nfunction isRootImmediateHook(name) {\r\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\r\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\r\n}\r\n// isRootImmediateHookX deprecated\r\nfunction isRootHook(name) {\r\n return PAGE_HOOKS.indexOf(name) > -1;\r\n}\r\nconst UniLifecycleHooks = [\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_LAUNCH,\r\n ON_ERROR,\r\n ON_THEME_CHANGE,\r\n ON_PAGE_NOT_FOUND,\r\n ON_UNHANDLE_REJECTION,\r\n ON_EXIT,\r\n ON_INIT,\r\n ON_LOAD,\r\n ON_READY,\r\n ON_UNLOAD,\r\n ON_RESIZE,\r\n ON_BACK_PRESS,\r\n ON_PAGE_SCROLL,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_SHARE_TIMELINE,\r\n ON_ADD_TO_FAVORITES,\r\n ON_SHARE_APP_MESSAGE,\r\n ON_SHARE_CHAT,\r\n ON_SAVE_EXIT_STATE,\r\n ON_NAVIGATION_BAR_BUTTON_TAP,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\r\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\r\n];\r\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\r\n return {\r\n onPageScroll: 1,\r\n onShareAppMessage: 1 << 1,\r\n onShareTimeline: 1 << 2,\r\n };\r\n})();\r\nfunction isUniLifecycleHook(name, value, checkType = true) {\r\n // 检查类型\r\n if (checkType && !isFunction(value)) {\r\n return false;\r\n }\r\n if (UniLifecycleHooks.indexOf(name) > -1) {\r\n // 已预定义\r\n return true;\r\n }\r\n else if (name.indexOf('on') === 0) {\r\n // 以 on 开头\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nlet vueApp;\r\nconst createVueAppHooks = [];\r\n/**\r\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\r\n */\r\nfunction onCreateVueApp(hook) {\r\n // TODO 每个 nvue 页面都会触发\r\n if (vueApp) {\r\n return hook(vueApp);\r\n }\r\n createVueAppHooks.push(hook);\r\n}\r\nfunction invokeCreateVueAppHook(app) {\r\n vueApp = app;\r\n createVueAppHooks.forEach((hook) => hook(app));\r\n}\r\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\r\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\r\n return createErrorHandler(app);\r\n});\r\n\r\nconst E = function () {\r\n // Keep this empty so it's easier to inherit from\r\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\r\n};\r\nE.prototype = {\r\n _id: 1,\r\n on: function (name, callback, ctx) {\r\n var e = this.e || (this.e = {});\r\n (e[name] || (e[name] = [])).push({\r\n fn: callback,\r\n ctx: ctx,\r\n _id: this._id,\r\n });\r\n return this._id++;\r\n },\r\n once: function (name, callback, ctx) {\r\n var self = this;\r\n function listener() {\r\n self.off(name, listener);\r\n callback.apply(ctx, arguments);\r\n }\r\n listener._ = callback;\r\n return this.on(name, listener, ctx);\r\n },\r\n emit: function (name) {\r\n var data = [].slice.call(arguments, 1);\r\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\r\n var i = 0;\r\n var len = evtArr.length;\r\n for (i; i < len; i++) {\r\n evtArr[i].fn.apply(evtArr[i].ctx, data);\r\n }\r\n return this;\r\n },\r\n off: function (name, event) {\r\n var e = this.e || (this.e = {});\r\n var evts = e[name];\r\n var liveEvents = [];\r\n if (evts && event) {\r\n for (var i = evts.length - 1; i >= 0; i--) {\r\n if (evts[i].fn === event ||\r\n evts[i].fn._ === event ||\r\n evts[i]._id === event) {\r\n evts.splice(i, 1);\r\n break;\r\n }\r\n }\r\n liveEvents = evts;\r\n }\r\n // Remove event from queue to prevent memory leak\r\n // Suggested by https://github.com/lazd\r\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\r\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\r\n return this;\r\n },\r\n};\r\nvar E$1 = E;\r\n\r\nconst borderStyles = {\r\n black: 'rgba(0,0,0,0.4)',\r\n white: 'rgba(255,255,255,0.4)',\r\n};\r\nfunction normalizeTabBarStyles(borderStyle) {\r\n if (borderStyle && borderStyle in borderStyles) {\r\n return borderStyles[borderStyle];\r\n }\r\n return borderStyle;\r\n}\r\nfunction normalizeTitleColor(titleColor) {\r\n return titleColor === 'black' ? '#000000' : '#ffffff';\r\n}\r\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\r\n if (isString(styleItem) && styleItem.startsWith('@')) {\r\n const _key = styleItem.replace('@', '');\r\n let _styleItem = modeStyle[_key] || styleItem;\r\n switch (key) {\r\n case 'titleColor':\r\n _styleItem = normalizeTitleColor(_styleItem);\r\n break;\r\n case 'borderStyle':\r\n _styleItem = normalizeTabBarStyles(_styleItem);\r\n break;\r\n }\r\n return _styleItem;\r\n }\r\n return styleItem;\r\n}\r\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\r\n const modeStyle = themeConfig[mode];\r\n const styles = {};\r\n if (typeof modeStyle === 'undefined' || !pageStyle)\r\n return pageStyle;\r\n Object.keys(pageStyle).forEach((key) => {\r\n const styleItem = pageStyle[key]; // Object Array String\r\n const parseStyleItem = () => {\r\n if (isPlainObject(styleItem))\r\n return normalizeStyles(styleItem, themeConfig, mode);\r\n if (isArray(styleItem))\r\n return styleItem.map((item) => {\r\n if (typeof item === 'object')\r\n return normalizeStyles(item, themeConfig, mode);\r\n return resolveStringStyleItem(modeStyle, item);\r\n });\r\n return resolveStringStyleItem(modeStyle, styleItem, key);\r\n };\r\n styles[key] = parseStyleItem();\r\n });\r\n return styles;\r\n}\r\n\r\nfunction getEnvLocale() {\r\n const { env } = process;\r\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\r\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\r\n}\r\n\r\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isH5CustomElement, isH5NativeTag, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\r\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared';\r\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\r\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\r\n\r\n/**\r\n* @dcloudio/uni-mp-vue v3.4.21\r\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\r\n* @license MIT\r\n**/\r\n\r\nfunction warn$2(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\r\n\r\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n this.detached = detached;\r\n /**\r\n * @internal\r\n */\r\n this._active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n this.parent = activeEffectScope;\r\n if (!detached && activeEffectScope) {\r\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\r\n this\r\n ) - 1;\r\n }\r\n }\r\n get active() {\r\n return this._active;\r\n }\r\n run(fn) {\r\n if (this._active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n } finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this._active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n if (!this.detached && this.parent && !fromParent) {\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.parent = void 0;\r\n this._active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\r\n );\r\n }\r\n}\r\n\r\nlet activeEffect;\r\nclass ReactiveEffect {\r\n constructor(fn, trigger, scheduler, scope) {\r\n this.fn = fn;\r\n this.trigger = trigger;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n /**\r\n * @internal\r\n */\r\n this._dirtyLevel = 4;\r\n /**\r\n * @internal\r\n */\r\n this._trackId = 0;\r\n /**\r\n * @internal\r\n */\r\n this._runnings = 0;\r\n /**\r\n * @internal\r\n */\r\n this._shouldSchedule = false;\r\n /**\r\n * @internal\r\n */\r\n this._depsLength = 0;\r\n recordEffectScope(this, scope);\r\n }\r\n get dirty() {\r\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\r\n this._dirtyLevel = 1;\r\n pauseTracking();\r\n for (let i = 0; i < this._depsLength; i++) {\r\n const dep = this.deps[i];\r\n if (dep.computed) {\r\n triggerComputed(dep.computed);\r\n if (this._dirtyLevel >= 4) {\r\n break;\r\n }\r\n }\r\n }\r\n if (this._dirtyLevel === 1) {\r\n this._dirtyLevel = 0;\r\n }\r\n resetTracking();\r\n }\r\n return this._dirtyLevel >= 4;\r\n }\r\n set dirty(v) {\r\n this._dirtyLevel = v ? 4 : 0;\r\n }\r\n run() {\r\n this._dirtyLevel = 0;\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let lastShouldTrack = shouldTrack;\r\n let lastEffect = activeEffect;\r\n try {\r\n shouldTrack = true;\r\n activeEffect = this;\r\n this._runnings++;\r\n preCleanupEffect(this);\r\n return this.fn();\r\n } finally {\r\n postCleanupEffect(this);\r\n this._runnings--;\r\n activeEffect = lastEffect;\r\n shouldTrack = lastShouldTrack;\r\n }\r\n }\r\n stop() {\r\n var _a;\r\n if (this.active) {\r\n preCleanupEffect(this);\r\n postCleanupEffect(this);\r\n (_a = this.onStop) == null ? void 0 : _a.call(this);\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction triggerComputed(computed) {\r\n return computed.value;\r\n}\r\nfunction preCleanupEffect(effect2) {\r\n effect2._trackId++;\r\n effect2._depsLength = 0;\r\n}\r\nfunction postCleanupEffect(effect2) {\r\n if (effect2.deps.length > effect2._depsLength) {\r\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\r\n cleanupDepEffect(effect2.deps[i], effect2);\r\n }\r\n effect2.deps.length = effect2._depsLength;\r\n }\r\n}\r\nfunction cleanupDepEffect(dep, effect2) {\r\n const trackId = dep.get(effect2);\r\n if (trackId !== void 0 && effect2._trackId !== trackId) {\r\n dep.delete(effect2);\r\n if (dep.size === 0) {\r\n dep.cleanup();\r\n }\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect instanceof ReactiveEffect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn, NOOP, () => {\r\n if (_effect.dirty) {\r\n _effect.run();\r\n }\r\n });\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nlet pauseScheduleStack = 0;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === void 0 ? true : last;\r\n}\r\nfunction pauseScheduling() {\r\n pauseScheduleStack++;\r\n}\r\nfunction resetScheduling() {\r\n pauseScheduleStack--;\r\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\r\n queueEffectSchedulers.shift()();\r\n }\r\n}\r\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\r\n var _a;\r\n if (dep.get(effect2) !== effect2._trackId) {\r\n dep.set(effect2, effect2._trackId);\r\n const oldDep = effect2.deps[effect2._depsLength];\r\n if (oldDep !== dep) {\r\n if (oldDep) {\r\n cleanupDepEffect(oldDep, effect2);\r\n }\r\n effect2.deps[effect2._depsLength++] = dep;\r\n } else {\r\n effect2._depsLength++;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nconst queueEffectSchedulers = [];\r\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\r\n var _a;\r\n pauseScheduling();\r\n for (const effect2 of dep.keys()) {\r\n let tracking;\r\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\r\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\r\n effect2._dirtyLevel = dirtyLevel;\r\n }\r\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\r\n }\r\n effect2.trigger();\r\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\r\n effect2._shouldSchedule = false;\r\n if (effect2.scheduler) {\r\n queueEffectSchedulers.push(effect2.scheduler);\r\n }\r\n }\r\n }\r\n }\r\n resetScheduling();\r\n}\r\n\r\nconst createDep = (cleanup, computed) => {\r\n const dep = /* @__PURE__ */ new Map();\r\n dep.cleanup = cleanup;\r\n dep.computed = computed;\r\n return dep;\r\n};\r\n\r\nconst targetMap = /* @__PURE__ */ new WeakMap();\r\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\r\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\r\n }\r\n trackEffect(\r\n activeEffect,\r\n dep,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target,\r\n type,\r\n key\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\") {\r\n deps = [...depsMap.values()];\r\n } else if (key === \"length\" && isArray(target)) {\r\n const newLength = Number(newValue);\r\n depsMap.forEach((dep, key2) => {\r\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\r\n deps.push(dep);\r\n }\r\n });\r\n } else {\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n switch (type) {\r\n case \"add\":\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n } else if (isIntegerKey(key)) {\r\n deps.push(depsMap.get(\"length\"));\r\n }\r\n break;\r\n case \"delete\":\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\":\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n pauseScheduling();\r\n for (const dep of deps) {\r\n if (dep) {\r\n triggerEffects(\r\n dep,\r\n 4,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target,\r\n type,\r\n key,\r\n newValue,\r\n oldValue,\r\n oldTarget\r\n } : void 0\r\n );\r\n }\r\n }\r\n resetScheduling();\r\n}\r\nfunction getDepFromReactive(object, key) {\r\n var _a;\r\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\r\n}\r\n\r\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\r\n);\r\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\r\n instrumentations[key] = function(...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\", i + \"\");\r\n }\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n return arr[key](...args.map(toRaw));\r\n } else {\r\n return res;\r\n }\r\n };\r\n });\r\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\r\n instrumentations[key] = function(...args) {\r\n pauseTracking();\r\n pauseScheduling();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetScheduling();\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction hasOwnProperty(key) {\r\n const obj = toRaw(this);\r\n track(obj, \"has\", key);\r\n return obj.hasOwnProperty(key);\r\n}\r\nclass BaseReactiveHandler {\r\n constructor(_isReadonly = false, _isShallow = false) {\r\n this._isReadonly = _isReadonly;\r\n this._isShallow = _isShallow;\r\n }\r\n get(target, key, receiver) {\r\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\r\n if (key === \"__v_isReactive\") {\r\n return !isReadonly2;\r\n } else if (key === \"__v_isReadonly\") {\r\n return isReadonly2;\r\n } else if (key === \"__v_isShallow\") {\r\n return isShallow2;\r\n } else if (key === \"__v_raw\") {\r\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\r\n // this means the reciever is a user proxy of the reactive proxy\r\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\r\n return target;\r\n }\r\n return;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly2) {\r\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n if (key === \"hasOwnProperty\") {\r\n return hasOwnProperty;\r\n }\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly2) {\r\n track(target, \"get\", key);\r\n }\r\n if (isShallow2) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n return isReadonly2 ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n }\r\n}\r\nclass MutableReactiveHandler extends BaseReactiveHandler {\r\n constructor(isShallow2 = false) {\r\n super(false, isShallow2);\r\n }\r\n set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (!this._isShallow) {\r\n const isOldValueReadonly = isReadonly(oldValue);\r\n if (!isShallow(value) && !isReadonly(value)) {\r\n oldValue = toRaw(oldValue);\r\n value = toRaw(value);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n if (isOldValueReadonly) {\r\n return false;\r\n } else {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\", key, value);\r\n } else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\", key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n }\r\n deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\", key, void 0, oldValue);\r\n }\r\n return result;\r\n }\r\n has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\", key);\r\n }\r\n return result;\r\n }\r\n ownKeys(target) {\r\n track(\r\n target,\r\n \"iterate\",\r\n isArray(target) ? \"length\" : ITERATE_KEY\r\n );\r\n return Reflect.ownKeys(target);\r\n }\r\n}\r\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\r\n constructor(isShallow2 = false) {\r\n super(true, isShallow2);\r\n }\r\n set(target, key) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\r\n target\r\n );\r\n }\r\n return true;\r\n }\r\n deleteProperty(target, key) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(\r\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\r\n target\r\n );\r\n }\r\n return true;\r\n }\r\n}\r\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\r\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\r\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\r\n true\r\n);\r\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\r\n\r\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get(target, key, isReadonly = false, isShallow = false) {\r\n target = target[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (hasChanged(key, rawKey)) {\r\n track(rawTarget, \"get\", key);\r\n }\r\n track(rawTarget, \"get\", rawKey);\r\n }\r\n const { has: has2 } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has2.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n } else if (has2.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n } else if (target !== rawTarget) {\r\n target.get(key);\r\n }\r\n}\r\nfunction has(key, isReadonly = false) {\r\n const target = this[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (hasChanged(key, rawKey)) {\r\n track(rawTarget, \"has\", key);\r\n }\r\n track(rawTarget, \"has\", rawKey);\r\n }\r\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\"];\r\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\r\n return Reflect.get(target, \"size\", target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\", value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has: has2, get: get2 } = getProto(target);\r\n let hadKey = has2.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has2.call(target, key);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkIdentityKeys(target, has2, key);\r\n }\r\n const oldValue = get2.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\", key, value);\r\n } else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\", key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has: has2, get: get2 } = getProto(target);\r\n let hadKey = has2.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has2.call(target, key);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkIdentityKeys(target, has2, key);\r\n }\r\n const oldValue = get2 ? get2.call(target, key) : void 0;\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\", key, void 0, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\", void 0, void 0, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function(...args) {\r\n const target = this[\"__v_raw\"];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\r\n const isKeyOnly = method === \"keys\" && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(\r\n rawTarget,\r\n \"iterate\",\r\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\r\n );\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done ? { value, done } : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function(...args) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n warn$2(\r\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\r\n toRaw(this)\r\n );\r\n }\r\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations2 = {\r\n get(key) {\r\n return get(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\"),\r\n set: createReadonlyMethod(\"set\"),\r\n delete: createReadonlyMethod(\"delete\"),\r\n clear: createReadonlyMethod(\"clear\"),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations2 = {\r\n get(key) {\r\n return get(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\"),\r\n set: createReadonlyMethod(\"set\"),\r\n delete: createReadonlyMethod(\"delete\"),\r\n clear: createReadonlyMethod(\"clear\"),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = [\r\n \"keys\",\r\n \"values\",\r\n \"entries\",\r\n Symbol.iterator\r\n ];\r\n iteratorMethods.forEach((method) => {\r\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\r\n method,\r\n true,\r\n true\r\n );\r\n });\r\n return [\r\n mutableInstrumentations2,\r\n readonlyInstrumentations2,\r\n shallowInstrumentations2,\r\n shallowReadonlyInstrumentations2\r\n ];\r\n}\r\nconst [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n] = /* @__PURE__ */ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\") {\r\n return !isReadonly;\r\n } else if (key === \"__v_isReadonly\") {\r\n return isReadonly;\r\n } else if (key === \"__v_raw\") {\r\n return target;\r\n }\r\n return Reflect.get(\r\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\r\n key,\r\n receiver\r\n );\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has2, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has2.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n warn$2(\r\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\r\n );\r\n }\r\n}\r\n\r\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\r\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\r\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\r\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case \"Object\":\r\n case \"Array\":\r\n return 1 /* COMMON */;\r\n case \"Map\":\r\n case \"Set\":\r\n case \"WeakMap\":\r\n case \"WeakSet\":\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(\r\n target,\r\n false,\r\n mutableHandlers,\r\n mutableCollectionHandlers,\r\n reactiveMap\r\n );\r\n}\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(\r\n target,\r\n false,\r\n shallowReactiveHandlers,\r\n shallowCollectionHandlers,\r\n shallowReactiveMap\r\n );\r\n}\r\nfunction readonly(target) {\r\n return createReactiveObject(\r\n target,\r\n true,\r\n readonlyHandlers,\r\n readonlyCollectionHandlers,\r\n readonlyMap\r\n );\r\n}\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(\r\n target,\r\n true,\r\n shallowReadonlyHandlers,\r\n shallowReadonlyCollectionHandlers,\r\n shallowReadonlyMap\r\n );\r\n}\r\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$2(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\r\n return target;\r\n }\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(\r\n target,\r\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\r\n );\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\"]);\r\n }\r\n return !!(value && value[\"__v_isReactive\"]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\"]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\"]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\"];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n if (Object.isExtensible(value)) {\r\n def(value, \"__v_skip\", true);\r\n }\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\r\n\r\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\r\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this.getter = getter;\r\n this._setter = _setter;\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n this[\"__v_isReadonly\"] = false;\r\n this.effect = new ReactiveEffect(\r\n () => getter(this._value),\r\n () => triggerRefValue(\r\n this,\r\n this.effect._dirtyLevel === 2 ? 2 : 3\r\n )\r\n );\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\"] = isReadonly;\r\n }\r\n get value() {\r\n const self = toRaw(this);\r\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\r\n triggerRefValue(self, 4);\r\n }\r\n trackRefValue(self);\r\n if (self.effect._dirtyLevel >= 2) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\r\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\r\n\r\ngetter: `, this.getter);\r\n }\r\n triggerRefValue(self, 2);\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\r\n get _dirty() {\r\n return this.effect.dirty;\r\n }\r\n set _dirty(v) {\r\n this.effect.dirty = v;\r\n }\r\n // #endregion\r\n}\r\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\r\n warn$2(\"Write operation failed: computed value is readonly\");\r\n } : NOOP;\r\n } else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\r\n\r\nfunction trackRefValue(ref2) {\r\n var _a;\r\n if (shouldTrack && activeEffect) {\r\n ref2 = toRaw(ref2);\r\n trackEffect(\r\n activeEffect,\r\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\r\n () => ref2.dep = void 0,\r\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\r\n ),\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target: ref2,\r\n type: \"get\",\r\n key: \"value\"\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\r\n ref2 = toRaw(ref2);\r\n const dep = ref2.dep;\r\n if (dep) {\r\n triggerEffects(\r\n dep,\r\n dirtyLevel,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n target: ref2,\r\n type: \"set\",\r\n key: \"value\",\r\n newValue: newVal\r\n } : void 0\r\n );\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\r\n newVal = useDirectValue ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = useDirectValue ? newVal : toReactive(newVal);\r\n triggerRefValue(this, 4, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref2) {\r\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\r\n}\r\nfunction unref(ref2) {\r\n return isRef(ref2) ? ref2.value : ref2;\r\n}\r\nfunction toValue(source) {\r\n return isFunction(source) ? source() : unref(source);\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n } else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = void 0;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(\r\n () => trackRefValue(this),\r\n () => triggerRefValue(this)\r\n );\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\r\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = propertyToRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === void 0 ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n get dep() {\r\n return getDepFromReactive(toRaw(this._object), this._key);\r\n }\r\n}\r\nclass GetterRefImpl {\r\n constructor(_getter) {\r\n this._getter = _getter;\r\n this.__v_isRef = true;\r\n this.__v_isReadonly = true;\r\n }\r\n get value() {\r\n return this._getter();\r\n }\r\n}\r\nfunction toRef(source, key, defaultValue) {\r\n if (isRef(source)) {\r\n return source;\r\n } else if (isFunction(source)) {\r\n return new GetterRefImpl(source);\r\n } else if (isObject(source) && arguments.length > 1) {\r\n return propertyToRef(source, key, defaultValue);\r\n } else {\r\n return ref(source);\r\n }\r\n}\r\nfunction propertyToRef(source, key, defaultValue) {\r\n const val = source[key];\r\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\r\n}\r\n\r\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn$1(msg, ...args) {\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(\r\n appWarnHandler,\r\n instance,\r\n 11,\r\n [\r\n msg + args.map((a) => {\r\n var _a, _b;\r\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\r\n }).join(\"\"),\r\n instance && instance.proxy,\r\n trace.map(\r\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\r\n ).join(\"\\n\"),\r\n trace\r\n ]\r\n );\r\n } else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n if (trace.length && // avoid spamming console during tests\r\n true) {\r\n warnArgs.push(`\r\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n } else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...i === 0 ? [] : [`\r\n`], ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(\r\n vnode.component,\r\n vnode.type,\r\n isRoot\r\n )}`;\r\n const close = `>` + postfix;\r\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\r\n}\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach((key) => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n } else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n } else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n } else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\r\n\r\nconst ErrorTypeStrings = {\r\n [\"sp\"]: \"serverPrefetch hook\",\r\n [\"bc\"]: \"beforeCreate hook\",\r\n [\"c\"]: \"created hook\",\r\n [\"bm\"]: \"beforeMount hook\",\r\n [\"m\"]: \"mounted hook\",\r\n [\"bu\"]: \"beforeUpdate hook\",\r\n [\"u\"]: \"updated\",\r\n [\"bum\"]: \"beforeUnmount hook\",\r\n [\"um\"]: \"unmounted hook\",\r\n [\"a\"]: \"activated hook\",\r\n [\"da\"]: \"deactivated hook\",\r\n [\"ec\"]: \"errorCaptured hook\",\r\n [\"rtc\"]: \"renderTracked hook\",\r\n [\"rtg\"]: \"renderTriggered hook\",\r\n [0]: \"setup function\",\r\n [1]: \"render function\",\r\n [2]: \"watcher getter\",\r\n [3]: \"watcher callback\",\r\n [4]: \"watcher cleanup function\",\r\n [5]: \"native event handler\",\r\n [6]: \"component event handler\",\r\n [7]: \"vnode hook\",\r\n [8]: \"directive hook\",\r\n [9]: \"transition hook\",\r\n [10]: \"app errorHandler\",\r\n [11]: \"app warnHandler\",\r\n [12]: \"ref function\",\r\n [13]: \"async component loader\",\r\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n try {\r\n return args ? fn(...args) : fn();\r\n } catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch((err) => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n const exposedInstance = instance.proxy;\r\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(\r\n appErrorHandler,\r\n null,\r\n 10,\r\n [err, exposedInstance, errorInfo]\r\n );\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const info = ErrorTypeStrings[type] || type;\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n if (throwInDev) {\r\n console.error(err);\r\n } else {\r\n console.error(err);\r\n }\r\n } else {\r\n console.error(err);\r\n }\r\n}\r\n\r\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick$1(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\nfunction findInsertionIndex(id) {\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = start + end >>> 1;\r\n const middleJob = queue[middle];\r\n const middleJobId = getId(middleJob);\r\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\r\n start = middle + 1;\r\n } else {\r\n end = middle;\r\n }\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n if (!queue.length || !queue.includes(\r\n job,\r\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\r\n )) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n } else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction hasQueueJob(job) {\r\n return queue.indexOf(job) > -1;\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n if (!isArray(cb)) {\r\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\r\n cb,\r\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\r\n )) {\r\n pendingPostFlushCbs.push(cb);\r\n }\r\n } else {\r\n pendingPostFlushCbs.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n for (; i < queue.length; i++) {\r\n const cb = queue[i];\r\n if (cb && cb.pre) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\r\n continue;\r\n }\r\n queue.splice(i, 1);\r\n i--;\r\n cb();\r\n }\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\r\n (a, b) => getId(a) - getId(b)\r\n );\r\n pendingPostFlushCbs.length = 0;\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nconst comparator = (a, b) => {\r\n const diff = getId(a) - getId(b);\r\n if (diff === 0) {\r\n if (a.pre && !b.pre)\r\n return -1;\r\n if (b.pre && !a.pre)\r\n return 1;\r\n }\r\n return diff;\r\n};\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n seen = seen || /* @__PURE__ */ new Map();\r\n }\r\n queue.sort(comparator);\r\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\r\n continue;\r\n }\r\n callWithErrorHandling(job, null, 14);\r\n }\r\n }\r\n } finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n if (queue.length || pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n } else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n handleError(\r\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\r\n null,\r\n 10\r\n );\r\n return true;\r\n } else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\r\n\r\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit$1(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n } else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n } else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== \"undefined\" && // some envs mock window but not fully\r\n window.HTMLElement && // also exclude jsdom\r\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\r\n ) {\r\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3e3);\r\n } else {\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\r\n \"component:added\" /* COMPONENT_ADDED */\r\n);\r\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\r\n \"component:removed\" /* COMPONENT_REMOVED */\r\n);\r\nconst devtoolsComponentRemoved = (component) => {\r\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\r\n !devtools.cleanupBuffer(component)) {\r\n _devtoolsComponentRemoved(component);\r\n }\r\n};\r\n/*! #__NO_SIDE_EFFECTS__ */\r\n// @__NO_SIDE_EFFECTS__\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit$1(\r\n hook,\r\n component.appContext.app,\r\n component.uid,\r\n // fixed by xxxxxx\r\n // 为 0 是 App,无 parent 是 Page 指向 App\r\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\r\n component\r\n );\r\n };\r\n}\r\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\r\n \"perf:start\" /* PERFORMANCE_START */\r\n);\r\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\r\n \"perf:end\" /* PERFORMANCE_END */\r\n);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit$1(\r\n \"component:emit\" /* COMPONENT_EMIT */,\r\n component.appContext.app,\r\n component,\r\n event,\r\n params\r\n );\r\n}\r\n\r\nfunction emit(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const {\r\n emitsOptions,\r\n propsOptions: [propsOptions]\r\n } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) && true) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn$1(\r\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\r\n );\r\n }\r\n } else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn$1(\r\n `Invalid event arguments: event validation failed for event \"${event}\".`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith(\"update:\");\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\r\n }\r\n if (number) {\r\n args = rawArgs.map(looseToNumber);\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn$1(\r\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\r\n instance,\r\n instance.type\r\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\r\n event\r\n )}\" instead of \"${event}\".`\r\n );\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\r\n props[handlerName = toHandlerKey(camelize(event))];\r\n if (!handler && isModelListener) {\r\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(\r\n handler,\r\n instance,\r\n 6,\r\n args\r\n );\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n } else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(\r\n onceHandler,\r\n instance,\r\n 6,\r\n args\r\n );\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== void 0) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw2) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n if (isObject(comp)) {\r\n cache.set(comp, null);\r\n }\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach((key) => normalized[key] = null);\r\n } else {\r\n extend(normalized, raw);\r\n }\r\n if (isObject(comp)) {\r\n cache.set(comp, normalized);\r\n }\r\n return normalized;\r\n}\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, \"\");\r\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\r\n}\r\n\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = instance && instance.type.__scopeId || null;\r\n return prev;\r\n}\r\nconst withScopeId = (_id) => withCtx;\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\r\n if (!ctx)\r\n return fn;\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n let res;\r\n try {\r\n res = fn(...args);\r\n } finally {\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n renderFnWithContext._n = true;\r\n renderFnWithContext._c = true;\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\r\n\r\nfunction markAttrsAccessed() {\r\n}\r\n\r\nconst COMPONENTS = \"components\";\r\nconst DIRECTIVES = \"directives\";\r\nfunction resolveComponent(name, maybeSelfReference) {\r\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\r\n}\r\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\r\nfunction resolveDirective(name) {\r\n return resolveAsset(DIRECTIVES, name);\r\n}\r\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\r\n const instance = currentRenderingInstance || currentInstance;\r\n if (instance) {\r\n const Component = instance.type;\r\n if (type === COMPONENTS) {\r\n const selfName = getComponentName(\r\n Component,\r\n false\r\n );\r\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\r\n return Component;\r\n }\r\n }\r\n const res = (\r\n // local registration\r\n // check instance[type] first which is resolved for options API\r\n resolve(instance[type] || Component[type], name) || // global registration\r\n resolve(instance.appContext[type], name)\r\n );\r\n if (!res && maybeSelfReference) {\r\n return Component;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\r\n const extra = type === COMPONENTS ? `\r\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\r\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\r\n }\r\n return res;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\r\n );\r\n }\r\n}\r\nfunction resolve(registry, name) {\r\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\r\n}\r\n\r\nconst ssrContextKey = Symbol.for(\"v-scx\");\r\nconst useSSRContext = () => {\r\n {\r\n const ctx = inject(ssrContextKey);\r\n if (!ctx) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\r\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\r\n );\r\n }\r\n return ctx;\r\n }\r\n};\r\n\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(\r\n effect,\r\n null,\r\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\r\n );\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(\r\n effect,\r\n null,\r\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\r\n );\r\n}\r\nconst INITIAL_WATCHER_VALUE = {};\r\nfunction watch(source, cb, options) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\r\n warn$1(\r\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\r\n );\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, {\r\n immediate,\r\n deep,\r\n flush,\r\n once,\r\n onTrack,\r\n onTrigger\r\n} = EMPTY_OBJ) {\r\n if (cb && once) {\r\n const _cb = cb;\r\n cb = (...args) => {\r\n _cb(...args);\r\n unwatch();\r\n };\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\r\n warn$1(\r\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\r\n );\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\r\n if (immediate !== void 0) {\r\n warn$1(\r\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n if (deep !== void 0) {\r\n warn$1(\r\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n if (once !== void 0) {\r\n warn$1(\r\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\r\n );\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn$1(\r\n `Invalid watch source: `,\r\n s,\r\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\r\n );\r\n };\r\n const instance = currentInstance;\r\n const reactiveGetter = (source2) => deep === true ? source2 : (\r\n // for deep: false, only traverse root-level properties\r\n traverse(source2, deep === false ? 1 : void 0)\r\n );\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow(source);\r\n } else if (isReactive(source)) {\r\n getter = () => reactiveGetter(source);\r\n forceTrigger = true;\r\n } else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\r\n getter = () => source.map((s) => {\r\n if (isRef(s)) {\r\n return s.value;\r\n } else if (isReactive(s)) {\r\n return reactiveGetter(s);\r\n } else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2);\r\n } else {\r\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\r\n }\r\n });\r\n } else if (isFunction(source)) {\r\n if (cb) {\r\n getter = () => callWithErrorHandling(source, instance, 2);\r\n } else {\r\n getter = () => {\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(\r\n source,\r\n instance,\r\n 3,\r\n [onCleanup]\r\n );\r\n };\r\n }\r\n } else {\r\n getter = NOOP;\r\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4);\r\n cleanup = effect.onStop = void 0;\r\n };\r\n };\r\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active || !effect.dirty) {\r\n return;\r\n }\r\n if (cb) {\r\n const newValue = effect.run();\r\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n } else {\r\n effect.run();\r\n }\r\n };\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === \"sync\") {\r\n scheduler = job;\r\n } else if (flush === \"post\") {\r\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\r\n } else {\r\n job.pre = true;\r\n if (instance)\r\n job.id = instance.uid;\r\n scheduler = () => queueJob(job);\r\n }\r\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\r\n const scope = getCurrentScope();\r\n const unwatch = () => {\r\n effect.stop();\r\n if (scope) {\r\n remove(scope.effects, effect);\r\n }\r\n };\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n } else {\r\n oldValue = effect.run();\r\n }\r\n } else if (flush === \"post\") {\r\n queuePostRenderEffect$1(\r\n effect.run.bind(effect),\r\n instance && instance.suspense\r\n );\r\n } else {\r\n effect.run();\r\n }\r\n return unwatch;\r\n}\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n } else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const reset = setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n reset();\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split(\".\");\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, depth, currentDepth = 0, seen) {\r\n if (!isObject(value) || value[\"__v_skip\"]) {\r\n return value;\r\n }\r\n if (depth && depth > 0) {\r\n if (currentDepth >= depth) {\r\n return value;\r\n }\r\n currentDepth++;\r\n }\r\n seen = seen || /* @__PURE__ */ new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, depth, currentDepth, seen);\r\n } else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], depth, currentDepth, seen);\r\n }\r\n } else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, depth, currentDepth, seen);\r\n });\r\n } else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], depth, currentDepth, seen);\r\n }\r\n }\r\n return value;\r\n}\r\n\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\r\n }\r\n}\r\nfunction withDirectives(vnode, directives) {\r\n if (currentRenderingInstance === null) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (dir) {\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n if (dir.deep) {\r\n traverse(value);\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n }\r\n return vnode;\r\n}\r\n\r\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n errorHandler: void 0,\r\n warnHandler: void 0,\r\n compilerOptions: {}\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: /* @__PURE__ */ Object.create(null),\r\n optionsCache: /* @__PURE__ */ new WeakMap(),\r\n propsCache: /* @__PURE__ */ new WeakMap(),\r\n emitsCache: /* @__PURE__ */ new WeakMap()\r\n };\r\n}\r\nlet uid$1 = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (!isFunction(rootComponent)) {\r\n rootComponent = extend({}, rootComponent);\r\n }\r\n if (rootProps != null && !isObject(rootProps)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = /* @__PURE__ */ new WeakSet();\r\n const app = context.app = {\r\n _uid: uid$1++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n _instance: null,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `app.config cannot be replaced. Modify individual options instead.`\r\n );\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\r\n } else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n } else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `A plugin must either be a function or an object with an \"install\" function.`\r\n );\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\r\n );\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\"Mixins are only available in builds supporting Options API\");\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\r\n warn$1(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\r\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n // fixed by xxxxxx\r\n mount() {\r\n },\r\n // fixed by xxxxxx\r\n unmount() {\r\n },\r\n provide(key, value) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\r\n warn$1(\r\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\r\n );\r\n }\r\n context.provides[key] = value;\r\n return app;\r\n },\r\n runWithContext(fn) {\r\n const lastApp = currentApp;\r\n currentApp = app;\r\n try {\r\n return fn();\r\n } finally {\r\n currentApp = lastApp;\r\n }\r\n }\r\n };\r\n return app;\r\n };\r\n}\r\nlet currentApp = null;\r\n\r\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`provide() can only be used inside setup().`);\r\n }\r\n } else {\r\n let provides = currentInstance.provides;\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n provides[key] = value;\r\n if (currentInstance.type.mpType === \"app\") {\r\n currentInstance.appContext.app.provide(key, value);\r\n }\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance || currentApp) {\r\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\r\n if (provides && key in provides) {\r\n return provides[key];\r\n } else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`injection \"${String(key)}\" not found.`);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\r\nfunction hasInjectionContext() {\r\n return !!(currentInstance || currentRenderingInstance || currentApp);\r\n}\r\n\r\n/*! #__NO_SIDE_EFFECTS__ */\r\n// @__NO_SIDE_EFFECTS__\r\nfunction defineComponent(options, extraOptions) {\r\n return isFunction(options) ? (\r\n // #8326: extend call and options.name access are considered side-effects\r\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\r\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\r\n ) : options;\r\n}\r\n\r\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\", target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\", target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n return hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n const injected = injectHook(\r\n type,\r\n hook,\r\n keepAliveRoot,\r\n true\r\n /* prepend */\r\n );\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\n\r\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n if (isRootHook(type)) {\r\n target = target.root;\r\n }\r\n const hooks = target[type] || (target[type] = []);\r\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n pauseTracking();\r\n const reset = setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n reset();\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n } else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const apiName = toHandlerKey(\r\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\r\n );\r\n warn$1(\r\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\r\n );\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\r\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\r\n);\r\nconst onBeforeMount = createHook(\"bm\");\r\nconst onMounted = createHook(\"m\");\r\nconst onBeforeUpdate = createHook(\"bu\");\r\nconst onUpdated = createHook(\"u\");\r\nconst onBeforeUnmount = createHook(\"bum\");\r\nconst onUnmounted = createHook(\"um\");\r\nconst onServerPrefetch = createHook(\"sp\");\r\nconst onRenderTriggered = createHook(\r\n \"rtg\"\r\n);\r\nconst onRenderTracked = createHook(\r\n \"rtc\"\r\n);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\", hook, target);\r\n}\r\n\r\nfunction toHandlers(obj, preserveCaseIfNecessary) {\r\n const ret = {};\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\r\n warn$1(`v-on with no argument expects an object value.`);\r\n return ret;\r\n }\r\n for (const key in obj) {\r\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\r\n }\r\n return ret;\r\n}\r\n\r\nconst getPublicInstance = (i) => {\r\n if (!i)\r\n return null;\r\n if (isStatefulComponent(i))\r\n return getExposeProxy(i) || i.proxy;\r\n return getPublicInstance(i.parent);\r\n};\r\nconst publicPropertiesMap = (\r\n // Move PURE marker to new line to workaround compiler discarding it\r\n // due to type annotation\r\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\r\n $: (i) => i,\r\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\r\n // $el: i => i.vnode.el,\r\n $el: (i) => i.__$el || (i.__$el = {}),\r\n $data: (i) => i.data,\r\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\r\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\r\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\r\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\r\n $parent: (i) => getPublicInstance(i.parent),\r\n $root: (i) => getPublicInstance(i.root),\r\n $emit: (i) => i.emit,\r\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\r\n $forceUpdate: (i) => i.f || (i.f = () => {\r\n i.effect.dirty = true;\r\n queueJob(i.update);\r\n }),\r\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\r\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\r\n })\r\n);\r\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\r\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\r\nconst PublicInstanceProxyHandlers = {\r\n get({ _: instance }, key) {\r\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\r\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\r\n return true;\r\n }\r\n let normalizedProps;\r\n if (key[0] !== \"$\") {\r\n const n = accessCache[key];\r\n if (n !== void 0) {\r\n switch (n) {\r\n case 1 /* SETUP */:\r\n return setupState[key];\r\n case 2 /* DATA */:\r\n return data[key];\r\n case 4 /* CONTEXT */:\r\n return ctx[key];\r\n case 3 /* PROPS */:\r\n return props[key];\r\n }\r\n } else if (hasSetupBinding(setupState, key)) {\r\n accessCache[key] = 1 /* SETUP */;\r\n return setupState[key];\r\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\r\n accessCache[key] = 2 /* DATA */;\r\n return data[key];\r\n } else if (\r\n // only cache other properties when instance has declared (thus stable)\r\n // props\r\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\r\n ) {\r\n accessCache[key] = 3 /* PROPS */;\r\n return props[key];\r\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\r\n accessCache[key] = 4 /* CONTEXT */;\r\n return ctx[key];\r\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\r\n accessCache[key] = 0 /* OTHER */;\r\n }\r\n }\r\n const publicGetter = publicPropertiesMap[key];\r\n let cssModule, globalProperties;\r\n if (publicGetter) {\r\n if (key === \"$attrs\") {\r\n track(instance, \"get\", key);\r\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\r\n track(instance, \"get\", key);\r\n }\r\n return publicGetter(instance);\r\n } else if (\r\n // css module (injected by vue-loader)\r\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\r\n ) {\r\n return cssModule;\r\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\r\n accessCache[key] = 4 /* CONTEXT */;\r\n return ctx[key];\r\n } else if (\r\n // global properties\r\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\r\n ) {\r\n {\r\n return globalProperties[key];\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\r\n // to infinite warning loop\r\n key.indexOf(\"__v\") !== 0)) {\r\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\r\n warn$1(\r\n `Property ${JSON.stringify(\r\n key\r\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\r\n );\r\n } else if (instance === currentRenderingInstance) {\r\n warn$1(\r\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\r\n );\r\n }\r\n }\r\n },\r\n set({ _: instance }, key, value) {\r\n const { data, setupState, ctx } = instance;\r\n if (hasSetupBinding(setupState, key)) {\r\n setupState[key] = value;\r\n return true;\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\r\n warn$1(`Cannot mutate <script setup> binding \"${key}\" from Options API.`);\r\n return false;\r\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\r\n data[key] = value;\r\n return true;\r\n } else if (hasOwn(instance.props, key)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Attempting to mutate prop \"${key}\". Props are readonly.`);\r\n return false;\r\n }\r\n if (key[0] === \"$\" && key.slice(1) in instance) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\r\n `Attempting to mutate public property \"${key}\". Properties starting with $ are reserved and readonly.`\r\n );\r\n return false;\r\n } else {\r\n if (!!(process.env.NODE_ENV !== \"production\") && key in instance.appContext.config.globalProperties) {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n value\r\n });\r\n } else {\r\n ctx[key] = value;\r\n }\r\n }\r\n return true;\r\n },\r\n has({\r\n _: { data, setupState, accessCache, ctx, appContext, propsOptions }\r\n }, key) {\r\n let normalizedProps;\r\n return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);\r\n },\r\n defineProperty(target, key, descriptor) {\r\n if (descriptor.get != null) {\r\n target._.accessCache[key] = 0;\r\n } else if (hasOwn(descriptor, \"value\")) {\r\n this.set(target, key, descriptor.value, null);\r\n }\r\n return Reflect.defineProperty(target, key, descriptor);\r\n }\r\n};\r\nif (!!(process.env.NODE_ENV !== \"production\") && true) {\r\n PublicInstanceProxyHandlers.ownKeys = (target) => {\r\n warn$1(\r\n `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`\r\n );\r\n return Reflect.ownKeys(target);\r\n };\r\n}\r\nfunction createDevRenderContext(instance) {\r\n const target = {};\r\n Object.defineProperty(target, `_`, {\r\n configurable: true,\r\n enumerable: false,\r\n get: () => instance\r\n });\r\n Object.keys(publicPropertiesMap).forEach((key) => {\r\n Object.defineProperty(target, key, {\r\n configurable: true,\r\n enumerable: false,\r\n get: () => publicPropertiesMap[key](instance),\r\n // intercepted by the proxy so no need for implementation,\r\n // but needed to prevent set errors\r\n set: NOOP\r\n });\r\n });\r\n return target;\r\n}\r\nfunction exposePropsOnRenderContext(instance) {\r\n const {\r\n ctx,\r\n propsOptions: [propsOptions]\r\n } = instance;\r\n if (propsOptions) {\r\n Object.keys(propsOptions).forEach((key) => {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => instance.props[key],\r\n set: NOOP\r\n });\r\n });\r\n }\r\n}\r\nfunction exposeSetupStateOnRenderContext(instance) {\r\n const { ctx, setupState } = instance;\r\n Object.keys(toRaw(setupState)).forEach((key) => {\r\n if (!setupState.__isScriptSetup) {\r\n if (isReservedPrefix(key[0])) {\r\n warn$1(\r\n `setup() return property ${JSON.stringify(\r\n key\r\n )} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`\r\n );\r\n return;\r\n }\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => setupState[key],\r\n set: NOOP\r\n });\r\n }\r\n });\r\n}\r\n\r\nconst warnRuntimeUsage = (method) => warn$1(\r\n `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`\r\n);\r\nfunction defineProps() {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`defineProps`);\r\n }\r\n return null;\r\n}\r\nfunction defineEmits() {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`defineEmits`);\r\n }\r\n return null;\r\n}\r\nfunction defineExpose(exposed) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`defineExpose`);\r\n }\r\n}\r\nfunction withDefaults(props, defaults) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRuntimeUsage(`withDefaults`);\r\n }\r\n return null;\r\n}\r\nfunction useSlots() {\r\n return getContext().slots;\r\n}\r\nfunction useAttrs() {\r\n return getContext().attrs;\r\n}\r\nfunction getContext() {\r\n const i = getCurrentInstance();\r\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\r\n warn$1(`useContext() called without active instance.`);\r\n }\r\n return i.setupContext || (i.setupContext = createSetupContext(i));\r\n}\r\nfunction normalizePropsOrEmits(props) {\r\n return isArray(props) ? props.reduce(\r\n (normalized, p) => (normalized[p] = null, normalized),\r\n {}\r\n ) : props;\r\n}\r\nfunction mergeDefaults(raw, defaults) {\r\n const props = normalizePropsOrEmits(raw);\r\n for (const key in defaults) {\r\n if (key.startsWith(\"__skip\"))\r\n continue;\r\n let opt = props[key];\r\n if (opt) {\r\n if (isArray(opt) || isFunction(opt)) {\r\n opt = props[key] = { type: opt, default: defaults[key] };\r\n } else {\r\n opt.default = defaults[key];\r\n }\r\n } else if (opt === null) {\r\n opt = props[key] = { default: defaults[key] };\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`props default key \"${key}\" has no corresponding declaration.`);\r\n }\r\n if (opt && defaults[`__skip_${key}`]) {\r\n opt.skipFactory = true;\r\n }\r\n }\r\n return props;\r\n}\r\nfunction mergeModels(a, b) {\r\n if (!a || !b)\r\n return a || b;\r\n if (isArray(a) && isArray(b))\r\n return a.concat(b);\r\n return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));\r\n}\r\nfunction createPropsRestProxy(props, excludedKeys) {\r\n const ret = {};\r\n for (const key in props) {\r\n if (!excludedKeys.includes(key)) {\r\n Object.defineProperty(ret, key, {\r\n enumerable: true,\r\n get: () => props[key]\r\n });\r\n }\r\n }\r\n return ret;\r\n}\r\nfunction withAsyncContext(getAwaitable) {\r\n const ctx = getCurrentInstance();\r\n if (!!(process.env.NODE_ENV !== \"production\") && !ctx) {\r\n warn$1(\r\n `withAsyncContext called without active current instance. This is likely a bug.`\r\n );\r\n }\r\n let awaitable = getAwaitable();\r\n unsetCurrentInstance();\r\n if (isPromise(awaitable)) {\r\n awaitable = awaitable.catch((e) => {\r\n setCurrentInstance(ctx);\r\n throw e;\r\n });\r\n }\r\n return [awaitable, () => setCurrentInstance(ctx)];\r\n}\r\n\r\nfunction createDuplicateChecker() {\r\n const cache = /* @__PURE__ */ Object.create(null);\r\n return (type, key) => {\r\n if (cache[key]) {\r\n warn$1(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\r\n } else {\r\n cache[key] = type;\r\n }\r\n };\r\n}\r\nlet shouldCacheAccess = true;\r\nfunction applyOptions$1(instance) {\r\n const options = resolveMergedOptions(instance);\r\n const publicThis = instance.proxy;\r\n const ctx = instance.ctx;\r\n shouldCacheAccess = false;\r\n if (options.beforeCreate) {\r\n callHook(options.beforeCreate, instance, \"bc\");\r\n }\r\n const {\r\n // state\r\n data: dataOptions,\r\n computed: computedOptions,\r\n methods,\r\n watch: watchOptions,\r\n provide: provideOptions,\r\n inject: injectOptions,\r\n // lifecycle\r\n created,\r\n beforeMount,\r\n mounted,\r\n beforeUpdate,\r\n updated,\r\n activated,\r\n deactivated,\r\n beforeDestroy,\r\n beforeUnmount,\r\n destroyed,\r\n unmounted,\r\n render,\r\n renderTracked,\r\n renderTriggered,\r\n errorCaptured,\r\n serverPrefetch,\r\n // public API\r\n expose,\r\n inheritAttrs,\r\n // assets\r\n components,\r\n directives,\r\n filters\r\n } = options;\r\n const checkDuplicateProperties = !!(process.env.NODE_ENV !== \"production\") ? createDuplicateChecker() : null;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const [propsOptions] = instance.propsOptions;\r\n if (propsOptions) {\r\n for (const key in propsOptions) {\r\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\r\n }\r\n }\r\n }\r\n function initInjections() {\r\n if (injectOptions) {\r\n resolveInjections(injectOptions, ctx, checkDuplicateProperties);\r\n }\r\n }\r\n if (!__VUE_CREATED_DEFERRED__) {\r\n initInjections();\r\n }\r\n if (methods) {\r\n for (const key in methods) {\r\n const methodHandler = methods[key];\r\n if (isFunction(methodHandler)) {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n Object.defineProperty(ctx, key, {\r\n value: methodHandler.bind(publicThis),\r\n configurable: true,\r\n enumerable: true,\r\n writable: true\r\n });\r\n } else {\r\n ctx[key] = methodHandler.bind(publicThis);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. Did you reference the function correctly?`\r\n );\r\n }\r\n }\r\n }\r\n if (dataOptions) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(dataOptions)) {\r\n warn$1(\r\n `The data option must be a function. Plain object usage is no longer supported.`\r\n );\r\n }\r\n const data = dataOptions.call(publicThis, publicThis);\r\n if (!!(process.env.NODE_ENV !== \"production\") && isPromise(data)) {\r\n warn$1(\r\n `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`\r\n );\r\n }\r\n if (!isObject(data)) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`data() should return an object.`);\r\n } else {\r\n instance.data = reactive(data);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n for (const key in data) {\r\n checkDuplicateProperties(\"Data\" /* DATA */, key);\r\n if (!isReservedPrefix(key[0])) {\r\n Object.defineProperty(ctx, key, {\r\n configurable: true,\r\n enumerable: true,\r\n get: () => data[key],\r\n set: NOOP\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n shouldCacheAccess = true;\r\n if (computedOptions) {\r\n for (const key in computedOptions) {\r\n const opt = computedOptions[key];\r\n const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;\r\n if (!!(process.env.NODE_ENV !== \"production\") && get === NOOP) {\r\n warn$1(`Computed property \"${key}\" has no getter.`);\r\n }\r\n const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== \"production\") ? () => {\r\n warn$1(\r\n `Write operation failed: computed property \"${key}\" is readonly.`\r\n );\r\n } : NOOP;\r\n const c = computed({\r\n get,\r\n set\r\n });\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => c.value,\r\n set: (v) => c.value = v\r\n });\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\r\n }\r\n }\r\n }\r\n if (watchOptions) {\r\n for (const key in watchOptions) {\r\n createWatcher(watchOptions[key], ctx, publicThis, key);\r\n }\r\n }\r\n function initProvides() {\r\n if (provideOptions) {\r\n const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;\r\n Reflect.ownKeys(provides).forEach((key) => {\r\n provide(key, provides[key]);\r\n });\r\n }\r\n }\r\n if (!__VUE_CREATED_DEFERRED__) {\r\n initProvides();\r\n }\r\n if (__VUE_CREATED_DEFERRED__) {\r\n let callCreatedHook2 = function() {\r\n initInjections();\r\n initProvides();\r\n if (created) {\r\n callHook(created, instance, \"c\");\r\n }\r\n instance.update();\r\n };\r\n ctx.$callCreatedHook = function(name) {\r\n const reset = setCurrentInstance(instance);\r\n pauseTracking();\r\n try {\r\n callCreatedHook2();\r\n } finally {\r\n resetTracking();\r\n reset();\r\n }\r\n };\r\n } else {\r\n if (created) {\r\n callHook(created, instance, \"c\");\r\n }\r\n }\r\n function registerLifecycleHook(register, hook) {\r\n if (isArray(hook)) {\r\n hook.forEach((_hook) => register(_hook.bind(publicThis)));\r\n } else if (hook) {\r\n register(hook.bind(publicThis));\r\n }\r\n }\r\n registerLifecycleHook(onBeforeMount, beforeMount);\r\n registerLifecycleHook(onMounted, mounted);\r\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\r\n registerLifecycleHook(onUpdated, updated);\r\n registerLifecycleHook(onActivated, activated);\r\n registerLifecycleHook(onDeactivated, deactivated);\r\n registerLifecycleHook(onErrorCaptured, errorCaptured);\r\n registerLifecycleHook(onRenderTracked, renderTracked);\r\n registerLifecycleHook(onRenderTriggered, renderTriggered);\r\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\r\n registerLifecycleHook(onUnmounted, unmounted);\r\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\r\n if (isArray(expose)) {\r\n if (expose.length) {\r\n const exposed = instance.exposed || (instance.exposed = {});\r\n expose.forEach((key) => {\r\n Object.defineProperty(exposed, key, {\r\n get: () => publicThis[key],\r\n set: (val) => publicThis[key] = val\r\n });\r\n });\r\n } else if (!instance.exposed) {\r\n instance.exposed = {};\r\n }\r\n }\r\n if (render && instance.render === NOOP) {\r\n instance.render = render;\r\n }\r\n if (inheritAttrs != null) {\r\n instance.inheritAttrs = inheritAttrs;\r\n }\r\n if (components)\r\n instance.components = components;\r\n if (directives)\r\n instance.directives = directives;\r\n if (instance.ctx.$onApplyOptions) {\r\n instance.ctx.$onApplyOptions(options, instance, publicThis);\r\n }\r\n}\r\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {\r\n if (isArray(injectOptions)) {\r\n injectOptions = normalizeInject(injectOptions);\r\n }\r\n for (const key in injectOptions) {\r\n const opt = injectOptions[key];\r\n let injected;\r\n if (isObject(opt)) {\r\n if (\"default\" in opt) {\r\n injected = inject(\r\n opt.from || key,\r\n opt.default,\r\n true\r\n );\r\n } else {\r\n injected = inject(opt.from || key);\r\n }\r\n } else {\r\n injected = inject(opt);\r\n }\r\n if (isRef(injected)) {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => injected.value,\r\n set: (v) => injected.value = v\r\n });\r\n } else {\r\n ctx[key] = injected;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\r\n }\r\n }\r\n}\r\nfunction callHook(hook, instance, type) {\r\n callWithAsyncErrorHandling(\r\n isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),\r\n instance,\r\n type\r\n );\r\n}\r\nfunction createWatcher(raw, ctx, publicThis, key) {\r\n const getter = key.includes(\".\") ? createPathGetter(publicThis, key) : () => publicThis[key];\r\n if (isString(raw)) {\r\n const handler = ctx[raw];\r\n if (isFunction(handler)) {\r\n watch(getter, handler);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid watch handler specified by key \"${raw}\"`, handler);\r\n }\r\n } else if (isFunction(raw)) {\r\n watch(getter, raw.bind(publicThis));\r\n } else if (isObject(raw)) {\r\n if (isArray(raw)) {\r\n raw.forEach((r) => createWatcher(r, ctx, publicThis, key));\r\n } else {\r\n const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];\r\n if (isFunction(handler)) {\r\n watch(getter, handler, raw);\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\r\n }\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid watch option: \"${key}\"`, raw);\r\n }\r\n}\r\nfunction resolveMergedOptions(instance) {\r\n const base = instance.type;\r\n const { mixins, extends: extendsOptions } = base;\r\n const {\r\n mixins: globalMixins,\r\n optionsCache: cache,\r\n config: { optionMergeStrategies }\r\n } = instance.appContext;\r\n const cached = cache.get(base);\r\n let resolved;\r\n if (cached) {\r\n resolved = cached;\r\n } else if (!globalMixins.length && !mixins && !extendsOptions) {\r\n {\r\n resolved = base;\r\n }\r\n } else {\r\n resolved = {};\r\n if (globalMixins.length) {\r\n globalMixins.forEach(\r\n (m) => mergeOptions(resolved, m, optionMergeStrategies, true)\r\n );\r\n }\r\n mergeOptions(resolved, base, optionMergeStrategies);\r\n }\r\n if (isObject(base)) {\r\n cache.set(base, resolved);\r\n }\r\n return resolved;\r\n}\r\nfunction mergeOptions(to, from, strats, asMixin = false) {\r\n const { mixins, extends: extendsOptions } = from;\r\n if (extendsOptions) {\r\n mergeOptions(to, extendsOptions, strats, true);\r\n }\r\n if (mixins) {\r\n mixins.forEach(\r\n (m) => mergeOptions(to, m, strats, true)\r\n );\r\n }\r\n for (const key in from) {\r\n if (asMixin && key === \"expose\") {\r\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\r\n `\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`\r\n );\r\n } else {\r\n const strat = internalOptionMergeStrats[key] || strats && strats[key];\r\n to[key] = strat ? strat(to[key], from[key]) : from[key];\r\n }\r\n }\r\n return to;\r\n}\r\nconst internalOptionMergeStrats = {\r\n data: mergeDataFn,\r\n props: mergeEmitsOrPropsOptions,\r\n emits: mergeEmitsOrPropsOptions,\r\n // objects\r\n methods: mergeObjectOptions,\r\n computed: mergeObjectOptions,\r\n // lifecycle\r\n beforeCreate: mergeAsArray$1,\r\n created: mergeAsArray$1,\r\n beforeMount: mergeAsArray$1,\r\n mounted: mergeAsArray$1,\r\n beforeUpdate: mergeAsArray$1,\r\n updated: mergeAsArray$1,\r\n beforeDestroy: mergeAsArray$1,\r\n beforeUnmount: mergeAsArray$1,\r\n destroyed: mergeAsArray$1,\r\n unmounted: mergeAsArray$1,\r\n activated: mergeAsArray$1,\r\n deactivated: mergeAsArray$1,\r\n errorCaptured: mergeAsArray$1,\r\n serverPrefetch: mergeAsArray$1,\r\n // assets\r\n components: mergeObjectOptions,\r\n directives: mergeObjectOptions,\r\n // watch\r\n watch: mergeWatchOptions,\r\n // provide / inject\r\n provide: mergeDataFn,\r\n inject: mergeInject\r\n};\r\nfunction mergeDataFn(to, from) {\r\n if (!from) {\r\n return to;\r\n }\r\n if (!to) {\r\n return from;\r\n }\r\n return function mergedDataFn() {\r\n return (extend)(\r\n isFunction(to) ? to.call(this, this) : to,\r\n isFunction(from) ? from.call(this, this) : from\r\n );\r\n };\r\n}\r\nfunction mergeInject(to, from) {\r\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\r\n}\r\nfunction normalizeInject(raw) {\r\n if (isArray(raw)) {\r\n const res = {};\r\n for (let i = 0; i < raw.length; i++) {\r\n res[raw[i]] = raw[i];\r\n }\r\n return res;\r\n }\r\n return raw;\r\n}\r\nfunction mergeAsArray$1(to, from) {\r\n return to ? [...new Set([].concat(to, from))] : from;\r\n}\r\nfunction mergeObjectOptions(to, from) {\r\n return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;\r\n}\r\nfunction mergeEmitsOrPropsOptions(to, from) {\r\n if (to) {\r\n if (isArray(to) && isArray(from)) {\r\n return [.../* @__PURE__ */ new Set([...to, ...from])];\r\n }\r\n return extend(\r\n /* @__PURE__ */ Object.create(null),\r\n normalizePropsOrEmits(to),\r\n normalizePropsOrEmits(from != null ? from : {})\r\n );\r\n } else {\r\n return from;\r\n }\r\n}\r\nfunction mergeWatchOptions(to, from) {\r\n if (!to)\r\n return from;\r\n if (!from)\r\n return to;\r\n const merged = extend(/* @__PURE__ */ Object.create(null), to);\r\n for (const key in from) {\r\n merged[key] = mergeAsArray$1(to[key], from[key]);\r\n }\r\n return merged;\r\n}\r\n\r\nfunction initProps(instance, rawProps, isStateful, isSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n instance.propsDefaults = /* @__PURE__ */ Object.create(null);\r\n setFullProps(instance, rawProps, props, attrs);\r\n for (const key in instance.propsOptions[0]) {\r\n if (!(key in props)) {\r\n props[key] = void 0;\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n if (isStateful) {\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n } else {\r\n if (!instance.type.props) {\r\n instance.props = attrs;\r\n } else {\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction isInHmrContext(instance) {\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const {\r\n props,\r\n attrs,\r\n vnode: { patchFlag }\r\n } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !(!!(process.env.NODE_ENV !== \"production\") && isInHmrContext()) && (optimized || patchFlag > 0) && !(patchFlag & 16)\r\n ) {\r\n if (patchFlag & 8) {\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n let key = propsToUpdate[i];\r\n if (isEmitListener(instance.emitsOptions, key)) {\r\n continue;\r\n }\r\n const value = rawProps[key];\r\n if (options) {\r\n if (hasOwn(attrs, key)) {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n } else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(\r\n options,\r\n rawCurrentProps,\r\n camelizedKey,\r\n value,\r\n instance,\r\n false\r\n );\r\n }\r\n } else {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (setFullProps(instance, rawProps, props, attrs)) {\r\n hasAttrsChanged = true;\r\n }\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps || // for camelCase\r\n !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {\r\n if (options) {\r\n if (rawPrevProps && // for camelCase\r\n (rawPrevProps[key] !== void 0 || // for kebab-case\r\n rawPrevProps[kebabKey] !== void 0)) {\r\n props[key] = resolvePropValue(\r\n options,\r\n rawCurrentProps,\r\n key,\r\n void 0,\r\n instance,\r\n true\r\n );\r\n }\r\n } else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps || !hasOwn(rawProps, key) && true) {\r\n delete attrs[key];\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n if (hasAttrsChanged) {\r\n trigger(instance, \"set\", \"$attrs\");\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n let rawCastValues;\r\n if (rawProps) {\r\n for (let key in rawProps) {\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n const value = rawProps[key];\r\n let camelKey;\r\n if (options && hasOwn(options, camelKey = camelize(key))) {\r\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\r\n props[camelKey] = value;\r\n } else {\r\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\r\n }\r\n } else if (!isEmitListener(instance.emitsOptions, key)) {\r\n if (!(key in attrs) || value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n const castValues = rawCastValues || EMPTY_OBJ;\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(\r\n options,\r\n rawCurrentProps,\r\n key,\r\n castValues[key],\r\n instance,\r\n !hasOwn(castValues, key)\r\n );\r\n }\r\n }\r\n return hasAttrsChanged;\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, \"default\");\r\n if (hasDefault && value === void 0) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {\r\n const { propsDefaults } = instance;\r\n if (key in propsDefaults) {\r\n value = propsDefaults[key];\r\n } else {\r\n const reset = setCurrentInstance(instance);\r\n value = propsDefaults[key] = defaultValue.call(\r\n null,\r\n props\r\n );\r\n reset();\r\n }\r\n } else {\r\n value = defaultValue;\r\n }\r\n }\r\n if (opt[0 /* shouldCast */]) {\r\n if (isAbsent && !hasDefault) {\r\n value = false;\r\n } else if (opt[1 /* shouldCastTrue */] && (value === \"\" || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.propsCache;\r\n const cached = cache.get(comp);\r\n if (cached) {\r\n return cached;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw2) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw2, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n if (isObject(comp)) {\r\n cache.set(comp, EMPTY_ARR);\r\n }\r\n return EMPTY_ARR;\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isString(raw[i])) {\r\n warn$1(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n } else if (raw) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(raw)) {\r\n warn$1(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;\r\n if (booleanIndex > -1 || hasOwn(prop, \"default\")) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const res = [normalized, needCastKeys];\r\n if (isObject(comp)) {\r\n cache.set(comp, res);\r\n }\r\n return res;\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== \"$\" && !isReservedProp(key)) {\r\n return true;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\nfunction getType(ctor) {\r\n if (ctor === null) {\r\n return \"null\";\r\n }\r\n if (typeof ctor === \"function\") {\r\n return ctor.name || \"\";\r\n } else if (typeof ctor === \"object\") {\r\n const name = ctor.constructor && ctor.constructor.name;\r\n return name || \"\";\r\n }\r\n return \"\";\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n return expectedTypes.findIndex((t) => isSameType(t, type));\r\n } else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\nfunction validateProps(rawProps, props, instance) {\r\n const resolvedValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(\r\n key,\r\n resolvedValues[key],\r\n opt,\r\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(resolvedValues) : resolvedValues,\r\n !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))\r\n );\r\n }\r\n}\r\nfunction validateProp(name, value, prop, props, isAbsent) {\r\n const { type, required, validator, skipCheck } = prop;\r\n if (required && isAbsent) {\r\n warn$1('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n if (value == null && !required) {\r\n return;\r\n }\r\n if (type != null && type !== true && !skipCheck) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || \"\");\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn$1(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n if (validator && !validator(value, props)) {\r\n warn$1('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /* @__PURE__ */ makeMap(\r\n \"String,Number,Boolean,Function,Symbol,BigInt\"\r\n);\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n if (!valid && t === \"object\") {\r\n valid = value instanceof type;\r\n }\r\n } else if (expectedType === \"Object\") {\r\n valid = isObject(value);\r\n } else if (expectedType === \"Array\") {\r\n valid = isArray(value);\r\n } else if (expectedType === \"null\") {\r\n valid = value === null;\r\n } else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n if (expectedTypes.length === 0) {\r\n return `Prop type [] for prop \"${name}\" won't match anything. Did you mean to use type Array instead?`;\r\n }\r\n let message = `Invalid prop: type check failed for prop \"${name}\". Expected ${expectedTypes.map(capitalize).join(\" | \")}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\nfunction styleValue(value, type) {\r\n if (type === \"String\") {\r\n return `\"${value}\"`;\r\n } else if (type === \"Number\") {\r\n return `${Number(value)}`;\r\n } else {\r\n return `${value}`;\r\n }\r\n}\r\nfunction isExplicable(type) {\r\n const explicitTypes = [\"string\", \"number\", \"boolean\"];\r\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\r\n}\r\nfunction isBoolean(...args) {\r\n return args.some((elem) => elem.toLowerCase() === \"boolean\");\r\n}\r\n\r\nlet supported;\r\nlet perf;\r\nfunction startMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n perf.mark(`vue-${type}-${instance.uid}`);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());\r\n }\r\n}\r\nfunction endMeasure(instance, type) {\r\n if (instance.appContext.config.performance && isSupported()) {\r\n const startTag = `vue-${type}-${instance.uid}`;\r\n const endTag = startTag + `:end`;\r\n perf.mark(endTag);\r\n perf.measure(\r\n `<${formatComponentName(instance, instance.type)}> ${type}`,\r\n startTag,\r\n endTag\r\n );\r\n perf.clearMarks(startTag);\r\n perf.clearMarks(endTag);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());\r\n }\r\n}\r\nfunction isSupported() {\r\n if (supported !== void 0) {\r\n return supported;\r\n }\r\n if (typeof window !== \"undefined\" && window.performance) {\r\n supported = true;\r\n perf = window.performance;\r\n } else {\r\n supported = false;\r\n }\r\n return supported;\r\n}\r\n\r\nconst queuePostRenderEffect$1 = queuePostFlushCb;\r\n\r\nconst isTeleport = (type) => type.__isTeleport;\r\n\r\nconst Fragment = Symbol.for(\"v-fgt\");\r\nconst Text = Symbol.for(\"v-txt\");\r\nconst Comment = Symbol.for(\"v-cmt\");\r\nconst Static = Symbol.for(\"v-stc\");\r\nlet currentBlock = null;\r\nlet isBlockTreeEnabled = 1;\r\nfunction setBlockTracking(value) {\r\n isBlockTreeEnabled += value;\r\n}\r\nfunction isVNode(value) {\r\n return value ? value.__v_isVNode === true : false;\r\n}\r\nconst createVNodeWithArgsTransform = (...args) => {\r\n return _createVNode(\r\n ...args\r\n );\r\n};\r\nconst InternalObjectKey = `__vInternal`;\r\nconst normalizeKey = ({ key }) => key != null ? key : null;\r\nconst normalizeRef = ({\r\n ref,\r\n ref_key,\r\n ref_for\r\n}) => {\r\n if (typeof ref === \"number\") {\r\n ref = \"\" + ref;\r\n }\r\n return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;\r\n};\r\nfunction createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {\r\n const vnode = {\r\n __v_isVNode: true,\r\n __v_skip: true,\r\n type,\r\n props,\r\n key: props && normalizeKey(props),\r\n ref: props && normalizeRef(props),\r\n scopeId: currentScopeId,\r\n slotScopeIds: null,\r\n children,\r\n component: null,\r\n suspense: null,\r\n ssContent: null,\r\n ssFallback: null,\r\n dirs: null,\r\n transition: null,\r\n el: null,\r\n anchor: null,\r\n target: null,\r\n targetAnchor: null,\r\n staticCount: 0,\r\n shapeFlag,\r\n patchFlag,\r\n dynamicProps,\r\n dynamicChildren: null,\r\n appContext: null,\r\n ctx: currentRenderingInstance\r\n };\r\n if (needFullChildrenNormalization) {\r\n normalizeChildren(vnode, children);\r\n } else if (children) {\r\n vnode.shapeFlag |= isString(children) ? 8 : 16;\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.key !== vnode.key) {\r\n warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);\r\n }\r\n if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself\r\n !isBlockNode && // has current parent block\r\n currentBlock && // presence of a patch flag indicates this node needs patching on updates.\r\n // component nodes also should always be patched, because even if the\r\n // component doesn't need to update, it needs to persist the instance on to\r\n // the next vnode so that it can be properly unmounted later.\r\n (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the\r\n // vnode should not be considered dynamic due to handler caching.\r\n vnode.patchFlag !== 32) {\r\n currentBlock.push(vnode);\r\n }\r\n return vnode;\r\n}\r\nconst createVNode$1 = !!(process.env.NODE_ENV !== \"production\") ? createVNodeWithArgsTransform : _createVNode;\r\nfunction _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {\r\n if (!type || type === NULL_DYNAMIC_COMPONENT) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && !type) {\r\n warn$1(`Invalid vnode type when creating vnode: ${type}.`);\r\n }\r\n type = Comment;\r\n }\r\n if (isVNode(type)) {\r\n const cloned = cloneVNode(\r\n type,\r\n props,\r\n true\r\n /* mergeRef: true */\r\n );\r\n if (children) {\r\n normalizeChildren(cloned, children);\r\n }\r\n if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {\r\n if (cloned.shapeFlag & 6) {\r\n currentBlock[currentBlock.indexOf(type)] = cloned;\r\n } else {\r\n currentBlock.push(cloned);\r\n }\r\n }\r\n cloned.patchFlag |= -2;\r\n return cloned;\r\n }\r\n if (isClassComponent(type)) {\r\n type = type.__vccOpts;\r\n }\r\n if (props) {\r\n props = guardReactiveProps(props);\r\n let { class: klass, style } = props;\r\n if (klass && !isString(klass)) {\r\n props.class = normalizeClass(klass);\r\n }\r\n if (isObject(style)) {\r\n if (isProxy(style) && !isArray(style)) {\r\n style = extend({}, style);\r\n }\r\n props.style = normalizeStyle(style);\r\n }\r\n }\r\n const shapeFlag = isString(type) ? 1 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;\r\n if (!!(process.env.NODE_ENV !== \"production\") && shapeFlag & 4 && isProxy(type)) {\r\n type = toRaw(type);\r\n warn$1(\r\n `Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \\`markRaw\\` or using \\`shallowRef\\` instead of \\`ref\\`.`,\r\n `\r\nComponent that was made reactive: `,\r\n type\r\n );\r\n }\r\n return createBaseVNode(\r\n type,\r\n props,\r\n children,\r\n patchFlag,\r\n dynamicProps,\r\n shapeFlag,\r\n isBlockNode,\r\n true\r\n );\r\n}\r\nfunction guardReactiveProps(props) {\r\n if (!props)\r\n return null;\r\n return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;\r\n}\r\nfunction cloneVNode(vnode, extraProps, mergeRef = false) {\r\n const { props, ref, patchFlag, children } = vnode;\r\n const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;\r\n const cloned = {\r\n __v_isVNode: true,\r\n __v_skip: true,\r\n type: vnode.type,\r\n props: mergedProps,\r\n key: mergedProps && normalizeKey(mergedProps),\r\n ref: extraProps && extraProps.ref ? (\r\n // #2078 in the case of <component :is=\"vnode\" ref=\"extra\"/>\r\n // if the vnode itself already has a ref, cloneVNode will need to merge\r\n // the refs so the single vnode can be set on multiple refs\r\n mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)\r\n ) : ref,\r\n scopeId: vnode.scopeId,\r\n slotScopeIds: vnode.slotScopeIds,\r\n children: !!(process.env.NODE_ENV !== \"production\") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,\r\n target: vnode.target,\r\n targetAnchor: vnode.targetAnchor,\r\n staticCount: vnode.staticCount,\r\n shapeFlag: vnode.shapeFlag,\r\n // if the vnode is cloned with extra props, we can no longer assume its\r\n // existing patch flag to be reliable and need to add the FULL_PROPS flag.\r\n // note: preserve flag for fragments since they use the flag for children\r\n // fast paths only.\r\n patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,\r\n dynamicProps: vnode.dynamicProps,\r\n dynamicChildren: vnode.dynamicChildren,\r\n appContext: vnode.appContext,\r\n dirs: vnode.dirs,\r\n transition: vnode.transition,\r\n // These should technically only be non-null on mounted VNodes. However,\r\n // they *should* be copied for kept-alive vnodes. So we just always copy\r\n // them since them being non-null during a mount doesn't affect the logic as\r\n // they will simply be overwritten.\r\n component: vnode.component,\r\n suspense: vnode.suspense,\r\n ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),\r\n ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),\r\n el: vnode.el,\r\n anchor: vnode.anchor,\r\n ctx: vnode.ctx,\r\n ce: vnode.ce\r\n };\r\n return cloned;\r\n}\r\nfunction deepCloneVNode(vnode) {\r\n const cloned = cloneVNode(vnode);\r\n if (isArray(vnode.children)) {\r\n cloned.children = vnode.children.map(deepCloneVNode);\r\n }\r\n return cloned;\r\n}\r\nfunction createTextVNode(text = \" \", flag = 0) {\r\n return createVNode$1(Text, null, text, flag);\r\n}\r\nfunction normalizeChildren(vnode, children) {\r\n let type = 0;\r\n const { shapeFlag } = vnode;\r\n if (children == null) {\r\n children = null;\r\n } else if (isArray(children)) {\r\n type = 16;\r\n } else if (typeof children === \"object\") {\r\n if (shapeFlag & (1 | 64)) {\r\n const slot = children.default;\r\n if (slot) {\r\n slot._c && (slot._d = false);\r\n normalizeChildren(vnode, slot());\r\n slot._c && (slot._d = true);\r\n }\r\n return;\r\n } else {\r\n type = 32;\r\n const slotFlag = children._;\r\n if (!slotFlag && !(InternalObjectKey in children)) {\r\n children._ctx = currentRenderingInstance;\r\n } else if (slotFlag === 3 && currentRenderingInstance) {\r\n if (currentRenderingInstance.slots._ === 1) {\r\n children._ = 1;\r\n } else {\r\n children._ = 2;\r\n vnode.patchFlag |= 1024;\r\n }\r\n }\r\n }\r\n } else if (isFunction(children)) {\r\n children = { default: children, _ctx: currentRenderingInstance };\r\n type = 32;\r\n } else {\r\n children = String(children);\r\n if (shapeFlag & 64) {\r\n type = 16;\r\n children = [createTextVNode(children)];\r\n } else {\r\n type = 8;\r\n }\r\n }\r\n vnode.children = children;\r\n vnode.shapeFlag |= type;\r\n}\r\nfunction mergeProps(...args) {\r\n const ret = {};\r\n for (let i = 0; i < args.length; i++) {\r\n const toMerge = args[i];\r\n for (const key in toMerge) {\r\n if (key === \"class\") {\r\n if (ret.class !== toMerge.class) {\r\n ret.class = normalizeClass([ret.class, toMerge.class]);\r\n }\r\n } else if (key === \"style\") {\r\n ret.style = normalizeStyle([ret.style, toMerge.style]);\r\n } else if (isOn(key)) {\r\n const existing = ret[key];\r\n const incoming = toMerge[key];\r\n if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {\r\n ret[key] = existing ? [].concat(existing, incoming) : incoming;\r\n }\r\n } else if (key !== \"\") {\r\n ret[key] = toMerge[key];\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\nconst emptyAppContext = createAppContext();\r\nlet uid = 0;\r\nfunction createComponentInstance(vnode, parent, suspense) {\r\n const type = vnode.type;\r\n const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;\r\n const instance = {\r\n uid: uid++,\r\n vnode,\r\n type,\r\n parent,\r\n appContext,\r\n root: null,\r\n // to be immediately set\r\n next: null,\r\n subTree: null,\r\n // will be set synchronously right after creation\r\n effect: null,\r\n update: null,\r\n // will be set synchronously right after creation\r\n scope: new EffectScope(\r\n true\r\n /* detached */\r\n ),\r\n render: null,\r\n proxy: null,\r\n exposed: null,\r\n exposeProxy: null,\r\n withProxy: null,\r\n provides: parent ? parent.provides : Object.create(appContext.provides),\r\n accessCache: null,\r\n renderCache: [],\r\n // local resolved assets\r\n components: null,\r\n directives: null,\r\n // resolved props and emits options\r\n propsOptions: normalizePropsOptions(type, appContext),\r\n emitsOptions: normalizeEmitsOptions(type, appContext),\r\n // emit\r\n emit: null,\r\n // to be set immediately\r\n emitted: null,\r\n // props default value\r\n propsDefaults: EMPTY_OBJ,\r\n // inheritAttrs\r\n inheritAttrs: type.inheritAttrs,\r\n // state\r\n ctx: EMPTY_OBJ,\r\n data: EMPTY_OBJ,\r\n props: EMPTY_OBJ,\r\n attrs: EMPTY_OBJ,\r\n slots: EMPTY_OBJ,\r\n refs: EMPTY_OBJ,\r\n setupState: EMPTY_OBJ,\r\n setupContext: null,\r\n attrsProxy: null,\r\n slotsProxy: null,\r\n // suspense related\r\n suspense,\r\n suspenseId: suspense ? suspense.pendingId : 0,\r\n asyncDep: null,\r\n asyncResolved: false,\r\n // lifecycle hooks\r\n // not using enums here because it results in computed properties\r\n isMounted: false,\r\n isUnmounted: false,\r\n isDeactivated: false,\r\n bc: null,\r\n c: null,\r\n bm: null,\r\n m: null,\r\n bu: null,\r\n u: null,\r\n um: null,\r\n bum: null,\r\n da: null,\r\n a: null,\r\n rtg: null,\r\n rtc: null,\r\n ec: null,\r\n sp: null,\r\n // fixed by xxxxxx 用于存储uni-app的元素缓存\r\n $uniElements: /* @__PURE__ */ new Map(),\r\n $templateUniElementRefs: [],\r\n $templateUniElementStyles: {},\r\n $eS: {}\r\n };\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n instance.ctx = createDevRenderContext(instance);\r\n } else {\r\n instance.ctx = { _: instance };\r\n }\r\n instance.root = parent ? parent.root : instance;\r\n instance.emit = emit.bind(null, instance);\r\n if (vnode.ce) {\r\n vnode.ce(instance);\r\n }\r\n return instance;\r\n}\r\nlet currentInstance = null;\r\nconst getCurrentInstance = () => currentInstance || currentRenderingInstance;\r\nlet internalSetCurrentInstance;\r\nlet setInSSRSetupState;\r\n{\r\n internalSetCurrentInstance = (i) => {\r\n currentInstance = i;\r\n };\r\n setInSSRSetupState = (v) => {\r\n isInSSRComponentSetup = v;\r\n };\r\n}\r\nconst setCurrentInstance = (instance) => {\r\n const prev = currentInstance;\r\n internalSetCurrentInstance(instance);\r\n instance.scope.on();\r\n return () => {\r\n instance.scope.off();\r\n internalSetCurrentInstance(prev);\r\n };\r\n};\r\nconst unsetCurrentInstance = () => {\r\n currentInstance && currentInstance.scope.off();\r\n internalSetCurrentInstance(null);\r\n};\r\nconst isBuiltInTag = /* @__PURE__ */ makeMap(\"slot,component\");\r\nfunction validateComponentName(name, { isNativeTag }) {\r\n if (isBuiltInTag(name) || isNativeTag(name)) {\r\n warn$1(\r\n \"Do not use built-in or reserved HTML elements as component id: \" + name\r\n );\r\n }\r\n}\r\nfunction isStatefulComponent(instance) {\r\n return instance.vnode.shapeFlag & 4;\r\n}\r\nlet isInSSRComponentSetup = false;\r\nfunction setupComponent(instance, isSSR = false) {\r\n isSSR && setInSSRSetupState(isSSR);\r\n const {\r\n props\r\n /*, children*/\r\n } = instance.vnode;\r\n const isStateful = isStatefulComponent(instance);\r\n initProps(instance, props, isStateful, isSSR);\r\n const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;\r\n isSSR && setInSSRSetupState(false);\r\n return setupResult;\r\n}\r\nfunction setupStatefulComponent(instance, isSSR) {\r\n const Component = instance.type;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n if (Component.name) {\r\n validateComponentName(Component.name, instance.appContext.config);\r\n }\r\n if (Component.components) {\r\n const names = Object.keys(Component.components);\r\n for (let i = 0; i < names.length; i++) {\r\n validateComponentName(names[i], instance.appContext.config);\r\n }\r\n }\r\n if (Component.directives) {\r\n const names = Object.keys(Component.directives);\r\n for (let i = 0; i < names.length; i++) {\r\n validateDirectiveName(names[i]);\r\n }\r\n }\r\n if (Component.compilerOptions && isRuntimeOnly()) {\r\n warn$1(\r\n `\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`\r\n );\r\n }\r\n }\r\n instance.accessCache = /* @__PURE__ */ Object.create(null);\r\n instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n exposePropsOnRenderContext(instance);\r\n }\r\n const { setup } = Component;\r\n if (setup) {\r\n const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;\r\n const reset = setCurrentInstance(instance);\r\n pauseTracking();\r\n const setupResult = callWithErrorHandling(\r\n setup,\r\n instance,\r\n 0,\r\n [\r\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(instance.props) : instance.props,\r\n setupContext\r\n ]\r\n );\r\n resetTracking();\r\n reset();\r\n if (isPromise(setupResult)) {\r\n setupResult.then(unsetCurrentInstance, unsetCurrentInstance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warn$1(\r\n `setup() returned a Promise, but the version of Vue you are using does not support it yet.`\r\n );\r\n }\r\n } else {\r\n handleSetupResult(instance, setupResult, isSSR);\r\n }\r\n } else {\r\n finishComponentSetup(instance, isSSR);\r\n }\r\n}\r\nfunction handleSetupResult(instance, setupResult, isSSR) {\r\n if (isFunction(setupResult)) {\r\n {\r\n instance.render = setupResult;\r\n }\r\n } else if (isObject(setupResult)) {\r\n if (!!(process.env.NODE_ENV !== \"production\") && isVNode(setupResult)) {\r\n warn$1(\r\n `setup() should not return VNodes directly - return a render function instead.`\r\n );\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n instance.devtoolsRawSetupState = setupResult;\r\n }\r\n instance.setupState = proxyRefs(setupResult);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n exposeSetupStateOnRenderContext(instance);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupResult !== void 0) {\r\n warn$1(\r\n `setup() should return an object. Received: ${setupResult === null ? \"null\" : typeof setupResult}`\r\n );\r\n }\r\n finishComponentSetup(instance, isSSR);\r\n}\r\nlet compile;\r\nconst isRuntimeOnly = () => !compile;\r\nfunction finishComponentSetup(instance, isSSR, skipOptions) {\r\n const Component = instance.type;\r\n if (!instance.render) {\r\n instance.render = Component.render || NOOP;\r\n }\r\n if (__VUE_OPTIONS_API__ && true) {\r\n const reset = setCurrentInstance(instance);\r\n pauseTracking();\r\n try {\r\n applyOptions$1(instance);\r\n } finally {\r\n resetTracking();\r\n reset();\r\n }\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && !Component.render && instance.render === NOOP && !isSSR) {\r\n if (Component.template) {\r\n warn$1(\r\n `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\r\n );\r\n } else {\r\n warn$1(`Component is missing template or render function.`);\r\n }\r\n }\r\n}\r\nfunction getAttrsProxy(instance) {\r\n return instance.attrsProxy || (instance.attrsProxy = new Proxy(\r\n instance.attrs,\r\n !!(process.env.NODE_ENV !== \"production\") ? {\r\n get(target, key) {\r\n track(instance, \"get\", \"$attrs\");\r\n return target[key];\r\n },\r\n set() {\r\n warn$1(`setupContext.attrs is readonly.`);\r\n return false;\r\n },\r\n deleteProperty() {\r\n warn$1(`setupContext.attrs is readonly.`);\r\n return false;\r\n }\r\n } : {\r\n get(target, key) {\r\n track(instance, \"get\", \"$attrs\");\r\n return target[key];\r\n }\r\n }\r\n ));\r\n}\r\nfunction getSlotsProxy(instance) {\r\n return instance.slotsProxy || (instance.slotsProxy = new Proxy(instance.slots, {\r\n get(target, key) {\r\n track(instance, \"get\", \"$slots\");\r\n return target[key];\r\n }\r\n }));\r\n}\r\nfunction createSetupContext(instance) {\r\n const expose = (exposed) => {\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n if (instance.exposed) {\r\n warn$1(`expose() should be called only once per setup().`);\r\n }\r\n if (exposed != null) {\r\n let exposedType = typeof exposed;\r\n if (exposedType === \"object\") {\r\n if (isArray(exposed)) {\r\n exposedType = \"array\";\r\n } else if (isRef(exposed)) {\r\n exposedType = \"ref\";\r\n }\r\n }\r\n if (exposedType !== \"object\") {\r\n warn$1(\r\n `expose() should be passed a plain object, received ${exposedType}.`\r\n );\r\n }\r\n }\r\n }\r\n instance.exposed = exposed || {};\r\n };\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n return Object.freeze({\r\n get attrs() {\r\n return getAttrsProxy(instance);\r\n },\r\n get slots() {\r\n return getSlotsProxy(instance);\r\n },\r\n get emit() {\r\n return (event, ...args) => instance.emit(event, ...args);\r\n },\r\n expose\r\n });\r\n } else {\r\n return {\r\n get attrs() {\r\n return getAttrsProxy(instance);\r\n },\r\n slots: instance.slots,\r\n emit: instance.emit,\r\n expose\r\n };\r\n }\r\n}\r\nfunction getExposeProxy(instance) {\r\n if (instance.exposed) {\r\n return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {\r\n get(target, key) {\r\n if (key in target) {\r\n return target[key];\r\n }\r\n return instance.proxy[key];\r\n },\r\n has(target, key) {\r\n return key in target || key in publicPropertiesMap;\r\n }\r\n }));\r\n }\r\n}\r\nconst classifyRE = /(?:^|[-_])(\\w)/g;\r\nconst classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, \"\");\r\nfunction getComponentName(Component, includeInferred = true) {\r\n return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;\r\n}\r\nfunction formatComponentName(instance, Component, isRoot = false) {\r\n let name = getComponentName(Component);\r\n if (!name && Component.__file) {\r\n const match = Component.__file.match(/([^/\\\\]+)\\.\\w+$/);\r\n if (match) {\r\n name = match[1];\r\n }\r\n }\r\n if (!name && instance && instance.parent) {\r\n const inferFromRegistry = (registry) => {\r\n for (const key in registry) {\r\n if (registry[key] === Component) {\r\n return key;\r\n }\r\n }\r\n };\r\n name = inferFromRegistry(\r\n instance.components || instance.parent.type.components\r\n ) || inferFromRegistry(instance.appContext.components);\r\n }\r\n return name ? classify(name) : isRoot ? `App` : `Anonymous`;\r\n}\r\nfunction isClassComponent(value) {\r\n return isFunction(value) && \"__vccOpts\" in value;\r\n}\r\n\r\nconst computed = (getterOrOptions, debugOptions) => {\r\n const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n const i = getCurrentInstance();\r\n if (i && i.appContext.config.warnRecursiveComputed) {\r\n c._warnRecursive = true;\r\n }\r\n }\r\n return c;\r\n};\r\n\r\nfunction useModel(props, name, options = EMPTY_OBJ) {\r\n const i = getCurrentInstance();\r\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\r\n warn$1(`useModel() called without active instance.`);\r\n return ref();\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") && !i.propsOptions[0][name]) {\r\n warn$1(`useModel() called with prop \"${name}\" which is not declared.`);\r\n return ref();\r\n }\r\n const camelizedName = camelize(name);\r\n const hyphenatedName = hyphenate(name);\r\n const res = customRef((track, trigger) => {\r\n let localValue;\r\n watchSyncEffect(() => {\r\n const propValue = props[name];\r\n if (hasChanged(localValue, propValue)) {\r\n localValue = propValue;\r\n trigger();\r\n }\r\n });\r\n return {\r\n get() {\r\n track();\r\n return options.get ? options.get(localValue) : localValue;\r\n },\r\n set(value) {\r\n const rawProps = i.vnode.props;\r\n if (!(rawProps && // check if parent has passed v-model\r\n (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {\r\n localValue = value;\r\n trigger();\r\n }\r\n i.emit(`update:${name}`, options.set ? options.set(value) : value);\r\n }\r\n };\r\n });\r\n const modifierKey = name === \"modelValue\" ? \"modelModifiers\" : `${name}Modifiers`;\r\n res[Symbol.iterator] = () => {\r\n let i2 = 0;\r\n return {\r\n next() {\r\n if (i2 < 2) {\r\n return { value: i2++ ? props[modifierKey] || {} : res, done: false };\r\n } else {\r\n return { done: true };\r\n }\r\n }\r\n };\r\n };\r\n return res;\r\n}\r\n\r\nconst version = \"3.4.21\";\r\nconst warn = !!(process.env.NODE_ENV !== \"production\") ? warn$1 : NOOP;\r\nconst resolveFilter = null;\r\n\r\nfunction unwrapper(target) {\r\n return unref(target);\r\n}\r\nfunction defineAsyncComponent(source) {\r\n console.error(\"defineAsyncComponent is unsupported\");\r\n}\r\n\r\nconst ARRAYTYPE = \"[object Array]\";\r\nconst OBJECTTYPE = \"[object Object]\";\r\nfunction diff(current, pre) {\r\n const result = {};\r\n syncKeys(current, pre);\r\n _diff(current, pre, \"\", result);\r\n return result;\r\n}\r\nfunction syncKeys(current, pre) {\r\n current = unwrapper(current);\r\n if (current === pre)\r\n return;\r\n const rootCurrentType = toTypeString(current);\r\n const rootPreType = toTypeString(pre);\r\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\r\n for (let key in pre) {\r\n const currentValue = current[key];\r\n if (currentValue === void 0) {\r\n current[key] = null;\r\n } else {\r\n syncKeys(currentValue, pre[key]);\r\n }\r\n }\r\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\r\n if (current.length >= pre.length) {\r\n pre.forEach((item, index) => {\r\n syncKeys(current[index], item);\r\n });\r\n }\r\n }\r\n}\r\nfunction _diff(current, pre, path, result) {\r\n current = unwrapper(current);\r\n if (current === pre)\r\n return;\r\n const rootCurrentType = toTypeString(current);\r\n const rootPreType = toTypeString(pre);\r\n if (rootCurrentType == OBJECTTYPE) {\r\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\r\n setResult(result, path, current);\r\n } else {\r\n for (let key in current) {\r\n const currentValue = unwrapper(current[key]);\r\n const preValue = pre[key];\r\n const currentType = toTypeString(currentValue);\r\n const preType = toTypeString(preValue);\r\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\r\n if (currentValue != preValue) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n }\r\n } else if (currentType == ARRAYTYPE) {\r\n if (preType != ARRAYTYPE) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n } else {\r\n if (currentValue.length < preValue.length) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n } else {\r\n currentValue.forEach((item, index) => {\r\n _diff(\r\n item,\r\n preValue[index],\r\n (path == \"\" ? \"\" : path + \".\") + key + \"[\" + index + \"]\",\r\n result\r\n );\r\n });\r\n }\r\n }\r\n } else if (currentType == OBJECTTYPE) {\r\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\r\n setResult(\r\n result,\r\n (path == \"\" ? \"\" : path + \".\") + key,\r\n currentValue\r\n );\r\n } else {\r\n for (let subKey in currentValue) {\r\n _diff(\r\n currentValue[subKey],\r\n preValue[subKey],\r\n (path == \"\" ? \"\" : path + \".\") + key + \".\" + subKey,\r\n result\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (rootCurrentType == ARRAYTYPE) {\r\n if (rootPreType != ARRAYTYPE) {\r\n setResult(result, path, current);\r\n } else {\r\n if (current.length < pre.length) {\r\n setResult(result, path, current);\r\n } else {\r\n current.forEach((item, index) => {\r\n _diff(item, pre[index], path + \"[\" + index + \"]\", result);\r\n });\r\n }\r\n }\r\n } else {\r\n setResult(result, path, current);\r\n }\r\n}\r\nfunction setResult(result, k, v) {\r\n result[k] = v;\r\n}\r\n\r\nfunction hasComponentEffect(instance) {\r\n return queue.includes(instance.update);\r\n}\r\nfunction flushCallbacks(instance) {\r\n const ctx = instance.ctx;\r\n const callbacks = ctx.__next_tick_callbacks;\r\n if (callbacks && callbacks.length) {\r\n if (process.env.UNI_DEBUG) {\r\n const mpInstance = ctx.$scope;\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"]:flushCallbacks[\" + callbacks.length + \"]\"\r\n );\r\n }\r\n const copies = callbacks.slice(0);\r\n callbacks.length = 0;\r\n for (let i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\nfunction nextTick(instance, fn) {\r\n const ctx = instance.ctx;\r\n if (!ctx.__next_tick_pending && !hasComponentEffect(instance)) {\r\n if (process.env.UNI_DEBUG) {\r\n const mpInstance = ctx.$scope;\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"]:nextVueTick\"\r\n );\r\n }\r\n return nextTick$1(fn && fn.bind(instance.proxy));\r\n }\r\n if (process.env.UNI_DEBUG) {\r\n const mpInstance = ctx.$scope;\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"]:nextMPTick\"\r\n );\r\n }\r\n let _resolve;\r\n if (!ctx.__next_tick_callbacks) {\r\n ctx.__next_tick_callbacks = [];\r\n }\r\n ctx.__next_tick_callbacks.push(() => {\r\n if (fn) {\r\n callWithErrorHandling(\r\n fn.bind(instance.proxy),\r\n instance,\r\n 14\r\n );\r\n } else if (_resolve) {\r\n _resolve(instance.proxy);\r\n }\r\n });\r\n return new Promise((resolve) => {\r\n _resolve = resolve;\r\n });\r\n}\r\n\r\nfunction clone(src, seen) {\r\n src = unwrapper(src);\r\n const type = typeof src;\r\n if (type === \"object\" && src !== null) {\r\n let copy = seen.get(src);\r\n if (typeof copy !== \"undefined\") {\r\n return copy;\r\n }\r\n if (isArray(src)) {\r\n const len = src.length;\r\n copy = new Array(len);\r\n seen.set(src, copy);\r\n for (let i = 0; i < len; i++) {\r\n copy[i] = clone(src[i], seen);\r\n }\r\n } else {\r\n copy = {};\r\n seen.set(src, copy);\r\n for (const name in src) {\r\n if (hasOwn(src, name)) {\r\n copy[name] = clone(src[name], seen);\r\n }\r\n }\r\n }\r\n return copy;\r\n }\r\n if (type !== \"symbol\") {\r\n return src;\r\n }\r\n}\r\nfunction deepCopy(src) {\r\n return clone(src, typeof WeakMap !== \"undefined\" ? /* @__PURE__ */ new WeakMap() : /* @__PURE__ */ new Map());\r\n}\r\n\r\nfunction getMPInstanceData(instance, keys) {\r\n const data = instance.data;\r\n const ret = /* @__PURE__ */ Object.create(null);\r\n keys.forEach((key) => {\r\n ret[key] = data[key];\r\n });\r\n return ret;\r\n}\r\nfunction patch(instance, data, oldData) {\r\n if (!data) {\r\n return;\r\n }\r\n data = deepCopy(data);\r\n data.$eS = instance.$eS || {};\r\n const ctx = instance.ctx;\r\n const mpType = ctx.mpType;\r\n if (mpType === \"page\" || mpType === \"component\") {\r\n data.r0 = 1;\r\n const start = Date.now();\r\n const mpInstance = ctx.$scope;\r\n const keys = Object.keys(data);\r\n const diffData = diff(data, oldData || getMPInstanceData(mpInstance, keys));\r\n if (Object.keys(diffData).length) {\r\n if (process.env.UNI_DEBUG) {\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + instance.uid + \"][\\u8017\\u65F6\" + (Date.now() - start) + \"]\\u5DEE\\u91CF\\u66F4\\u65B0\",\r\n JSON.stringify(diffData)\r\n );\r\n }\r\n ctx.__next_tick_pending = true;\r\n mpInstance.setData(diffData, () => {\r\n ctx.__next_tick_pending = false;\r\n flushCallbacks(instance);\r\n });\r\n flushPreFlushCbs();\r\n } else {\r\n flushCallbacks(instance);\r\n }\r\n }\r\n}\r\n\r\nfunction initAppConfig(appConfig) {\r\n appConfig.globalProperties.$nextTick = function $nextTick(fn) {\r\n return nextTick(this.$, fn);\r\n };\r\n}\r\n\r\nfunction onApplyOptions(options, instance, publicThis) {\r\n instance.appContext.config.globalProperties.$applyOptions(\r\n options,\r\n instance,\r\n publicThis\r\n );\r\n const computedOptions = options.computed;\r\n if (computedOptions) {\r\n const keys = Object.keys(computedOptions);\r\n if (keys.length) {\r\n const ctx = instance.ctx;\r\n if (!ctx.$computedKeys) {\r\n ctx.$computedKeys = [];\r\n }\r\n ctx.$computedKeys.push(...keys);\r\n }\r\n }\r\n delete instance.ctx.$onApplyOptions;\r\n}\r\n\r\nfunction setRef$1(instance, isUnmount = false) {\r\n const {\r\n setupState,\r\n $templateRefs,\r\n $templateUniElementRefs,\r\n ctx: { $scope, $mpPlatform }\r\n } = instance;\r\n if ($mpPlatform === \"mp-alipay\") {\r\n return;\r\n }\r\n if (!$scope || !$templateRefs && !$templateUniElementRefs) {\r\n return;\r\n }\r\n if (isUnmount) {\r\n $templateRefs && $templateRefs.forEach(\r\n (templateRef) => setTemplateRef(templateRef, null, setupState)\r\n );\r\n $templateUniElementRefs && $templateUniElementRefs.forEach(\r\n (templateRef) => setTemplateRef(templateRef, null, setupState)\r\n );\r\n return;\r\n }\r\n const check = $mpPlatform === \"mp-baidu\" || $mpPlatform === \"mp-toutiao\";\r\n const doSetByRefs = (refs) => {\r\n if (refs.length === 0) {\r\n return [];\r\n }\r\n const mpComponents = (\r\n // 字节小程序 selectAllComponents 可能返回 null\r\n // https://github.com/dcloudio/uni-app/issues/3954\r\n ($scope.selectAllComponents(\".r\") || []).concat(\r\n $scope.selectAllComponents(\".r-i-f\") || []\r\n )\r\n );\r\n return refs.filter((templateRef) => {\r\n const refValue = findComponentPublicInstance(mpComponents, templateRef.i);\r\n if (check && refValue === null) {\r\n return true;\r\n }\r\n setTemplateRef(templateRef, refValue, setupState);\r\n return false;\r\n });\r\n };\r\n const doSet = () => {\r\n if ($templateRefs) {\r\n const refs = doSetByRefs($templateRefs);\r\n if (refs.length && instance.proxy && instance.proxy.$scope) {\r\n instance.proxy.$scope.setData({ r1: 1 }, () => {\r\n doSetByRefs(refs);\r\n });\r\n }\r\n }\r\n };\r\n if ($templateUniElementRefs && $templateUniElementRefs.length) {\r\n nextTick(instance, () => {\r\n $templateUniElementRefs.forEach((templateRef) => {\r\n if (isArray(templateRef.v)) {\r\n templateRef.v.forEach((v) => {\r\n setTemplateRef(templateRef, v, setupState);\r\n });\r\n } else {\r\n setTemplateRef(templateRef, templateRef.v, setupState);\r\n }\r\n });\r\n });\r\n }\r\n if ($scope._$setRef) {\r\n $scope._$setRef(doSet);\r\n } else {\r\n nextTick(instance, doSet);\r\n }\r\n}\r\nfunction toSkip(value) {\r\n if (isObject(value)) {\r\n markRaw(value);\r\n }\r\n return value;\r\n}\r\nfunction findComponentPublicInstance(mpComponents, id) {\r\n const mpInstance = mpComponents.find(\r\n (com) => com && (com.properties || com.props).uI === id\r\n );\r\n if (mpInstance) {\r\n const vm = mpInstance.$vm;\r\n if (vm) {\r\n return getExposeProxy(vm.$) || vm;\r\n }\r\n return toSkip(mpInstance);\r\n }\r\n return null;\r\n}\r\nfunction setTemplateRef({ r, f }, refValue, setupState) {\r\n if (isFunction(r)) {\r\n r(refValue, {});\r\n } else {\r\n const _isString = isString(r);\r\n const _isRef = isRef(r);\r\n if (_isString || _isRef) {\r\n if (f) {\r\n if (!_isRef) {\r\n return;\r\n }\r\n if (!isArray(r.value)) {\r\n r.value = [];\r\n }\r\n const existing = r.value;\r\n if (existing.indexOf(refValue) === -1) {\r\n existing.push(refValue);\r\n if (!refValue) {\r\n return;\r\n }\r\n if (refValue.$) {\r\n onBeforeUnmount(() => remove(existing, refValue), refValue.$);\r\n }\r\n }\r\n } else if (_isString) {\r\n if (hasOwn(setupState, r)) {\r\n setupState[r] = refValue;\r\n }\r\n } else if (isRef(r)) {\r\n r.value = refValue;\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRef(r);\r\n }\r\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\r\n warnRef(r);\r\n }\r\n }\r\n}\r\nfunction warnRef(ref) {\r\n warn(\"Invalid template ref type:\", ref, `(${typeof ref})`);\r\n}\r\n\r\nconst queuePostRenderEffect = queuePostFlushCb;\r\nfunction mountComponent(initialVNode, options) {\r\n const instance = initialVNode.component = createComponentInstance(initialVNode, options.parentComponent, null);\r\n if (__VUE_OPTIONS_API__) {\r\n instance.ctx.$onApplyOptions = onApplyOptions;\r\n instance.ctx.$children = [];\r\n }\r\n if (options.mpType === \"app\") {\r\n instance.render = NOOP;\r\n }\r\n if (options.onBeforeSetup) {\r\n options.onBeforeSetup(instance, options);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n pushWarningContext(initialVNode);\r\n startMeasure(instance, `mount`);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n startMeasure(instance, `init`);\r\n }\r\n setupComponent(instance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n endMeasure(instance, `init`);\r\n }\r\n if (__VUE_OPTIONS_API__) {\r\n if (options.parentComponent && instance.proxy) {\r\n options.parentComponent.ctx.$children.push(getExposeProxy(instance) || instance.proxy);\r\n }\r\n }\r\n setupRenderEffect(instance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n popWarningContext();\r\n endMeasure(instance, `mount`);\r\n }\r\n return instance.proxy;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === \"class\" || key === \"style\" || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nfunction renderComponentRoot(instance) {\r\n const {\r\n type: Component,\r\n vnode,\r\n proxy,\r\n withProxy,\r\n props,\r\n propsOptions: [propsOptions],\r\n slots,\r\n attrs,\r\n emit,\r\n render,\r\n renderCache,\r\n data,\r\n setupState,\r\n ctx,\r\n uid,\r\n appContext: {\r\n app: {\r\n config: {\r\n globalProperties: { pruneComponentPropsCache }\r\n }\r\n }\r\n },\r\n inheritAttrs\r\n } = instance;\r\n instance.$uniElementIds = /* @__PURE__ */ new Map();\r\n instance.$templateRefs = [];\r\n instance.$templateUniElementRefs = [];\r\n instance.$templateUniElementStyles = {};\r\n instance.$ei = 0;\r\n pruneComponentPropsCache(uid);\r\n instance.__counter = instance.__counter === 0 ? 1 : 0;\r\n let result;\r\n const prev = setCurrentRenderingInstance(instance);\r\n try {\r\n if (vnode.shapeFlag & 4) {\r\n fallthroughAttrs(inheritAttrs, props, propsOptions, attrs);\r\n const proxyToUse = withProxy || proxy;\r\n result = render.call(\r\n proxyToUse,\r\n proxyToUse,\r\n renderCache,\r\n props,\r\n setupState,\r\n data,\r\n ctx\r\n );\r\n } else {\r\n fallthroughAttrs(\r\n inheritAttrs,\r\n props,\r\n propsOptions,\r\n Component.props ? attrs : getFunctionalFallthrough(attrs)\r\n );\r\n const render2 = Component;\r\n result = render2.length > 1 ? render2(props, { attrs, slots, emit }) : render2(\r\n props,\r\n null\r\n /* we know it doesn't need it */\r\n );\r\n }\r\n } catch (err) {\r\n handleError(err, instance, 1);\r\n result = false;\r\n }\r\n setRef$1(instance);\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\nfunction fallthroughAttrs(inheritAttrs, props, propsOptions, fallthroughAttrs2) {\r\n if (props && fallthroughAttrs2 && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs2).filter(\r\n (key) => key !== \"class\" && key !== \"style\"\r\n );\r\n if (!keys.length) {\r\n return;\r\n }\r\n if (propsOptions && keys.some(isModelListener)) {\r\n keys.forEach((key) => {\r\n if (!isModelListener(key) || !(key.slice(9) in propsOptions)) {\r\n props[key] = fallthroughAttrs2[key];\r\n }\r\n });\r\n } else {\r\n keys.forEach((key) => props[key] = fallthroughAttrs2[key]);\r\n }\r\n }\r\n}\r\nconst updateComponentPreRender = (instance) => {\r\n pauseTracking();\r\n flushPreFlushCbs();\r\n resetTracking();\r\n};\r\nfunction componentUpdateScopedSlotsFn() {\r\n const scopedSlotsData = this.$scopedSlotsData;\r\n if (!scopedSlotsData || scopedSlotsData.length === 0) {\r\n return;\r\n }\r\n const start = Date.now();\r\n const mpInstance = this.ctx.$scope;\r\n const oldData = mpInstance.data;\r\n const diffData = /* @__PURE__ */ Object.create(null);\r\n scopedSlotsData.forEach(({ path, index, data }) => {\r\n const oldScopedSlotData = getValueByDataPath(oldData, path);\r\n const diffPath = isString(index) ? `${path}.${index}` : `${path}[${index}]`;\r\n if (typeof oldScopedSlotData === \"undefined\" || typeof oldScopedSlotData[index] === \"undefined\") {\r\n diffData[diffPath] = data;\r\n } else {\r\n const diffScopedSlotData = diff(\r\n data,\r\n oldScopedSlotData[index]\r\n );\r\n Object.keys(diffScopedSlotData).forEach((name) => {\r\n diffData[diffPath + \".\" + name] = diffScopedSlotData[name];\r\n });\r\n }\r\n });\r\n scopedSlotsData.length = 0;\r\n if (Object.keys(diffData).length) {\r\n if (process.env.UNI_DEBUG) {\r\n console.log(\r\n \"uni-app:[\" + +/* @__PURE__ */ new Date() + \"][\" + (mpInstance.is || mpInstance.route) + \"][\" + this.uid + \"][\\u8017\\u65F6\" + (Date.now() - start) + \"]\\u4F5C\\u7528\\u57DF\\u63D2\\u69FD\\u5DEE\\u91CF\\u66F4\\u65B0\",\r\n JSON.stringify(diffData)\r\n );\r\n }\r\n mpInstance.setData(diffData);\r\n }\r\n}\r\nfunction toggleRecurse({ effect, update }, allowed) {\r\n effect.allowRecurse = update.allowRecurse = allowed;\r\n}\r\nfunction setupRenderEffect(instance) {\r\n const updateScopedSlots = componentUpdateScopedSlotsFn.bind(\r\n instance\r\n );\r\n instance.$updateScopedSlots = () => nextTick$1(() => queueJob(updateScopedSlots));\r\n const componentUpdateFn = () => {\r\n if (!instance.isMounted) {\r\n onBeforeUnmount(() => {\r\n setRef$1(instance, true);\r\n }, instance);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n startMeasure(instance, `patch`);\r\n }\r\n patch(instance, renderComponentRoot(instance));\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n endMeasure(instance, `patch`);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentAdded(instance);\r\n }\r\n } else {\r\n const { next, bu, u } = instance;\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n pushWarningContext(next || instance.vnode);\r\n }\r\n toggleRecurse(instance, false);\r\n updateComponentPreRender();\r\n if (bu) {\r\n invokeArrayFns(bu);\r\n }\r\n toggleRecurse(instance, true);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n startMeasure(instance, `patch`);\r\n }\r\n patch(instance, renderComponentRoot(instance));\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n endMeasure(instance, `patch`);\r\n }\r\n if (u) {\r\n queuePostRenderEffect(u);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(instance);\r\n }\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n popWarningContext();\r\n }\r\n }\r\n };\r\n const effect = instance.effect = new ReactiveEffect(\r\n componentUpdateFn,\r\n NOOP,\r\n () => queueJob(update),\r\n instance.scope\r\n // track it in component's effect scope\r\n );\r\n const update = instance.update = () => {\r\n if (effect.dirty) {\r\n effect.run();\r\n }\r\n };\r\n update.id = instance.uid;\r\n toggleRecurse(instance, true);\r\n if (!!(process.env.NODE_ENV !== \"production\")) {\r\n effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;\r\n effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;\r\n update.ownerInstance = instance;\r\n }\r\n if (!__VUE_CREATED_DEFERRED__) {\r\n update();\r\n }\r\n}\r\nfunction unmountComponent(instance) {\r\n const { bum, scope, update, um } = instance;\r\n if (bum) {\r\n invokeArrayFns(bum);\r\n }\r\n if (__VUE_OPTIONS_API__) {\r\n const parentInstance = instance.parent;\r\n if (parentInstance) {\r\n const $children = parentInstance.ctx.$children;\r\n const target = getExposeProxy(instance) || instance.proxy;\r\n const index = $children.indexOf(target);\r\n if (index > -1) {\r\n $children.splice(index, 1);\r\n }\r\n }\r\n }\r\n scope.stop();\r\n if (update) {\r\n update.active = false;\r\n }\r\n if (um) {\r\n queuePostRenderEffect(um);\r\n }\r\n queuePostRenderEffect(() => {\r\n instance.isUnmounted = true;\r\n });\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentRemoved(instance);\r\n }\r\n}\r\nconst oldCreateApp = createAppAPI();\r\nfunction getTarget() {\r\n if (typeof window !== \"undefined\") {\r\n return window;\r\n }\r\n if (typeof globalThis !== \"undefined\") {\r\n return globalThis;\r\n }\r\n if (typeof global !== \"undefined\") {\r\n return global;\r\n }\r\n if (typeof my !== \"undefined\") {\r\n return my;\r\n }\r\n}\r\nfunction createVueApp(rootComponent, rootProps = null) {\r\n const target = getTarget();\r\n target.__VUE__ = true;\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);\r\n }\r\n const app = oldCreateApp(rootComponent, rootProps);\r\n const appContext = app._context;\r\n initAppConfig(appContext.config);\r\n const createVNode = (initialVNode) => {\r\n initialVNode.appContext = appContext;\r\n initialVNode.shapeFlag = 6;\r\n return initialVNode;\r\n };\r\n const createComponent = function createComponent2(initialVNode, options) {\r\n return mountComponent(createVNode(initialVNode), options);\r\n };\r\n const destroyComponent = function destroyComponent2(component) {\r\n return component && unmountComponent(component.$);\r\n };\r\n app.mount = function mount() {\r\n rootComponent.render = NOOP;\r\n const instance = mountComponent(\r\n createVNode({ type: rootComponent }),\r\n {\r\n mpType: \"app\",\r\n mpInstance: null,\r\n parentComponent: null,\r\n slots: [],\r\n props: null\r\n }\r\n );\r\n app._instance = instance.$;\r\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsInitApp(app, version);\r\n }\r\n instance.$app = app;\r\n instance.$createComponent = createComponent;\r\n instance.$destroyComponent = destroyComponent;\r\n appContext.$appInstance = instance;\r\n return instance;\r\n };\r\n app.unmount = function unmount() {\r\n warn(`Cannot unmount an app.`);\r\n };\r\n return app;\r\n}\r\n\r\nfunction useCssModule(name = \"$style\") {\r\n {\r\n const instance = getCurrentInstance();\r\n if (!instance) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssModule must be called inside setup()`);\r\n return EMPTY_OBJ;\r\n }\r\n const modules = instance.type.__cssModules;\r\n if (!modules) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS modules injected.`);\r\n return EMPTY_OBJ;\r\n }\r\n const mod = modules[name];\r\n if (!mod) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS module named \"${name}\".`);\r\n return EMPTY_OBJ;\r\n }\r\n return mod;\r\n }\r\n}\r\n\r\nfunction useCssVars(getter) {\r\n const instance = getCurrentInstance();\r\n if (!instance) {\r\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssVars is called without current active component instance.`);\r\n return;\r\n }\r\n initCssVarsRender(instance, getter);\r\n}\r\nfunction initCssVarsRender(instance, getter) {\r\n instance.ctx.__cssVars = () => {\r\n const vars = getter(instance.proxy);\r\n const cssVars = {};\r\n for (const key in vars) {\r\n cssVars[`--${key}`] = vars[key];\r\n }\r\n return cssVars;\r\n };\r\n}\r\n\r\nfunction withModifiers() {\r\n}\r\nfunction createVNode() {\r\n}\r\n\r\nfunction injectLifecycleHook(name, hook, publicThis, instance) {\r\n if (isFunction(hook)) {\r\n injectHook(name, hook.bind(publicThis), instance);\r\n }\r\n}\r\nfunction initHooks(options, instance, publicThis) {\r\n const mpType = options.mpType || publicThis.$mpType;\r\n if (!mpType || mpType === 'component') {\r\n // 仅 App,Page 类型支持在 options 中配置 on 生命周期,组件可以使用组合式 API 定义页面生命周期\r\n return;\r\n }\r\n Object.keys(options).forEach((name) => {\r\n if (isUniLifecycleHook(name, options[name], false)) {\r\n const hooks = options[name];\r\n if (isArray(hooks)) {\r\n hooks.forEach((hook) => injectLifecycleHook(name, hook, publicThis, instance));\r\n }\r\n else {\r\n injectLifecycleHook(name, hooks, publicThis, instance);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction applyOptions(options, instance, publicThis) {\r\n initHooks(options, instance, publicThis);\r\n}\r\n\r\nfunction set(target, key, val) {\r\n return (target[key] = val);\r\n}\r\nfunction $callMethod(method, ...args) {\r\n const fn = this[method];\r\n if (fn) {\r\n return fn(...args);\r\n }\r\n console.error(`method ${method} not found`);\r\n return null;\r\n}\r\n\r\nfunction createErrorHandler(app) {\r\n const userErrorHandler = app.config.errorHandler;\r\n return function errorHandler(err, instance, info) {\r\n if (userErrorHandler) {\r\n userErrorHandler(err, instance, info);\r\n }\r\n const appInstance = app._instance;\r\n if (!appInstance || !appInstance.proxy) {\r\n throw err;\r\n }\r\n if (appInstance[ON_ERROR]) {\r\n {\r\n appInstance.proxy.$callHook(ON_ERROR, err);\r\n }\r\n }\r\n else {\r\n logError(err, info, instance ? instance.$.vnode : null, false);\r\n }\r\n };\r\n}\r\nfunction mergeAsArray(to, from) {\r\n return to ? [...new Set([].concat(to, from))] : from;\r\n}\r\nfunction initOptionMergeStrategies(optionMergeStrategies) {\r\n UniLifecycleHooks.forEach((name) => {\r\n optionMergeStrategies[name] = mergeAsArray;\r\n });\r\n}\r\n\r\nlet realAtob;\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\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)) {\r\n 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;\r\n var result = '';\r\n var r1;\r\n var r2;\r\n var i = 0;\r\n for (; i < str.length;) {\r\n bitmap =\r\n (b64.indexOf(str.charAt(i++)) << 18) |\r\n (b64.indexOf(str.charAt(i++)) << 12) |\r\n ((r1 = b64.indexOf(str.charAt(i++))) << 6) |\r\n (r2 = b64.indexOf(str.charAt(i++)));\r\n result +=\r\n r1 === 64\r\n ? String.fromCharCode((bitmap >> 16) & 255)\r\n : r2 === 64\r\n ? 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}\r\nelse {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\nfunction b64DecodeUnicode(str) {\r\n return decodeURIComponent(realAtob(str)\r\n .split('')\r\n .map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join(''));\r\n}\r\nfunction getCurrentUserInfo() {\r\n const token = uni.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 }\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\nfunction uniIdMixin(globalProperties) {\r\n globalProperties.uniIDHasRole = function (roleId) {\r\n const { role } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1;\r\n };\r\n globalProperties.uniIDHasPermission = function (permissionId) {\r\n const { permission } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1;\r\n };\r\n globalProperties.uniIDTokenValid = function () {\r\n const { tokenExpired } = getCurrentUserInfo();\r\n return tokenExpired > Date.now();\r\n };\r\n}\r\n\r\nfunction initApp(app) {\r\n const appConfig = app.config;\r\n // 该逻辑全平台会调用\r\n // - 需要兼容支持开发者自定义的 errorHandler\r\n // - nvue、vue 需要使用同一个(once) errorHandler\r\n // - 需要支持 uni.onError 注册监听\r\n // * 目前仅部分小程序平台支持,调用uni.onError时,如果app已存在,则添加到instance的hooks中,如果不存在,则临时存储,初始化instance时添加到hooks中\r\n // * 目前在 errorHandler 中,会调用 app.$callHook(ON_ERROR, err),所以上一步需要将 uni.onError 存储到 app 的 hooks 中\r\n // - 部分平台(目前主要是小程序)开发阶段 uni-console 会调用 uni.onError 注册监听\r\n appConfig.errorHandler = invokeCreateErrorHandler(app, createErrorHandler);\r\n initOptionMergeStrategies(appConfig.optionMergeStrategies);\r\n const globalProperties = appConfig.globalProperties;\r\n {\r\n uniIdMixin(globalProperties);\r\n }\r\n if (__VUE_OPTIONS_API__) {\r\n globalProperties.$set = set;\r\n globalProperties.$applyOptions = applyOptions;\r\n globalProperties.$callMethod = $callMethod;\r\n }\r\n {\r\n uni.invokeCreateVueAppHook(app);\r\n }\r\n}\r\n\r\nconst propsCaches = Object.create(null);\r\nfunction renderProps(props) {\r\n const { uid, __counter } = getCurrentInstance();\r\n const propsId = (propsCaches[uid] || (propsCaches[uid] = [])).push(guardReactiveProps(props)) - 1;\r\n // 强制每次更新\r\n return uid + ',' + propsId + ',' + __counter;\r\n}\r\nfunction pruneComponentPropsCache(uid) {\r\n delete propsCaches[uid];\r\n}\r\nfunction findComponentPropsData(up) {\r\n if (!up) {\r\n return;\r\n }\r\n const [uid, propsId] = up.split(',');\r\n if (!propsCaches[uid]) {\r\n return;\r\n }\r\n return propsCaches[uid][parseInt(propsId)];\r\n}\r\n\r\nvar plugin = {\r\n install(app) {\r\n initApp(app);\r\n app.config.globalProperties.pruneComponentPropsCache =\r\n pruneComponentPropsCache;\r\n const oldMount = app.mount;\r\n app.mount = function mount(rootContainer) {\r\n const instance = oldMount.call(app, rootContainer);\r\n const createApp = getCreateApp();\r\n if (createApp) {\r\n createApp(instance);\r\n }\r\n else {\r\n // @ts-expect-error 旧编译器\r\n if (typeof createMiniProgramApp !== 'undefined') {\r\n // @ts-expect-error\r\n createMiniProgramApp(instance);\r\n }\r\n }\r\n return instance;\r\n };\r\n },\r\n};\r\nfunction getCreateApp() {\r\n const method = process.env.UNI_MP_PLUGIN\r\n ? 'createPluginApp'\r\n : process.env.UNI_SUBPACKAGE\r\n ? 'createSubpackageApp'\r\n : 'createApp';\r\n if (typeof global !== 'undefined' &&\r\n typeof global[method] !== 'undefined') {\r\n return global[method];\r\n }\r\n else if (typeof my !== 'undefined') {\r\n // 支付宝小程序开启globalObjectMode配置后才会有global\r\n return my[method];\r\n }\r\n}\r\n\r\nfunction stringifyStyle(value) {\r\n if (isString(value)) {\r\n return value;\r\n }\r\n return stringify(normalizeStyle(value));\r\n}\r\n// 不使用 @vue/shared 中的 stringifyStyle (#3456)\r\nfunction stringify(styles) {\r\n let ret = '';\r\n if (!styles || isString(styles)) {\r\n return ret;\r\n }\r\n for (const key in styles) {\r\n ret += `${key.startsWith(`--`) ? key : hyphenate(key)}:${styles[key]};`;\r\n }\r\n return ret;\r\n}\r\n\r\nfunction vOn(value, key) {\r\n const instance = getCurrentInstance();\r\n const ctx = instance.ctx;\r\n // 微信小程序,QQ小程序,当 setData diff 的时候,若事件不主动同步过去,会导致事件绑定不更新,(question/137217)\r\n const extraKey = typeof key !== 'undefined' &&\r\n (ctx.$mpPlatform === 'mp-weixin' ||\r\n ctx.$mpPlatform === 'mp-qq' ||\r\n ctx.$mpPlatform === 'mp-xhs') &&\r\n (isString(key) || typeof key === 'number')\r\n ? '_' + key\r\n : '';\r\n const name = 'e' + instance.$ei++ + extraKey;\r\n const mpInstance = ctx.$scope;\r\n if (!value) {\r\n // remove\r\n delete mpInstance[name];\r\n return name;\r\n }\r\n const existingInvoker = mpInstance[name];\r\n if (existingInvoker) {\r\n // patch\r\n existingInvoker.value = value;\r\n }\r\n else {\r\n // add\r\n mpInstance[name] = createInvoker(value, instance);\r\n }\r\n return name;\r\n}\r\nfunction createInvoker(initialValue, instance) {\r\n const invoker = (e) => {\r\n patchMPEvent(e);\r\n let args = [e];\r\n if (instance && instance.ctx.$getTriggerEventDetail) {\r\n if (typeof e.detail === 'number') {\r\n e.detail = instance.ctx.$getTriggerEventDetail(e.detail);\r\n }\r\n }\r\n if (e.detail && e.detail.__args__) {\r\n args = e.detail.__args__;\r\n }\r\n const eventValue = invoker.value;\r\n const invoke = () => callWithAsyncErrorHandling(patchStopImmediatePropagation(e, eventValue), instance, 5 /* ErrorCodes.NATIVE_EVENT_HANDLER */, args);\r\n // 冒泡事件触发时,启用延迟策略,避免同一批次的事件执行时机不正确,对性能可能有略微影响 https://github.com/dcloudio/uni-app/issues/3228\r\n const eventTarget = e.target;\r\n const eventSync = eventTarget\r\n ? eventTarget.dataset\r\n ? String(eventTarget.dataset.eventsync) === 'true'\r\n : false\r\n : false;\r\n if (bubbles.includes(e.type) && !eventSync) {\r\n setTimeout(invoke);\r\n }\r\n else {\r\n const res = invoke();\r\n if (e.type === 'input' && (isArray(res) || isPromise(res))) {\r\n return;\r\n }\r\n return res;\r\n }\r\n };\r\n invoker.value = initialValue;\r\n return invoker;\r\n}\r\n// 冒泡事件列表\r\nconst bubbles = [\r\n // touch事件暂不做延迟,否则在 Android 上会影响性能,比如一些拖拽跟手手势等\r\n // 'touchstart',\r\n // 'touchmove',\r\n // 'touchcancel',\r\n // 'touchend',\r\n 'tap',\r\n 'longpress',\r\n 'longtap',\r\n 'transitionend',\r\n 'animationstart',\r\n 'animationiteration',\r\n 'animationend',\r\n 'touchforcechange',\r\n];\r\nfunction patchMPEvent(event, instance) {\r\n if (event.type && event.target) {\r\n event.preventDefault = NOOP;\r\n event.stopPropagation = NOOP;\r\n event.stopImmediatePropagation = NOOP;\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\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 // mp-baidu,checked=>value\r\n if (isPlainObject(event.detail) &&\r\n hasOwn(event.detail, 'checked') &&\r\n !hasOwn(event.detail, 'value')) {\r\n event.detail.value = event.detail.checked;\r\n }\r\n if (isPlainObject(event.detail)) {\r\n event.target = extend({}, event.target, event.detail);\r\n }\r\n }\r\n}\r\nfunction patchStopImmediatePropagation(e, value) {\r\n if (isArray(value)) {\r\n const originalStop = e.stopImmediatePropagation;\r\n e.stopImmediatePropagation = () => {\r\n originalStop && originalStop.call(e);\r\n e._stopped = true;\r\n };\r\n return value.map((fn) => (e) => !e._stopped && fn(e));\r\n }\r\n else {\r\n return value;\r\n }\r\n}\r\n\r\n/**\r\n * Actual implementation\r\n */\r\nfunction vFor(source, renderItem) {\r\n let ret;\r\n if (isArray(source) || isString(source)) {\r\n ret = new Array(source.length);\r\n for (let i = 0, l = source.length; i < l; i++) {\r\n ret[i] = renderItem(source[i], i, i);\r\n }\r\n }\r\n else if (typeof source === 'number') {\r\n if ((process.env.NODE_ENV !== 'production') && !Number.isInteger(source)) {\r\n warn(`The v-for range expect an integer value but got ${source}.`);\r\n return [];\r\n }\r\n ret = new Array(source);\r\n for (let i = 0; i < source; i++) {\r\n ret[i] = renderItem(i + 1, i, i);\r\n }\r\n }\r\n else if (isObject(source)) {\r\n if (source[Symbol.iterator]) {\r\n ret = Array.from(source, (item, i) => renderItem(item, i, i));\r\n }\r\n else {\r\n const keys = Object.keys(source);\r\n ret = new Array(keys.length);\r\n for (let i = 0, l = keys.length; i < l; i++) {\r\n const key = keys[i];\r\n ret[i] = renderItem(source[key], key, i);\r\n }\r\n }\r\n }\r\n else {\r\n ret = [];\r\n }\r\n return ret;\r\n}\r\n\r\nfunction renderSlot(name, props = {}, key) {\r\n const instance = getCurrentInstance();\r\n const { parent, isMounted, ctx: { $scope }, } = instance;\r\n // mp-alipay 为 props\r\n const vueIds = ($scope.properties || $scope.props).uI;\r\n if (!vueIds) {\r\n return;\r\n }\r\n if (!parent && !isMounted) {\r\n // 头条小程序首次 render 时,还没有 parent\r\n onMounted(() => {\r\n renderSlot(name, props, key);\r\n }, instance);\r\n return;\r\n }\r\n const invoker = findScopedSlotInvoker(vueIds, instance);\r\n // 可能不存在,因为插槽不是必需的\r\n if (invoker) {\r\n invoker(name, props, key);\r\n }\r\n}\r\nfunction findScopedSlotInvoker(vueId, instance) {\r\n let parent = instance.parent;\r\n while (parent) {\r\n const invokers = parent.$ssi;\r\n if (invokers && invokers[vueId]) {\r\n return invokers[vueId];\r\n }\r\n parent = parent.parent;\r\n }\r\n}\r\n\r\nfunction withScopedSlot(fn, { name, path, vueId, }) {\r\n const instance = getCurrentInstance();\r\n fn.path = path;\r\n const scopedSlots = (instance.$ssi ||\r\n (instance.$ssi = {}));\r\n const invoker = scopedSlots[vueId] ||\r\n (scopedSlots[vueId] = createScopedSlotInvoker(instance));\r\n if (!invoker.slots[name]) {\r\n invoker.slots[name] = {\r\n fn,\r\n };\r\n }\r\n else {\r\n invoker.slots[name].fn = fn;\r\n }\r\n return getValueByDataPath(instance.ctx.$scope.data, path);\r\n}\r\nfunction createScopedSlotInvoker(instance) {\r\n const invoker = (slotName, args, index) => {\r\n const slot = invoker.slots[slotName];\r\n if (!slot) {\r\n // slot 可能不存在 https://github.com/dcloudio/uni-app/issues/3346\r\n return;\r\n }\r\n const hasIndex = typeof index !== 'undefined';\r\n index = index || 0;\r\n // 确保当前 slot 的上下文,类似 withCtx\r\n const prevInstance = setCurrentRenderingInstance(instance);\r\n const data = slot.fn(args, slotName + (hasIndex ? '-' + index : ''), index);\r\n const path = slot.fn.path;\r\n setCurrentRenderingInstance(prevInstance);\r\n (instance.$scopedSlotsData || (instance.$scopedSlotsData = [])).push({\r\n path,\r\n index,\r\n data,\r\n });\r\n instance.$updateScopedSlots();\r\n };\r\n invoker.slots = {};\r\n return invoker;\r\n}\r\n\r\n/**\r\n * quickapp-webview 不能使用 default 作为插槽名称,故统一转换 default 为 d\r\n * @param names\r\n * @returns\r\n */\r\nfunction dynamicSlot(names) {\r\n if (isString(names)) {\r\n return dynamicSlotName(names);\r\n }\r\n return names.map((name) => dynamicSlotName(name));\r\n}\r\n\r\nfunction setRef(ref, id, opts = {}) {\r\n const { $templateRefs } = getCurrentInstance();\r\n $templateRefs.push({ i: id, r: ref, k: opts.k, f: opts.f });\r\n}\r\n\r\nfunction withModelModifiers(fn, { number, trim }, isComponent = false) {\r\n if (isComponent) {\r\n return (...args) => {\r\n if (trim) {\r\n args = args.map((a) => a.trim());\r\n }\r\n else if (number) {\r\n args = args.map(toNumber);\r\n }\r\n return fn(...args);\r\n };\r\n }\r\n return (event) => {\r\n const value = event.detail.value;\r\n if (trim) {\r\n event.detail.value = value.trim();\r\n }\r\n else if (number) {\r\n event.detail.value = toNumber(value);\r\n }\r\n return fn(event);\r\n };\r\n}\r\n\r\nfunction setupDevtoolsPlugin() {\r\n // noop\r\n}\r\n\r\nconst o = (value, key) => vOn(value, key);\r\nconst f = (source, renderItem) => vFor(source, renderItem);\r\nconst d = (names) => dynamicSlot(names);\r\nconst r = (name, props, key) => renderSlot(name, props, key);\r\nconst w = (fn, options) => withScopedSlot(fn, options);\r\nconst s = (value) => stringifyStyle(value);\r\nconst c = (str) => camelize(str);\r\nconst e = (target, ...sources) => extend(target, ...sources);\r\nconst h = (str) => hyphenate(str);\r\nconst n = (value) => normalizeClass(value);\r\nconst t = (val) => toDisplayString(val);\r\nconst p = (props) => renderProps(props);\r\nconst sr = (ref, id, opts) => setRef(ref, id, opts);\r\nconst m = (fn, modifiers, isComponent = false) => withModelModifiers(fn, modifiers, isComponent);\r\nconst j = (obj) => JSON.stringify(obj);\r\n\r\nfunction createApp(rootComponent, rootProps = null) {\r\n rootComponent && (rootComponent.mpType = 'app');\r\n return createVueApp(rootComponent, rootProps).use(plugin);\r\n}\r\nconst createSSRApp = createApp;\r\n\r\nexport { EffectScope, Fragment, ReactiveEffect, Text, c, callWithAsyncErrorHandling, callWithErrorHandling, computed, createApp, createPropsRestProxy, createSSRApp, createVNode, createVueApp, customRef, d, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, devtoolsComponentAdded, devtoolsComponentRemoved, devtoolsComponentUpdated, diff, e, effect, effectScope, f, findComponentPropsData, getCurrentInstance, getCurrentScope, getExposeProxy, guardReactiveProps, h, hasInjectionContext, hasQueueJob, inject, injectHook, invalidateJob, isInSSRComponentSetup, isProxy, isReactive, isReadonly, isRef, isShallow, j, logError, m, markRaw, mergeDefaults, mergeModels, mergeProps, n, nextTick$1 as nextTick, o, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, p, patch, provide, proxyRefs, pruneComponentPropsCache, queuePostFlushCb, r, reactive, readonly, ref, resolveComponent, resolveDirective, resolveFilter, s, setCurrentRenderingInstance, setTemplateRef, setupDevtoolsPlugin, shallowReactive, shallowReadonly, shallowRef, sr, stop, t, toHandlers, toRaw, toRef, toRefs, toValue, triggerRef, unref, updateProps, useAttrs, useCssModule, useCssVars, useModel, useSSRContext, useSlots, version, w, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withModifiers, withScopeId };\r\n","import { isArray, hasOwn, isString, isPlainObject, isObject, capitalize, toRawType, makeMap, isFunction, isPromise, extend, remove } from '@vue/shared';\r\nimport { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n';\r\nimport { Emitter, sortObject, ON_ERROR, onCreateVueApp, invokeCreateVueAppHook } from '@dcloudio/uni-shared';\r\nimport { injectHook } from 'vue';\r\n\r\nfunction validateProtocolFail(name, msg) {\r\n console.warn(`${name}: ${msg}`);\r\n}\r\nfunction validateProtocol(name, data, protocol, onFail) {\r\n if (!onFail) {\r\n onFail = validateProtocolFail;\r\n }\r\n for (const key in protocol) {\r\n const errMsg = validateProp(key, data[key], protocol[key], !hasOwn(data, key));\r\n if (isString(errMsg)) {\r\n onFail(name, errMsg);\r\n }\r\n }\r\n}\r\nfunction validateProtocols(name, args, protocol, onFail) {\r\n if (!protocol) {\r\n return;\r\n }\r\n if (!isArray(protocol)) {\r\n return validateProtocol(name, args[0] || Object.create(null), protocol, onFail);\r\n }\r\n const len = protocol.length;\r\n const argsLen = args.length;\r\n for (let i = 0; i < len; i++) {\r\n const opts = protocol[i];\r\n const data = Object.create(null);\r\n if (argsLen > i) {\r\n data[opts.name] = args[i];\r\n }\r\n validateProtocol(name, data, { [opts.name]: opts }, onFail);\r\n }\r\n}\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n if (!isPlainObject(prop)) {\r\n prop = { type: prop };\r\n }\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n return 'Missing required args: \"' + name + '\"';\r\n }\r\n // missing but optional\r\n if (value == null && !required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n return getInvalidTypeMessage(name, value, expectedTypes);\r\n }\r\n }\r\n // custom validator\r\n if (validator) {\r\n return validator(value);\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol');\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else {\r\n {\r\n valid = value instanceof type;\r\n }\r\n }\r\n return {\r\n valid,\r\n expectedType,\r\n };\r\n}\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid args: type check failed for args \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(', ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : '';\r\n}\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\r\n}\r\nfunction isBoolean(...args) {\r\n return args.some((elem) => elem.toLowerCase() === 'boolean');\r\n}\r\n\r\nfunction tryCatch(fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments);\r\n }\r\n catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n };\r\n}\r\n\r\nlet invokeCallbackId = 1;\r\nconst invokeCallbacks = {};\r\nfunction addInvokeCallback(id, name, callback, keepAlive = false) {\r\n invokeCallbacks[id] = {\r\n name,\r\n keepAlive,\r\n callback,\r\n };\r\n return id;\r\n}\r\n// onNativeEventReceive((event,data)=>{}) 需要两个参数,目前写死最多两个参数\r\nfunction invokeCallback(id, res, extras) {\r\n if (typeof id === 'number') {\r\n const opts = invokeCallbacks[id];\r\n if (opts) {\r\n if (!opts.keepAlive) {\r\n delete invokeCallbacks[id];\r\n }\r\n return opts.callback(res, extras);\r\n }\r\n }\r\n return res;\r\n}\r\nconst API_SUCCESS = 'success';\r\nconst API_FAIL = 'fail';\r\nconst API_COMPLETE = 'complete';\r\nfunction getApiCallbacks(args) {\r\n const apiCallbacks = {};\r\n for (const name in args) {\r\n const fn = args[name];\r\n if (isFunction(fn)) {\r\n apiCallbacks[name] = tryCatch(fn);\r\n delete args[name];\r\n }\r\n }\r\n return apiCallbacks;\r\n}\r\nfunction normalizeErrMsg(errMsg, name) {\r\n if (!errMsg || errMsg.indexOf(':fail') === -1) {\r\n return name + ':ok';\r\n }\r\n return name + errMsg.substring(errMsg.indexOf(':fail'));\r\n}\r\nfunction createAsyncApiCallback(name, args = {}, { beforeAll, beforeSuccess } = {}) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const { success, fail, complete } = getApiCallbacks(args);\r\n const hasSuccess = isFunction(success);\r\n const hasFail = isFunction(fail);\r\n const hasComplete = isFunction(complete);\r\n const callbackId = invokeCallbackId++;\r\n addInvokeCallback(callbackId, name, (res) => {\r\n res = res || {};\r\n res.errMsg = normalizeErrMsg(res.errMsg, name);\r\n isFunction(beforeAll) && beforeAll(res);\r\n if (res.errMsg === name + ':ok') {\r\n isFunction(beforeSuccess) && beforeSuccess(res, args);\r\n hasSuccess && success(res);\r\n }\r\n else {\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n return callbackId;\r\n}\r\n\r\nconst HOOK_SUCCESS = 'success';\r\nconst HOOK_FAIL = 'fail';\r\nconst HOOK_COMPLETE = 'complete';\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\nfunction wrapperHook(hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data;\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 }\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 catch() { },\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 catch() { },\r\n });\r\n}\r\nfunction wrapperOptions(interceptors, options = {}) {\r\n [HOOK_SUCCESS, HOOK_FAIL, HOOK_COMPLETE].forEach((name) => {\r\n const hooks = interceptors[name];\r\n if (!isArray(hooks)) {\r\n return;\r\n }\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor(res) {\r\n queue(hooks, res, options).then((res) => {\r\n return (isFunction(oldCallback) && oldCallback(res)) || res;\r\n });\r\n };\r\n });\r\n return options;\r\n}\r\nfunction wrapperReturnValue(method, returnValue) {\r\n const returnValueHooks = [];\r\n if (isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && 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\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\nfunction invokeApi(method, api, options, params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (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(wrapperOptions(getApiInterceptorHooks(method), options), ...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\nfunction hasCallback(args) {\r\n if (isPlainObject(args) &&\r\n [API_SUCCESS, API_FAIL, API_COMPLETE].find((cb) => isFunction(args[cb]))) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction handlePromise(promise) {\r\n // if (__UNI_FEATURE_PROMISE__) {\r\n // return promise\r\n // .then((data) => {\r\n // return [null, data]\r\n // })\r\n // .catch((err) => [err])\r\n // }\r\n return promise;\r\n}\r\nfunction promisify$1(name, fn) {\r\n return (args = {}, ...rest) => {\r\n if (hasCallback(args)) {\r\n return wrapperReturnValue(name, invokeApi(name, fn, args, rest));\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, fn, extend(args, { success: resolve, fail: reject }), rest);\r\n })));\r\n };\r\n}\r\n\r\nfunction formatApiArgs(args, options) {\r\n args[0];\r\n {\r\n return;\r\n }\r\n}\r\nfunction invokeSuccess(id, name, res) {\r\n const result = {\r\n errMsg: name + ':ok',\r\n };\r\n return invokeCallback(id, extend((res || {}), result));\r\n}\r\nfunction invokeFail(id, name, errMsg, errRes = {}) {\r\n const errMsgPrefix = name + ':fail';\r\n let apiErrMsg = '';\r\n if (!errMsg) {\r\n apiErrMsg = errMsgPrefix;\r\n }\r\n else if (errMsg.indexOf(errMsgPrefix) === 0) {\r\n apiErrMsg = errMsg;\r\n }\r\n else {\r\n apiErrMsg = errMsgPrefix + ' ' + errMsg;\r\n }\r\n {\r\n delete errRes.errCode;\r\n }\r\n let res = extend({ errMsg: apiErrMsg }, errRes);\r\n return invokeCallback(id, res);\r\n}\r\nfunction beforeInvokeApi(name, args, protocol, options) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProtocols(name, args, protocol);\r\n }\r\n const errMsg = formatApiArgs(args);\r\n if (errMsg) {\r\n return errMsg;\r\n }\r\n}\r\nfunction parseErrMsg(errMsg) {\r\n if (!errMsg || isString(errMsg)) {\r\n return errMsg;\r\n }\r\n if (errMsg.stack) {\r\n // 此处同时被鸿蒙arkts和jsvm使用,暂时使用运行时判断鸿蒙jsvm环境,注意此用法仅内部使用\r\n if ((typeof globalThis === 'undefined' || !globalThis.harmonyChannel)) {\r\n console.error(errMsg.message + '\\n' + errMsg.stack);\r\n }\r\n return errMsg.message;\r\n }\r\n return errMsg;\r\n}\r\nfunction wrapperTaskApi(name, fn, protocol, options) {\r\n return (args) => {\r\n const id = createAsyncApiCallback(name, args, options);\r\n const errMsg = beforeInvokeApi(name, [args], protocol);\r\n if (errMsg) {\r\n return invokeFail(id, name, errMsg);\r\n }\r\n return fn(args, {\r\n resolve: (res) => invokeSuccess(id, name, res),\r\n reject: (errMsg, errRes) => invokeFail(id, name, parseErrMsg(errMsg), errRes),\r\n });\r\n };\r\n}\r\nfunction wrapperSyncApi(name, fn, protocol, options) {\r\n return (...args) => {\r\n const errMsg = beforeInvokeApi(name, args, protocol);\r\n if (errMsg) {\r\n throw new Error(errMsg);\r\n }\r\n return fn.apply(null, args);\r\n };\r\n}\r\nfunction wrapperAsyncApi(name, fn, protocol, options) {\r\n return wrapperTaskApi(name, fn, protocol, options);\r\n}\r\nfunction defineSyncApi(name, fn, protocol, options) {\r\n return wrapperSyncApi(name, fn, (process.env.NODE_ENV !== 'production') ? protocol : undefined);\r\n}\r\nfunction defineAsyncApi(name, fn, protocol, options) {\r\n return promisify$1(name, wrapperAsyncApi(name, fn, (process.env.NODE_ENV !== 'production') ? protocol : undefined, options));\r\n}\r\n\r\nconst API_UPX2PX = 'upx2px';\r\nconst Upx2pxProtocol = [\r\n {\r\n name: 'upx',\r\n type: [Number, String],\r\n required: true,\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\nfunction checkDeviceWidth() {\r\n const { windowWidth, pixelRatio, platform } = Object.assign({}, wx.getWindowInfo(), {\r\n platform: wx.getDeviceInfo().platform,\r\n })\r\n ;\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\nconst upx2px = defineSyncApi(API_UPX2PX, (number, newDeviceWidth) => {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0;\r\n }\r\n let width = newDeviceWidth || deviceWidth;\r\n let result = (number / BASE_DEVICE_WIDTH) * width;\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 }\r\n else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result;\r\n}, Upx2pxProtocol);\r\n\r\nfunction __f__(type, filename, ...args) {\r\n if (filename) {\r\n args.push(filename);\r\n }\r\n console[type].apply(console, args);\r\n}\r\n\r\nconst API_ADD_INTERCEPTOR = 'addInterceptor';\r\nconst API_REMOVE_INTERCEPTOR = 'removeInterceptor';\r\nconst AddInterceptorProtocol = [\r\n {\r\n name: 'method',\r\n type: [String, Object],\r\n required: true,\r\n },\r\n];\r\nconst RemoveInterceptorProtocol = AddInterceptorProtocol;\r\n\r\nfunction mergeInterceptorHook(interceptors, interceptor) {\r\n Object.keys(interceptor).forEach((hook) => {\r\n if (isFunction(interceptor[hook])) {\r\n interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]);\r\n }\r\n });\r\n}\r\nfunction removeInterceptorHook(interceptors, interceptor) {\r\n if (!interceptors || !interceptor) {\r\n return;\r\n }\r\n Object.keys(interceptor).forEach((name) => {\r\n const hooks = interceptors[name];\r\n const hook = interceptor[name];\r\n if (isArray(hooks) && isFunction(hook)) {\r\n remove(hooks, hook);\r\n }\r\n });\r\n}\r\nfunction mergeHook(parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : isArray(childVal)\r\n ? childVal\r\n : [childVal]\r\n : parentVal;\r\n return res ? dedupeHooks(res) : res;\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\nconst addInterceptor = defineSyncApi(API_ADD_INTERCEPTOR, (method, interceptor) => {\r\n if (isString(method) && isPlainObject(interceptor)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), interceptor);\r\n }\r\n else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}, AddInterceptorProtocol);\r\nconst removeInterceptor = defineSyncApi(API_REMOVE_INTERCEPTOR, (method, interceptor) => {\r\n if (isString(method)) {\r\n if (isPlainObject(interceptor)) {\r\n removeInterceptorHook(scopedInterceptors[method], interceptor);\r\n }\r\n else {\r\n delete scopedInterceptors[method];\r\n }\r\n }\r\n else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}, RemoveInterceptorProtocol);\r\nconst interceptors = {};\r\n\r\nconst API_ON = '$on';\r\nconst OnProtocol = [\r\n {\r\n name: 'event',\r\n type: String,\r\n required: true,\r\n },\r\n {\r\n name: 'callback',\r\n type: Function,\r\n required: true,\r\n },\r\n];\r\nconst API_ONCE = '$once';\r\nconst OnceProtocol = OnProtocol;\r\nconst API_OFF = '$off';\r\nconst OffProtocol = [\r\n {\r\n name: 'event',\r\n type: [String, Array],\r\n },\r\n {\r\n name: 'callback',\r\n type: [Function, Number],\r\n },\r\n];\r\nconst API_EMIT = '$emit';\r\nconst EmitProtocol = [\r\n {\r\n name: 'event',\r\n type: String,\r\n required: true,\r\n },\r\n];\r\n\r\nclass EventBus {\r\n constructor() {\r\n this.$emitter = new Emitter();\r\n }\r\n on(name, callback) {\r\n return this.$emitter.on(name, callback);\r\n }\r\n once(name, callback) {\r\n return this.$emitter.once(name, callback);\r\n }\r\n off(name, callback) {\r\n if (!name) {\r\n this.$emitter.e = {};\r\n return;\r\n }\r\n this.$emitter.off(name, callback);\r\n }\r\n emit(name, ...args) {\r\n this.$emitter.emit(name, ...args);\r\n }\r\n}\r\nconst eventBus = new EventBus();\r\nconst $on = defineSyncApi(API_ON, (name, callback) => {\r\n eventBus.on(name, callback);\r\n return () => eventBus.off(name, callback);\r\n}, OnProtocol);\r\nconst $once = defineSyncApi(API_ONCE, (name, callback) => {\r\n eventBus.once(name, callback);\r\n return () => eventBus.off(name, callback);\r\n}, OnceProtocol);\r\nconst $off = defineSyncApi(API_OFF, (name, callback) => {\r\n // 类型中不再体现 name 支持 string[] 类型, 仅在 uni.$off 保留该逻辑向下兼容\r\n if (!isArray(name))\r\n name = name ? [name] : [];\r\n name.forEach((n) => eventBus.off(n, callback));\r\n}, OffProtocol);\r\nconst $emit = defineSyncApi(API_EMIT, (name, ...args) => {\r\n eventBus.emit(name, ...args);\r\n}, EmitProtocol);\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\nfunction normalizePushMessage(message) {\r\n try {\r\n return JSON.parse(message);\r\n }\r\n catch (e) { }\r\n return message;\r\n}\r\n/**\r\n * @private\r\n * @param args\r\n */\r\nfunction invokePushCallback(args) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n }\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 }\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 }\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\nconst getPushCidCallbacks = [];\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\nconst API_GET_PUSH_CLIENT_ID = 'getPushClientId';\r\nconst getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, reject }) => {\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 if (cid) {\r\n resolve({ cid });\r\n }\r\n else {\r\n reject(errMsg);\r\n }\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\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\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n }\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\nconst SYNC_API_RE = /^\\$|__f__|getLocale|setLocale|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|rpx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getDeviceInfo|getAppBaseInfo|getWindowInfo|getSystemSetting|getAppAuthorizeSetting/;\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\nconst TASK_APIS = ['request', 'downloadFile', 'uploadFile', 'connectSocket'];\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection'];\r\nconst CALLBACK_API_RE = /^on|^off/;\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\nfunction isCallbackApi(name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush';\r\n}\r\nfunction isTaskApi(name) {\r\n return TASK_APIS.indexOf(name) !== -1;\r\n}\r\nfunction shouldPromise(name) {\r\n if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (onfinally) {\r\n const promise = this.constructor;\r\n return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => {\r\n throw reason;\r\n }));\r\n };\r\n}\r\nfunction promisify(name, api) {\r\n if (!shouldPromise(name)) {\r\n return api;\r\n }\r\n if (!isFunction(api)) {\r\n return api;\r\n }\r\n return function promiseApi(options = {}, ...rest) {\r\n if (isFunction(options.success) ||\r\n isFunction(options.fail) ||\r\n isFunction(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, rest));\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, extend({}, options, {\r\n success: resolve,\r\n fail: reject,\r\n }), rest);\r\n })));\r\n };\r\n}\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\nfunction initWrapper(protocols) {\r\n function processCallback(methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue));\r\n };\r\n }\r\n function processArgs(methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) {\r\n // 一般 api 的参数解析\r\n const toArgs = (keepFromArgs === true ? fromArgs : {}); // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFunction(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 (isFunction(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) {\r\n // 不支持的参数\r\n console.warn(`微信小程序 ${methodName} 暂不支持 ${key}`);\r\n }\r\n else if (isString(keyOption)) {\r\n // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n }\r\n else if (isPlainObject(keyOption)) {\r\n // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n }\r\n else if (CALLBACKS.indexOf(key) !== -1) {\r\n const callback = fromArgs[key];\r\n if (isFunction(callback)) {\r\n toArgs[key] = processCallback(methodName, callback, returnValue);\r\n }\r\n }\r\n else {\r\n if (!keepFromArgs && !hasOwn(toArgs, key)) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs;\r\n }\r\n else if (isFunction(fromArgs)) {\r\n if (isFunction(argsOption)) {\r\n argsOption(fromArgs, {});\r\n }\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs;\r\n }\r\n function processReturnValue(methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFunction(protocols.returnValue)) {\r\n // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n const realKeepReturnValue = keepReturnValue || (false);\r\n return processArgs(methodName, res, returnValue, {}, realKeepReturnValue);\r\n }\r\n return function wrapper(methodName, method) {\r\n /**\r\n * 注意:\r\n * - 此处method为原始全局对象上的uni方法名对应的属性值,比如method值可能为my.login,即undefined\r\n * - uni.env并非方法,但是也会被传入wrapper\r\n */\r\n const hasProtocol = hasOwn(protocols, methodName);\r\n const needWrapper = hasProtocol ||\r\n isFunction(protocols.returnValue) ||\r\n isContextApi(methodName) ||\r\n isTaskApi(methodName);\r\n const hasMethod = hasProtocol || isFunction(method);\r\n if (!hasProtocol && !method) {\r\n // 暂不支持的 api\r\n return function () {\r\n console.error(`微信小程序 暂不支持${methodName}`);\r\n };\r\n }\r\n if (!needWrapper || !hasMethod) {\r\n return method;\r\n }\r\n const protocol = protocols[methodName];\r\n return function (arg1, arg2) {\r\n // 目前 api 最多两个参数\r\n let options = protocol || {};\r\n if (isFunction(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n const returnValue = wx[options.name || methodName].apply(wx, args);\r\n if (isContextApi(methodName) || isTaskApi(methodName)) {\r\n if (returnValue && !returnValue.__v_skip) {\r\n returnValue.__v_skip = true;\r\n }\r\n }\r\n if (isSyncApi(methodName)) {\r\n // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName));\r\n }\r\n return returnValue;\r\n };\r\n };\r\n}\r\n\r\nconst getLocale = () => {\r\n // 优先使用 $locale\r\n const app = isFunction(getApp) && getApp({ allowDefault: true });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale;\r\n }\r\n return normalizeLocale(wx.getAppBaseInfo().language) || LOCALE_EN\r\n ;\r\n};\r\nconst setLocale = (locale) => {\r\n const app = isFunction(getApp) && getApp();\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({ locale }));\r\n return true;\r\n }\r\n return false;\r\n};\r\nconst onLocaleChangeCallbacks = [];\r\nconst onLocaleChange = (fn) => {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n};\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale;\r\n}\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId(global = wx) {\r\n return function addDeviceId(_, toRes) {\r\n deviceId = deviceId || global.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 toRes.deviceId = deviceId;\r\n };\r\n}\r\nfunction addSafeAreaInsets(fromRes, toRes) {\r\n if (fromRes.safeArea) {\r\n const safeArea = fromRes.safeArea;\r\n toRes.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: fromRes.windowWidth - safeArea.right,\r\n bottom: fromRes.screenHeight - safeArea.bottom,\r\n };\r\n }\r\n}\r\nfunction getOSInfo(system, platform) {\r\n let osName = '';\r\n let osVersion = '';\r\n if (platform &&\r\n (\"mp-weixin\" === 'mp-baidu')) {\r\n osName = platform;\r\n osVersion = system;\r\n }\r\n else {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n return {\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n };\r\n}\r\nfunction populateParameters(fromRes, toRes) {\r\n const { brand = '', model = '', system = '', language = '', theme, version, platform, fontSizeSetting, SDKVersion, pixelRatio, deviceOrientation, } = fromRes;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n // osName osVersion\r\n const { osName, osVersion } = getOSInfo(system, platform);\r\n let hostVersion = version;\r\n // deviceType\r\n let deviceType = getGetDeviceType(fromRes, model);\r\n // deviceModel\r\n let deviceBrand = getDeviceBrand(brand);\r\n // hostName\r\n let _hostName = getHostName(fromRes);\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n // hostLanguage\r\n const hostLanguage = (language || '').replace(/_/g, '-');\r\n // wx.getAccountInfoSync\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,\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 extend(toRes, parameters);\r\n}\r\nfunction getGetDeviceType(fromRes, model) {\r\n // deviceType\r\n let deviceType = fromRes.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\nfunction getDeviceBrand(brand) {\r\n // deviceModel\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = deviceBrand.toLocaleLowerCase();\r\n }\r\n return deviceBrand;\r\n}\r\nfunction getAppLanguage(defaultLanguage) {\r\n return getLocale ? getLocale() : defaultLanguage;\r\n}\r\nfunction getHostName(fromRes) {\r\n const _platform = 'WeChat'\r\n ;\r\n let _hostName = fromRes.hostName || _platform; // mp-jd\r\n {\r\n if (fromRes.environment) {\r\n _hostName = fromRes.environment;\r\n }\r\n else if (fromRes.host && fromRes.host.env) {\r\n _hostName = fromRes.host.env;\r\n }\r\n }\r\n return _hostName;\r\n}\r\n\r\nconst getSystemInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n addSafeAreaInsets(fromRes, toRes);\r\n useDeviceId()(fromRes, toRes);\r\n populateParameters(fromRes, toRes);\r\n },\r\n};\r\n\r\nconst getSystemInfoSync = getSystemInfo;\r\n\r\nconst redirectTo = {};\r\n\r\nconst previewImage = {\r\n args(fromArgs, toArgs) {\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 (!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 }\r\n else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n toArgs.current = urls[currentIndex];\r\n toArgs.urls = urls.filter((item, index) => index < currentIndex ? item !== urls[currentIndex] : true);\r\n }\r\n else {\r\n toArgs.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 showActionSheet = {\r\n args(fromArgs, toArgs) {\r\n toArgs.alertText = fromArgs.title;\r\n },\r\n};\r\n\r\nconst getDeviceInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n const { brand, model, system = '', platform = '' } = fromRes;\r\n let deviceType = getGetDeviceType(fromRes, model);\r\n let deviceBrand = getDeviceBrand(brand);\r\n useDeviceId()(fromRes, toRes);\r\n const { osName, osVersion } = getOSInfo(system, platform);\r\n toRes = sortObject(extend(toRes, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model,\r\n osName,\r\n osVersion,\r\n }));\r\n },\r\n};\r\n\r\nconst getAppBaseInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n const { version, language, SDKVersion, theme } = fromRes;\r\n let _hostName = getHostName(fromRes);\r\n let hostLanguage = (language || '').replace(/_/g, '-');\r\n const parameters = {\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme,\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 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 extend(toRes, parameters);\r\n },\r\n};\r\n\r\nconst getWindowInfo = {\r\n returnValue: (fromRes, toRes) => {\r\n addSafeAreaInsets(fromRes, toRes);\r\n toRes = sortObject(extend(toRes, {\r\n windowTop: 0,\r\n windowBottom: 0,\r\n }));\r\n },\r\n};\r\n\r\nconst getAppAuthorizeSetting = {\r\n returnValue: function (fromRes, toRes) {\r\n const { locationReducedAccuracy } = fromRes;\r\n toRes.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n toRes.locationAccuracy = 'reduced';\r\n }\r\n else if (locationReducedAccuracy === false) {\r\n toRes.locationAccuracy = 'full';\r\n }\r\n },\r\n};\r\n\r\nconst onError = {\r\n args(fromArgs) {\r\n const app = getApp({ allowDefault: true }) || {};\r\n if (!app.$vm) {\r\n if (!wx.$onErrorHandlers) {\r\n wx.$onErrorHandlers = [];\r\n }\r\n wx.$onErrorHandlers.push(fromArgs);\r\n }\r\n else {\r\n injectHook(ON_ERROR, fromArgs, app.$vm.$);\r\n }\r\n },\r\n};\r\nconst offError = {\r\n args(fromArgs) {\r\n const app = getApp({ allowDefault: true }) || {};\r\n if (!app.$vm) {\r\n if (!wx.$onErrorHandlers) {\r\n return;\r\n }\r\n const index = wx.$onErrorHandlers.findIndex((fn) => fn === fromArgs);\r\n if (index !== -1) {\r\n wx.$onErrorHandlers.splice(index, 1);\r\n }\r\n }\r\n else if (fromArgs.__weh) {\r\n const onErrors = app.$vm.$[ON_ERROR];\r\n if (onErrors) {\r\n const index = onErrors.indexOf(fromArgs.__weh);\r\n if (index > -1) {\r\n onErrors.splice(index, 1);\r\n }\r\n }\r\n }\r\n },\r\n};\r\n\r\nconst onSocketOpen = {\r\n args() {\r\n if (wx.__uni_console__) {\r\n if (wx.__uni_console_warned__) {\r\n return;\r\n }\r\n wx.__uni_console_warned__ = true;\r\n console.warn(`开发模式下小程序日志回显会使用 socket 连接,为了避免冲突,建议使用 SocketTask 的方式去管理 WebSocket 或手动关闭日志回显功能。[详情](https://uniapp.dcloud.net.cn/tutorial/run/mp-log.html)`);\r\n }\r\n },\r\n};\r\nconst onSocketMessage = onSocketOpen;\r\n\r\nconst baseApis = {\r\n $on,\r\n $off,\r\n $once,\r\n $emit,\r\n upx2px,\r\n rpx2px: upx2px,\r\n interceptors,\r\n addInterceptor,\r\n removeInterceptor,\r\n onCreateVueApp,\r\n invokeCreateVueAppHook,\r\n getLocale,\r\n setLocale,\r\n onLocaleChange,\r\n getPushClientId,\r\n onPushMessage,\r\n offPushMessage,\r\n invokePushCallback,\r\n __f__,\r\n};\r\nfunction initUni(api, protocols, platform = wx) {\r\n const wrapper = initWrapper(protocols);\r\n const UniProxyHandlers = {\r\n get(target, key) {\r\n if (hasOwn(target, key)) {\r\n return target[key];\r\n }\r\n if (hasOwn(api, key)) {\r\n return promisify(key, api[key]);\r\n }\r\n if (hasOwn(baseApis, key)) {\r\n return promisify(key, baseApis[key]);\r\n }\r\n // event-api\r\n // provider-api?\r\n return promisify(key, wrapper(key, platform[key]));\r\n },\r\n };\r\n return new Proxy({}, UniProxyHandlers);\r\n}\r\n\r\nfunction initGetProvider(providers) {\r\n return function getProvider({ service, success, fail, complete, }) {\r\n let res;\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 isFunction(success) && success(res);\r\n }\r\n else {\r\n res = {\r\n errMsg: 'getProvider:fail:服务[' + service + ']不存在',\r\n };\r\n isFunction(fail) && fail(res);\r\n }\r\n isFunction(complete) && complete(res);\r\n };\r\n}\r\n\r\nconst 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 = ['lanDebug', 'router', 'worklet'];\r\nconst launchOption = wx.getLaunchOptionsSync\r\n ? wx.getLaunchOptionsSync()\r\n : null;\r\nfunction isWxKey(key) {\r\n if (launchOption &&\r\n launchOption.scene === 1154 &&\r\n singlePageDisableKey.includes(key)) {\r\n return false;\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof wx[key] === 'function';\r\n}\r\nfunction initWx() {\r\n const newWx = {};\r\n for (const key in wx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = wx[key];\r\n }\r\n }\r\n if (typeof globalThis !== 'undefined' &&\r\n typeof requireMiniProgram === 'undefined') {\r\n globalThis.wx = newWx;\r\n }\r\n return newWx;\r\n}\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nconst getProvider = initGetProvider({\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin'],\r\n});\r\nfunction initComponentMocks(component) {\r\n const res = Object.create(null);\r\n mocks.forEach((name) => {\r\n res[name] = component[name];\r\n });\r\n return res;\r\n}\r\n/**\r\n * 微信小程序内部会 Object.keys(vm),导致告警\r\n * Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.\r\n * @returns\r\n */\r\nfunction createSelectorQuery() {\r\n const query = wx$2.createSelectorQuery();\r\n const oldIn = query.in;\r\n query.in = function newIn(component) {\r\n return oldIn.call(this, initComponentMocks(component));\r\n };\r\n return query;\r\n}\r\nconst wx$2 = initWx();\r\nlet baseInfo = wx$2.getAppBaseInfo && wx$2.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx$2.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage = host && host.env === 'SAAASDK'\r\n ? wx$2.miniapp.shareVideoMessage\r\n : wx$2.shareVideoMessage;\r\n\r\nvar shims = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n createSelectorQuery: createSelectorQuery,\r\n getProvider: getProvider,\r\n shareVideoMessage: shareVideoMessage\r\n});\r\n\r\nconst compressImage = {\r\n args(fromArgs, toArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n // @ts-expect-error\r\n if (fromArgs.compressedHeight && !toArgs.compressHeight) {\r\n // @ts-expect-error\r\n toArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n // @ts-expect-error\r\n if (fromArgs.compressedWidth && !toArgs.compressWidth) {\r\n // @ts-expect-error\r\n toArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n },\r\n};\r\n\r\nvar protocols = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n compressImage: compressImage,\r\n getAppAuthorizeSetting: getAppAuthorizeSetting,\r\n getAppBaseInfo: getAppBaseInfo,\r\n getDeviceInfo: getDeviceInfo,\r\n getSystemInfo: getSystemInfo,\r\n getSystemInfoSync: getSystemInfoSync,\r\n getWindowInfo: getWindowInfo,\r\n offError: offError,\r\n onError: onError,\r\n onSocketMessage: onSocketMessage,\r\n onSocketOpen: onSocketOpen,\r\n previewImage: previewImage,\r\n redirectTo: redirectTo,\r\n showActionSheet: showActionSheet\r\n});\r\n\r\nconst wx$1 = initWx();\r\nvar index = initUni(shims, protocols, wx$1);\r\n\r\nexport { index as default, wx$1 as wx };\r\n","const CONSOLE_TYPES = ['log', 'warn', 'error', 'info', 'debug'];\r\nlet sendConsole = null;\r\nconst messageQueue = [];\r\nfunction sendConsoleMessages(messages) {\r\n if (sendConsole == null) {\r\n messageQueue.push(...messages);\r\n return;\r\n }\r\n sendConsole(JSON.stringify({\r\n type: 'console',\r\n data: messages,\r\n }));\r\n}\r\nfunction setSendConsole(value) {\r\n sendConsole = value;\r\n if (value != null && messageQueue.length > 0) {\r\n const messages = messageQueue.slice();\r\n messageQueue.length = 0;\r\n sendConsoleMessages(messages);\r\n }\r\n}\r\nconst originalConsole = /*@__PURE__*/ CONSOLE_TYPES.reduce((methods, type) => {\r\n methods[type] = console[type].bind(console);\r\n return methods;\r\n}, {});\r\nconst atFileRegex = /^at\\s+[\\w/./-]+:\\d+$/;\r\nfunction rewriteConsole() {\r\n function wrapConsole(type) {\r\n return function (...args) {\r\n const originalArgs = [...args];\r\n if (originalArgs.length) {\r\n const maybeAtFile = originalArgs[originalArgs.length - 1];\r\n // 移除最后的 at pages/index/index.uvue:6\r\n if (typeof maybeAtFile === 'string' && atFileRegex.test(maybeAtFile)) {\r\n originalArgs.pop();\r\n }\r\n }\r\n if (__UNI_CONSOLE_KEEP_ORIGINAL__) {\r\n originalConsole[type](...originalArgs);\r\n }\r\n sendConsoleMessages([formatMessage(type, args)]);\r\n };\r\n }\r\n // 百度小程序不允许赋值,所以需要判断是否可写\r\n if (isConsoleWritable()) {\r\n CONSOLE_TYPES.forEach((type) => {\r\n console[type] = wrapConsole(type);\r\n });\r\n return function restoreConsole() {\r\n CONSOLE_TYPES.forEach((type) => {\r\n console[type] = originalConsole[type];\r\n });\r\n };\r\n }\r\n else {\r\n // @ts-expect-error\r\n const oldLog = uni.__f__;\r\n if (oldLog) {\r\n // 重写 uni.__f__ 方法,这样的话,仅能打印开发者代码里的日志,其他没有被重写为__f__的日志将无法打印(比如uni-app框架、小程序框架等)\r\n // @ts-expect-error\r\n uni.__f__ = function (...args) {\r\n const [type, filename, ...rest] = args;\r\n // 原始日志移除 filename\r\n oldLog(type, '', ...rest);\r\n sendConsoleMessages([formatMessage(type, [...rest, filename])]);\r\n };\r\n return function restoreConsole() {\r\n // @ts-expect-error\r\n uni.__f__ = oldLog;\r\n };\r\n }\r\n }\r\n return function restoreConsole() { };\r\n}\r\nfunction isConsoleWritable() {\r\n const value = console.log;\r\n const sym = Symbol();\r\n try {\r\n // @ts-expect-error\r\n console.log = sym;\r\n }\r\n catch (ex) {\r\n return false;\r\n }\r\n // @ts-expect-error\r\n const isWritable = console.log === sym;\r\n console.log = value;\r\n return isWritable;\r\n}\r\nfunction formatMessage(type, args) {\r\n try {\r\n return {\r\n type,\r\n args: formatArgs(args),\r\n };\r\n }\r\n catch (e) {\r\n originalConsole.error(e);\r\n }\r\n return {\r\n type,\r\n args: [],\r\n };\r\n}\r\nfunction formatArgs(args) {\r\n return args.map((arg) => formatArg(arg));\r\n}\r\nfunction formatArg(arg, depth = 0) {\r\n if (depth >= 7) {\r\n return {\r\n type: 'object',\r\n value: '[Maximum depth reached]',\r\n };\r\n }\r\n return ARG_FORMATTERS[typeof arg](arg, depth);\r\n}\r\nfunction formatObject(value, depth) {\r\n if (value === null) {\r\n return {\r\n type: 'null',\r\n };\r\n }\r\n if (isComponentPublicInstance(value)) {\r\n return formatComponentPublicInstance(value, depth);\r\n }\r\n if (isComponentInternalInstance(value)) {\r\n return formatComponentInternalInstance(value, depth);\r\n }\r\n if (isUniElement(value)) {\r\n return formatUniElement(value, depth);\r\n }\r\n if (isCSSStyleDeclaration(value)) {\r\n return formatCSSStyleDeclaration(value, depth);\r\n }\r\n if (Array.isArray(value)) {\r\n return {\r\n type: 'object',\r\n subType: 'array',\r\n value: {\r\n properties: value.map((v, i) => formatArrayElement(v, i, depth + 1)),\r\n },\r\n };\r\n }\r\n if (value instanceof Set) {\r\n return {\r\n type: 'object',\r\n subType: 'set',\r\n className: 'Set',\r\n description: `Set(${value.size})`,\r\n value: {\r\n entries: Array.from(value).map((v) => formatSetEntry(v, depth + 1)),\r\n },\r\n };\r\n }\r\n if (value instanceof Map) {\r\n return {\r\n type: 'object',\r\n subType: 'map',\r\n className: 'Map',\r\n description: `Map(${value.size})`,\r\n value: {\r\n entries: Array.from(value.entries()).map((v) => formatMapEntry(v, depth + 1)),\r\n },\r\n };\r\n }\r\n if (value instanceof Promise) {\r\n return {\r\n type: 'object',\r\n subType: 'promise',\r\n value: {\r\n properties: [],\r\n },\r\n };\r\n }\r\n if (value instanceof RegExp) {\r\n return {\r\n type: 'object',\r\n subType: 'regexp',\r\n value: String(value),\r\n className: 'Regexp',\r\n };\r\n }\r\n if (value instanceof Date) {\r\n return {\r\n type: 'object',\r\n subType: 'date',\r\n value: String(value),\r\n className: 'Date',\r\n };\r\n }\r\n if (value instanceof Error) {\r\n return {\r\n type: 'object',\r\n subType: 'error',\r\n value: value.message || String(value),\r\n className: value.name || 'Error',\r\n };\r\n }\r\n return {\r\n type: 'object',\r\n value: {\r\n properties: Object.entries(value).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction isComponentPublicInstance(value) {\r\n return value.$ && isComponentInternalInstance(value.$);\r\n}\r\nfunction isComponentInternalInstance(value) {\r\n return value.type && value.uid != null && value.appContext;\r\n}\r\nfunction formatComponentPublicInstance(value, depth) {\r\n return {\r\n type: 'object',\r\n className: 'ComponentPublicInstance',\r\n value: {\r\n properties: Object.entries(value.$.type).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction formatComponentInternalInstance(value, depth) {\r\n return {\r\n type: 'object',\r\n className: 'ComponentInternalInstance',\r\n value: {\r\n properties: Object.entries(value.type).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction isUniElement(value) {\r\n return value.style && value.tagName != null && value.nodeName != null;\r\n}\r\nfunction formatUniElement(value, depth) {\r\n return {\r\n type: 'object',\r\n // 非 x 没有 UniElement 的概念\r\n // className: 'UniElement',\r\n value: {\r\n properties: Object.entries(value)\r\n .filter(([name]) => [\r\n 'id',\r\n 'tagName',\r\n 'nodeName',\r\n 'dataset',\r\n 'offsetTop',\r\n 'offsetLeft',\r\n 'style',\r\n ].includes(name))\r\n .map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction isCSSStyleDeclaration(value) {\r\n return (typeof value.getPropertyValue === 'function' &&\r\n typeof value.setProperty === 'function' &&\r\n value.$styles);\r\n}\r\nfunction formatCSSStyleDeclaration(style, depth) {\r\n return {\r\n type: 'object',\r\n value: {\r\n properties: Object.entries(style.$styles).map(([name, value]) => formatObjectProperty(name, value, depth + 1)),\r\n },\r\n };\r\n}\r\nfunction formatObjectProperty(name, value, depth) {\r\n return Object.assign(formatArg(value, depth), {\r\n name,\r\n });\r\n}\r\nfunction formatArrayElement(value, index, depth) {\r\n return Object.assign(formatArg(value, depth), {\r\n name: `${index}`,\r\n });\r\n}\r\nfunction formatSetEntry(value, depth) {\r\n return {\r\n value: formatArg(value, depth),\r\n };\r\n}\r\nfunction formatMapEntry(value, depth) {\r\n return {\r\n key: formatArg(value[0], depth),\r\n value: formatArg(value[1], depth),\r\n };\r\n}\r\nconst ARG_FORMATTERS = {\r\n function(value) {\r\n return {\r\n type: 'function',\r\n value: `function ${value.name}() {}`,\r\n };\r\n },\r\n undefined() {\r\n return {\r\n type: 'undefined',\r\n };\r\n },\r\n object(value, depth) {\r\n return formatObject(value, depth);\r\n },\r\n boolean(value) {\r\n return {\r\n type: 'boolean',\r\n value: String(value),\r\n };\r\n },\r\n number(value) {\r\n return {\r\n type: 'number',\r\n value: String(value),\r\n };\r\n },\r\n bigint(value) {\r\n return {\r\n type: 'bigint',\r\n value: String(value),\r\n };\r\n },\r\n string(value) {\r\n return {\r\n type: 'string',\r\n value,\r\n };\r\n },\r\n symbol(value) {\r\n return {\r\n type: 'symbol',\r\n value: value.description,\r\n };\r\n },\r\n};\r\n\r\nfunction initRuntimeSocket(hosts, port, id) {\r\n if (!hosts || !port || !id)\r\n return Promise.resolve(null);\r\n return hosts\r\n .split(',')\r\n .reduce((promise, host) => {\r\n return promise.then((socket) => {\r\n if (socket)\r\n return socket;\r\n return tryConnectSocket(host, port, id);\r\n });\r\n }, Promise.resolve(null));\r\n}\r\nconst SOCKET_TIMEOUT = 500;\r\nfunction tryConnectSocket(host, port, id) {\r\n return new Promise((resolve, reject) => {\r\n const socket = uni.connectSocket({\r\n url: `ws://${host}:${port}/${id}`,\r\n // 支付宝小程序 是否开启多实例\r\n multiple: true,\r\n fail() {\r\n resolve(null);\r\n },\r\n });\r\n const timer = setTimeout(() => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect timeout: ${host}`);\r\n }\r\n socket.close({\r\n code: 1006,\r\n reason: 'connect timeout',\r\n });\r\n resolve(null);\r\n }, SOCKET_TIMEOUT);\r\n socket.onOpen((e) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect success: ${host}`, e);\r\n }\r\n clearTimeout(timer);\r\n resolve(socket);\r\n });\r\n socket.onClose((e) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect close: ${host}`, e);\r\n }\r\n clearTimeout(timer);\r\n resolve(null);\r\n });\r\n socket.onError((e) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, `connect error: ${host}`, e);\r\n }\r\n clearTimeout(timer);\r\n resolve(null);\r\n });\r\n });\r\n}\r\n\r\nlet sendError = null;\r\n// App.onError会监听到两类错误,一类是小程序自身抛出的,一类是 vue 的 errorHandler 触发的\r\n// uni.onError 和 App.onError 会同时监听到错误(主要是App.onError监听之前的错误),所以需要用 Set 来去重\r\n// uni.onError 会在 App.onError 上边同时增加监听,因为要监听 vue 的errorHandler\r\n// 目前 vue 的 errorHandler 仅会callHook('onError'),所以需要把uni.onError的也挂在 App.onError 上\r\nconst errorQueue = new Set();\r\nfunction sendErrorMessages(errors) {\r\n if (sendError == null) {\r\n errors.forEach((error) => {\r\n errorQueue.add(error);\r\n });\r\n return;\r\n }\r\n sendError(JSON.stringify({\r\n type: 'error',\r\n data: errors.map((err) => {\r\n const isPromiseRejection = err && 'promise' in err && 'reason' in err;\r\n const prefix = isPromiseRejection ? 'UnhandledPromiseRejection: ' : '';\r\n if (isPromiseRejection) {\r\n err = err.reason;\r\n }\r\n if (err instanceof Error && err.stack) {\r\n return prefix + err.stack;\r\n }\r\n if (typeof err === 'object' && err !== null) {\r\n try {\r\n return prefix + JSON.stringify(err);\r\n }\r\n catch (err) {\r\n return prefix + String(err);\r\n }\r\n }\r\n return prefix + String(err);\r\n }),\r\n }));\r\n}\r\nfunction setSendError(value) {\r\n sendError = value;\r\n if (value != null && errorQueue.size > 0) {\r\n const errors = Array.from(errorQueue);\r\n errorQueue.clear();\r\n sendErrorMessages(errors);\r\n }\r\n}\r\nfunction initOnError() {\r\n function onError(error) {\r\n try {\r\n // 小红书小程序 socket.send 时,会报错,onError错误信息为:\r\n // Cannot create property 'errMsg' on string 'taskId'\r\n // 导致陷入死循环\r\n if (typeof PromiseRejectionEvent !== 'undefined' &&\r\n error instanceof PromiseRejectionEvent &&\r\n error.reason instanceof Error &&\r\n error.reason.message &&\r\n error.reason.message.includes(`Cannot create property 'errMsg' on string 'taskId`)) {\r\n return;\r\n }\r\n if (__UNI_CONSOLE_KEEP_ORIGINAL__) {\r\n originalConsole.error(error);\r\n }\r\n sendErrorMessages([error]);\r\n }\r\n catch (err) {\r\n originalConsole.error(err);\r\n }\r\n }\r\n if (typeof uni.onError === 'function') {\r\n uni.onError(onError);\r\n }\r\n if (typeof uni.onUnhandledRejection === 'function') {\r\n uni.onUnhandledRejection(onError);\r\n }\r\n return function offError() {\r\n if (typeof uni.offError === 'function') {\r\n uni.offError(onError);\r\n }\r\n if (typeof uni.offUnhandledRejection === 'function') {\r\n uni.offUnhandledRejection(onError);\r\n }\r\n };\r\n}\r\n\r\nfunction initRuntimeSocketService() {\r\n const hosts = __UNI_SOCKET_HOSTS__;\r\n const port = __UNI_SOCKET_PORT__;\r\n const id = __UNI_SOCKET_ID__;\r\n if (!hosts || !port || !id)\r\n return Promise.resolve(false);\r\n // 百度小程序需要延迟初始化,不然会存在循环引用问题vendor.js\r\n const lazy = typeof swan !== 'undefined';\r\n // 重写需要同步,避免丢失早期日志信息\r\n let restoreError = lazy ? () => { } : initOnError();\r\n let restoreConsole = lazy ? () => { } : rewriteConsole();\r\n // 百度小程序需要异步初始化,不然调用 uni.connectSocket 会循环引入vendor.js\r\n return Promise.resolve().then(() => {\r\n if (lazy) {\r\n restoreError = initOnError();\r\n restoreConsole = rewriteConsole();\r\n }\r\n return initRuntimeSocket(hosts, port, id).then((socket) => {\r\n if (!socket) {\r\n restoreError();\r\n restoreConsole();\r\n originalConsole.error(wrapError('开发模式下日志通道建立 socket 连接失败。'));\r\n originalConsole.error(wrapError('如果是小程序平台,请勾选不校验合法域名配置。'));\r\n originalConsole.error(wrapError('如果是运行到真机,请确认手机与电脑处于同一网络。'));\r\n return false;\r\n }\r\n initMiniProgramGlobalFlag();\r\n socket.onClose(() => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][socket]`, 'connect close and restore');\r\n }\r\n originalConsole.error(wrapError('开发模式下日志通道 socket 连接关闭,请在 HBuilderX 中重新运行。'));\r\n restoreError();\r\n restoreConsole();\r\n });\r\n setSendConsole((data) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][console]`, data);\r\n }\r\n socket.send({\r\n data,\r\n });\r\n });\r\n setSendError((data) => {\r\n if (process.env.UNI_DEBUG) {\r\n originalConsole.log(`uni-app:[${Date.now()}][error]`, data);\r\n }\r\n socket.send({\r\n data,\r\n });\r\n });\r\n return true;\r\n });\r\n });\r\n}\r\nconst ERROR_CHAR = '\\u200C';\r\nfunction wrapError(error) {\r\n return `${ERROR_CHAR}${error}${ERROR_CHAR}`;\r\n}\r\nfunction initMiniProgramGlobalFlag() {\r\n if (typeof wx !== 'undefined') {\r\n // @ts-expect-error\r\n wx.__uni_console__ = true;\r\n }\r\n else if (typeof my !== 'undefined') {\r\n my.__uni_console__ = true;\r\n }\r\n else if (typeof tt !== 'undefined') {\r\n tt.__uni_console__ = true;\r\n }\r\n else if (typeof swan !== 'undefined') {\r\n swan.__uni_console__ = true;\r\n }\r\n else if (typeof qq !== 'undefined') {\r\n qq.__uni_console__ = true;\r\n }\r\n else if (typeof ks !== 'undefined') {\r\n ks.__uni_console__ = true;\r\n }\r\n else if (typeof jd !== 'undefined') {\r\n jd.__uni_console__ = true;\r\n }\r\n else if (typeof xhs !== 'undefined') {\r\n xhs.__uni_console__ = true;\r\n }\r\n else if (typeof has !== 'undefined') {\r\n has.__uni_console__ = true;\r\n }\r\n else if (typeof qa !== 'undefined') {\r\n qa.__uni_console__ = true;\r\n }\r\n}\r\ninitRuntimeSocketService();\r\n\r\nexport { initRuntimeSocketService };\r\n","import { VIRTUAL_HOST_ID, SLOT_DEFAULT_NAME, invokeArrayFns, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_RESIZE, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_ADD_TO_FAVORITES, isUniLifecycleHook, ON_READY, once, ON_LAUNCH, ON_ERROR, ON_THEME_CHANGE, ON_PAGE_NOT_FOUND, ON_UNHANDLE_REJECTION, VIRTUAL_HOST_STYLE, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, addLeadingSlash, stringifyQuery, customizeEvent } from '@dcloudio/uni-shared';\r\nimport { hasOwn, isArray, isFunction, extend, isPlainObject, isObject } from '@vue/shared';\r\nimport { injectHook, ref, findComponentPropsData, toRaw, updateProps, hasQueueJob, invalidateJob, devtoolsComponentAdded, getExposeProxy, pruneComponentPropsCache } from 'vue';\r\nimport { normalizeLocale, LOCALE_EN } from '@dcloudio/uni-i18n';\r\n\r\nfunction initVueIds(vueIds, mpInstance) {\r\n if (!vueIds) {\r\n return;\r\n }\r\n const ids = vueIds.split(',');\r\n const len = ids.length;\r\n if (len === 1) {\r\n mpInstance._$vueId = ids[0];\r\n }\r\n else if (len === 2) {\r\n mpInstance._$vueId = ids[0];\r\n mpInstance._$vuePid = ids[1];\r\n }\r\n}\r\nconst EXTRAS = ['externalClasses'];\r\nfunction initExtraOptions(miniProgramComponentOptions, vueOptions) {\r\n EXTRAS.forEach((name) => {\r\n if (hasOwn(vueOptions, name)) {\r\n miniProgramComponentOptions[name] = vueOptions[name];\r\n }\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\nfunction initWxsCallMethods(methods, wxsCallMethods) {\r\n if (!isArray(wxsCallMethods)) {\r\n return;\r\n }\r\n wxsCallMethods.forEach((callMethod) => {\r\n methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args);\r\n };\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.properties.uR;\r\n $refs[ref] = component.$vm || component;\r\n });\r\n}\r\nfunction initRefs(instance, mpInstance) {\r\n Object.defineProperty(instance, 'refs', {\r\n get() {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.r', $refs);\r\n const forComponents = mpInstance.selectAllComponents('.r-i-f');\r\n forComponents.forEach((component) => {\r\n const ref = component.properties.uR;\r\n if (!ref) {\r\n return;\r\n }\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || component);\r\n });\r\n return $refs;\r\n },\r\n });\r\n}\r\nfunction findVmByVueId(instance, vuePid) {\r\n // 标准 vue3 中 没有 $children,定制了内核\r\n const $children = instance.$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\nconst MP_METHODS = [\r\n 'createSelectorQuery',\r\n 'createIntersectionObserver',\r\n 'selectAllComponents',\r\n 'selectComponent',\r\n];\r\nfunction createEmitFn(oldEmit, ctx) {\r\n return function emit(event, ...args) {\r\n const scope = ctx.$scope;\r\n if (scope && event) {\r\n const detail = { __args__: args };\r\n {\r\n scope.triggerEvent(event, detail);\r\n }\r\n }\r\n return oldEmit.apply(this, [event, ...args]);\r\n };\r\n}\r\nfunction initBaseInstance(instance, options) {\r\n const ctx = instance.ctx;\r\n // mp\r\n ctx.mpType = options.mpType; // @deprecated\r\n ctx.$mpType = options.mpType;\r\n ctx.$mpPlatform = \"mp-weixin\";\r\n ctx.$scope = options.mpInstance;\r\n {\r\n // mergeVirtualHostAttributes\r\n Object.defineProperties(ctx, {\r\n // only id\r\n [VIRTUAL_HOST_ID]: {\r\n get() {\r\n const id = this.$scope.data[VIRTUAL_HOST_ID];\r\n // props in page can be undefined\r\n return id === undefined ? '' : id;\r\n },\r\n },\r\n });\r\n }\r\n // TODO @deprecated\r\n ctx.$mp = {};\r\n if (__VUE_OPTIONS_API__) {\r\n ctx._self = {};\r\n }\r\n // slots\r\n instance.slots = {};\r\n if (isArray(options.slots) && options.slots.length) {\r\n options.slots.forEach((name) => {\r\n instance.slots[name] = true;\r\n });\r\n if (instance.slots[SLOT_DEFAULT_NAME]) {\r\n instance.slots.default = true;\r\n }\r\n }\r\n ctx.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return options.mpInstance.getOpenerEventChannel();\r\n }\r\n };\r\n ctx.$hasHook = hasHook;\r\n ctx.$callHook = callHook;\r\n // $emit\r\n instance.emit = createEmitFn(instance.emit, ctx);\r\n}\r\nfunction initComponentInstance(instance, options) {\r\n initBaseInstance(instance, options);\r\n const ctx = instance.ctx;\r\n MP_METHODS.forEach((method) => {\r\n ctx[method] = function (...args) {\r\n const mpInstance = ctx.$scope;\r\n if (mpInstance && mpInstance[method]) {\r\n return mpInstance[method].apply(mpInstance, args);\r\n }\r\n };\r\n });\r\n}\r\nfunction initMocks(instance, mpInstance, mocks) {\r\n const ctx = instance.ctx;\r\n mocks.forEach((mock) => {\r\n if (hasOwn(mpInstance, mock)) {\r\n instance[mock] = ctx[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\nfunction hasHook(name) {\r\n const hooks = this.$[name];\r\n if (hooks && hooks.length) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction callHook(name, args) {\r\n if (name === 'mounted') {\r\n callHook.call(this, 'bm'); // beforeMount\r\n this.$.isMounted = true;\r\n name = 'm';\r\n }\r\n const hooks = this.$[name];\r\n return hooks && invokeArrayFns(hooks, args);\r\n}\r\n\r\nconst PAGE_INIT_HOOKS = [\r\n ON_LOAD,\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_UNLOAD,\r\n ON_RESIZE,\r\n ON_TAB_ITEM_TAP,\r\n ON_REACH_BOTTOM,\r\n ON_PULL_DOWN_REFRESH,\r\n ON_ADD_TO_FAVORITES,\r\n // 'onReady', // lifetimes.ready\r\n // 'onPageScroll', // 影响性能,开发者手动注册\r\n // 'onShareTimeline', // 右上角菜单,开发者手动注册\r\n // 'onShareAppMessage' // 右上角菜单,开发者手动注册\r\n];\r\nfunction findHooks(vueOptions, hooks = new Set()) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (isUniLifecycleHook(name, vueOptions[name])) {\r\n hooks.add(name);\r\n }\r\n });\r\n if (__VUE_OPTIONS_API__) {\r\n const { extends: extendsOptions, mixins } = vueOptions;\r\n if (mixins) {\r\n mixins.forEach((mixin) => findHooks(mixin, hooks));\r\n }\r\n if (extendsOptions) {\r\n findHooks(extendsOptions, hooks);\r\n }\r\n }\r\n }\r\n return hooks;\r\n}\r\nfunction initHook(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.$callHook(hook, args);\r\n };\r\n }\r\n}\r\nconst EXCLUDE_HOOKS = [ON_READY];\r\nfunction initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) {\r\n hooks.forEach((hook) => initHook(mpOptions, hook, excludes));\r\n}\r\nfunction initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) {\r\n findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes));\r\n}\r\nfunction initRuntimeHooks(mpOptions, runtimeHooks) {\r\n if (!runtimeHooks) {\r\n return;\r\n }\r\n const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS);\r\n hooks.forEach((hook) => {\r\n if (runtimeHooks & MINI_PROGRAM_PAGE_RUNTIME_HOOKS[hook]) {\r\n initHook(mpOptions, hook, []);\r\n }\r\n });\r\n}\r\nconst findMixinRuntimeHooks = /*#__PURE__*/ once(() => {\r\n const runtimeHooks = [];\r\n const app = isFunction(getApp) && getApp({ allowDefault: true });\r\n if (app && app.$vm && app.$vm.$) {\r\n const mixins = app.$vm.$.appContext.mixins;\r\n if (isArray(mixins)) {\r\n const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS);\r\n mixins.forEach((mixin) => {\r\n hooks.forEach((hook) => {\r\n if (hasOwn(mixin, hook) && !runtimeHooks.includes(hook)) {\r\n runtimeHooks.push(hook);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n return runtimeHooks;\r\n});\r\nfunction initMixinRuntimeHooks(mpOptions) {\r\n initHooks(mpOptions, findMixinRuntimeHooks());\r\n}\r\n\r\nconst HOOKS = [\r\n ON_SHOW,\r\n ON_HIDE,\r\n ON_ERROR,\r\n ON_THEME_CHANGE,\r\n ON_PAGE_NOT_FOUND,\r\n ON_UNHANDLE_REJECTION,\r\n];\r\nfunction parseApp(instance, parseAppOptions) {\r\n const internalInstance = instance.$;\r\n if (__VUE_PROD_DEVTOOLS__) {\r\n // 定制 App 的 $children\r\n Object.defineProperty(internalInstance.ctx, '$children', {\r\n get() {\r\n return getCurrentPages().map((page) => page.$vm);\r\n },\r\n });\r\n }\r\n const appOptions = {\r\n globalData: (instance.$options && instance.$options.globalData) || {},\r\n $vm: instance, // mp-alipay 组件 data 初始化比 onLaunch 早,提前挂载\r\n onLaunch(options) {\r\n this.$vm = instance; // 飞书小程序可能会把 AppOptions 序列化,导致 $vm 对象部分属性丢失\r\n const ctx = internalInstance.ctx;\r\n if (this.$vm && ctx.$scope && ctx.$callHook) {\r\n // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n // $scope值在微信小程序混合分包情况下存在,额外用$callHook兼容判断处理\r\n return;\r\n }\r\n initBaseInstance(internalInstance, {\r\n mpType: 'app',\r\n mpInstance: this,\r\n slots: [],\r\n });\r\n ctx.globalData = this.globalData;\r\n instance.$callHook(ON_LAUNCH, options);\r\n },\r\n };\r\n const onErrorHandlers = wx.$onErrorHandlers;\r\n if (onErrorHandlers) {\r\n onErrorHandlers.forEach((fn) => {\r\n injectHook(ON_ERROR, fn, internalInstance);\r\n });\r\n onErrorHandlers.length = 0;\r\n }\r\n initLocale(instance);\r\n const vueOptions = instance.$.type;\r\n initHooks(appOptions, HOOKS);\r\n initUnknownHooks(appOptions, vueOptions);\r\n if (__VUE_OPTIONS_API__) {\r\n const methods = vueOptions.methods;\r\n methods && extend(appOptions, methods);\r\n }\r\n return appOptions;\r\n}\r\nfunction initCreateApp(parseAppOptions) {\r\n return function createApp(vm) {\r\n return App(parseApp(vm));\r\n };\r\n}\r\nfunction initCreateSubpackageApp(parseAppOptions) {\r\n return function createApp(vm) {\r\n const appOptions = parseApp(vm);\r\n const app = isFunction(getApp) &&\r\n getApp({\r\n allowDefault: true,\r\n });\r\n if (!app)\r\n return;\r\n vm.$.ctx.$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 initAppLifecycle(appOptions, vm);\r\n if (process.env.UNI_SUBPACKAGE) {\r\n (wx.$subpackages || (wx.$subpackages = {}))[process.env.UNI_SUBPACKAGE] = {\r\n $vm: vm,\r\n };\r\n }\r\n };\r\n}\r\nfunction initAppLifecycle(appOptions, vm) {\r\n if (isFunction(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n appOptions.onLaunch(args);\r\n }\r\n if (isFunction(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((args) => {\r\n vm.$callHook('onShow', args);\r\n });\r\n }\r\n if (isFunction(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((args) => {\r\n vm.$callHook('onHide', args);\r\n });\r\n }\r\n}\r\nfunction initLocale(appVm) {\r\n const locale = ref(normalizeLocale(wx.getAppBaseInfo().language) || LOCALE_EN\r\n );\r\n Object.defineProperty(appVm, '$locale', {\r\n get() {\r\n return locale.value;\r\n },\r\n set(v) {\r\n locale.value = v;\r\n },\r\n });\r\n}\r\n\r\nconst builtInProps = [\r\n // 百度小程序,快手小程序自定义组件不支持绑定动态事件,动态dataset,故通过props传递事件信息\r\n // event-opts\r\n 'eO',\r\n // 组件 ref\r\n 'uR',\r\n // 组件 ref-in-for\r\n 'uRIF',\r\n // 组件 id\r\n 'uI',\r\n // 组件类型 m: 小程序组件\r\n 'uT',\r\n // 组件 props\r\n 'uP',\r\n // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n 'uS',\r\n];\r\nfunction initDefaultProps(options, isBehavior = false) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n // 均不指定类型,避免微信小程序 property received type-uncompatible value 警告\r\n builtInProps.forEach((name) => {\r\n properties[name] = {\r\n type: null,\r\n value: '',\r\n };\r\n });\r\n // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n function observerSlots(newVal) {\r\n const $slots = Object.create(null);\r\n newVal &&\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 properties.uS = {\r\n type: null,\r\n value: [],\r\n };\r\n {\r\n properties.uS.observer = observerSlots;\r\n }\r\n }\r\n if (options.behaviors) {\r\n // wx://form-field\r\n if (options.behaviors.includes('wx' + '://form-field')) {\r\n if (!options.properties || !options.properties.name) {\r\n properties.name = {\r\n type: null,\r\n value: '',\r\n };\r\n }\r\n if (!options.properties || !options.properties.value) {\r\n properties.value = {\r\n type: null,\r\n value: '',\r\n };\r\n }\r\n }\r\n }\r\n return properties;\r\n}\r\nfunction initVirtualHostProps(options) {\r\n const properties = {};\r\n {\r\n if ((options && options.virtualHost)) {\r\n properties[VIRTUAL_HOST_STYLE] = {\r\n type: null,\r\n value: '',\r\n };\r\n properties[VIRTUAL_HOST_CLASS] = {\r\n type: null,\r\n value: '',\r\n };\r\n properties[VIRTUAL_HOST_HIDDEN] = {\r\n type: null,\r\n value: '',\r\n };\r\n properties[VIRTUAL_HOST_ID] = {\r\n type: null,\r\n value: '',\r\n };\r\n }\r\n }\r\n return properties;\r\n}\r\n/**\r\n *\r\n * @param mpComponentOptions\r\n * @param isBehavior\r\n */\r\nfunction initProps(mpComponentOptions) {\r\n if (!mpComponentOptions.properties) {\r\n mpComponentOptions.properties = {};\r\n }\r\n extend(mpComponentOptions.properties, initDefaultProps(mpComponentOptions), initVirtualHostProps(mpComponentOptions.options));\r\n}\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\nfunction parsePropType(type, defaultValue) {\r\n // [String]=>String\r\n if (isArray(type) && type.length === 1) {\r\n return type[0];\r\n }\r\n return type;\r\n}\r\nfunction normalizePropType(type, defaultValue) {\r\n const res = parsePropType(type);\r\n return PROP_TYPES.indexOf(res) !== -1 ? res : null;\r\n}\r\n/**\r\n * 初始化页面 props,方便接收页面参数,类型均为String,默认值均为''\r\n * @param param\r\n * @param rawProps\r\n */\r\nfunction initPageProps({ properties }, rawProps) {\r\n if (isArray(rawProps)) {\r\n rawProps.forEach((key) => {\r\n properties[key] = {\r\n type: String,\r\n value: '',\r\n };\r\n });\r\n }\r\n else if (isPlainObject(rawProps)) {\r\n Object.keys(rawProps).forEach((key) => {\r\n const opts = rawProps[key];\r\n if (isPlainObject(opts)) {\r\n // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFunction(value)) {\r\n value = value();\r\n }\r\n const type = opts.type;\r\n opts.type = normalizePropType(type);\r\n properties[key] = {\r\n type: opts.type,\r\n value,\r\n };\r\n }\r\n else {\r\n // content:String\r\n properties[key] = {\r\n type: normalizePropType(opts),\r\n };\r\n }\r\n });\r\n }\r\n}\r\nfunction findPropsData(properties, isPage) {\r\n return ((isPage\r\n ? findPagePropsData(properties)\r\n : findComponentPropsData(resolvePropValue(properties.uP))) || {});\r\n}\r\nfunction findPagePropsData(properties) {\r\n const propsData = {};\r\n if (isPlainObject(properties)) {\r\n Object.keys(properties).forEach((name) => {\r\n if (builtInProps.indexOf(name) === -1) {\r\n propsData[name] = resolvePropValue(properties[name]);\r\n }\r\n });\r\n }\r\n return propsData;\r\n}\r\nfunction initFormField(vm) {\r\n // 同步 form-field 的 name,value 值\r\n const vueOptions = vm.$options;\r\n if (isArray(vueOptions.behaviors) &&\r\n vueOptions.behaviors.includes('uni://form-field')) {\r\n vm.$watch('modelValue', () => {\r\n vm.$scope &&\r\n vm.$scope.setData({\r\n name: vm.name,\r\n value: vm.modelValue,\r\n });\r\n }, {\r\n immediate: true,\r\n });\r\n }\r\n}\r\nfunction resolvePropValue(prop) {\r\n return prop;\r\n}\r\n\r\nfunction initData(_) {\r\n return {};\r\n}\r\nfunction initPropsObserver(componentOptions) {\r\n const observe = function observe() {\r\n const up = this.properties.uP;\r\n if (!up) {\r\n return;\r\n }\r\n if (this.$vm) {\r\n updateComponentProps(resolvePropValue(up), this.$vm.$);\r\n }\r\n else if (resolvePropValue(this.properties.uT) === 'm') {\r\n // 小程序组件\r\n updateMiniProgramComponentProperties(resolvePropValue(up), this);\r\n }\r\n };\r\n {\r\n if (!componentOptions.observers) {\r\n componentOptions.observers = {};\r\n }\r\n componentOptions.observers.uP = observe;\r\n }\r\n}\r\nfunction updateMiniProgramComponentProperties(up, mpInstance) {\r\n const prevProps = mpInstance.properties;\r\n const nextProps = findComponentPropsData(up) || {};\r\n if (hasPropsChanged(prevProps, nextProps, false)) {\r\n mpInstance.setData(nextProps);\r\n }\r\n}\r\nfunction updateComponentProps(up, instance) {\r\n const prevProps = toRaw(instance.props);\r\n const nextProps = findComponentPropsData(up) || {};\r\n if (hasPropsChanged(prevProps, nextProps)) {\r\n updateProps(instance, nextProps, prevProps, false);\r\n if (hasQueueJob(instance.update)) {\r\n invalidateJob(instance.update);\r\n }\r\n {\r\n instance.update();\r\n }\r\n }\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, checkLen = true) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (checkLen && nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction initBehaviors(vueOptions) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n let vueProps = vueOptions.props;\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n const behaviors = [];\r\n if (isArray(vueBehaviors)) {\r\n vueBehaviors.forEach((behavior) => {\r\n // 这里的 global 应该是个变量\r\n behaviors.push(behavior.replace('uni://', 'wx' + '://'));\r\n if (behavior === 'uni://form-field') {\r\n if (isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('modelValue');\r\n }\r\n else {\r\n vueProps.name = {\r\n type: String,\r\n default: '',\r\n };\r\n vueProps.modelValue = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: '',\r\n };\r\n }\r\n }\r\n });\r\n }\r\n return behaviors;\r\n}\r\nfunction applyOptions(componentOptions, vueOptions) {\r\n componentOptions.data = initData();\r\n componentOptions.behaviors = initBehaviors(vueOptions);\r\n}\r\n\r\nfunction parseComponent(vueOptions, { parse, mocks, isPage, isPageInProject, initRelation, handleLink, initLifetimes, }) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n pureDataPattern: /^uP$/,\r\n };\r\n if (isArray(vueOptions.mixins)) {\r\n vueOptions.mixins.forEach((item) => {\r\n if (isObject(item.options)) {\r\n extend(options, item.options);\r\n }\r\n });\r\n }\r\n if (vueOptions.options) {\r\n extend(options, vueOptions.options);\r\n }\r\n const mpComponentOptions = {\r\n options,\r\n lifetimes: initLifetimes({ mocks, isPage, initRelation, vueOptions }),\r\n pageLifetimes: {\r\n show() {\r\n if (__VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentAdded(this.$vm.$);\r\n }\r\n this.$vm && this.$vm.$callHook('onPageShow');\r\n },\r\n hide() {\r\n this.$vm && this.$vm.$callHook('onPageHide');\r\n },\r\n resize(size) {\r\n this.$vm && this.$vm.$callHook('onPageResize', size);\r\n },\r\n },\r\n methods: {\r\n __l: handleLink,\r\n },\r\n };\r\n if (__VUE_OPTIONS_API__) {\r\n applyOptions(mpComponentOptions, vueOptions);\r\n }\r\n initProps(mpComponentOptions);\r\n initPropsObserver(mpComponentOptions);\r\n initExtraOptions(mpComponentOptions, vueOptions);\r\n initWxsCallMethods(mpComponentOptions.methods, vueOptions.wxsCallMethods);\r\n {\r\n initWorkletMethods(mpComponentOptions.methods, vueOptions.methods);\r\n }\r\n if (parse) {\r\n parse(mpComponentOptions, { handleLink });\r\n }\r\n return mpComponentOptions;\r\n}\r\nfunction initCreateComponent(parseOptions) {\r\n return function createComponent(vueComponentOptions) {\r\n return Component(parseComponent(vueComponentOptions, parseOptions));\r\n };\r\n}\r\nlet $createComponentFn;\r\nlet $destroyComponentFn;\r\nfunction getAppVm() {\r\n if (process.env.UNI_MP_PLUGIN) {\r\n return wx.$vm;\r\n }\r\n if (process.env.UNI_SUBPACKAGE) {\r\n return wx.$subpackages[process.env.UNI_SUBPACKAGE].$vm;\r\n }\r\n return getApp().$vm;\r\n}\r\nfunction $createComponent(initialVNode, options) {\r\n if (!$createComponentFn) {\r\n $createComponentFn = getAppVm().$createComponent;\r\n }\r\n const proxy = $createComponentFn(initialVNode, options);\r\n return getExposeProxy(proxy.$) || proxy;\r\n}\r\nfunction $destroyComponent(instance) {\r\n if (!$destroyComponentFn) {\r\n $destroyComponentFn = getAppVm().$destroyComponent;\r\n }\r\n return $destroyComponentFn(instance);\r\n}\r\n\r\nfunction parsePage(vueOptions, parseOptions) {\r\n const { parse, mocks, isPage, initRelation, handleLink, initLifetimes } = parseOptions;\r\n const miniProgramPageOptions = parseComponent(vueOptions, {\r\n mocks,\r\n isPage,\r\n isPageInProject: true,\r\n initRelation,\r\n handleLink,\r\n initLifetimes,\r\n });\r\n initPageProps(miniProgramPageOptions, (vueOptions.default || vueOptions).props);\r\n const methods = miniProgramPageOptions.methods;\r\n methods.onLoad = function (query) {\r\n {\r\n this.options = query;\r\n }\r\n this.$page = {\r\n fullPath: addLeadingSlash(this.route + stringifyQuery(query)),\r\n };\r\n return this.$vm && this.$vm.$callHook(ON_LOAD, query);\r\n };\r\n initHooks(methods, PAGE_INIT_HOOKS);\r\n {\r\n initUnknownHooks(methods, vueOptions);\r\n }\r\n initRuntimeHooks(methods, vueOptions.__runtimeHooks);\r\n initMixinRuntimeHooks(methods);\r\n parse && parse(miniProgramPageOptions, { handleLink });\r\n return miniProgramPageOptions;\r\n}\r\nfunction initCreatePage(parseOptions) {\r\n return function createPage(vuePageOptions) {\r\n return Component(parsePage(vuePageOptions, parseOptions));\r\n };\r\n}\r\n\r\nfunction initCreatePluginApp(parseAppOptions) {\r\n return function createApp(vm) {\r\n initAppLifecycle(parseApp(vm), vm);\r\n if (process.env.UNI_MP_PLUGIN) {\r\n wx.$vm = vm;\r\n }\r\n };\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\nfunction initTriggerEvent(mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n return oldTriggerEvent.apply(mpInstance, [\r\n customizeEvent(event),\r\n ...args,\r\n ]);\r\n };\r\n // 京东小程序triggerEvent为只读属性\r\n try {\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n }\r\n catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\nfunction initMiniProgramHook(name, options, isComponent) {\r\n const oldHook = options[name];\r\n if (!oldHook) {\r\n options[name] = function () {\r\n initTriggerEvent(this);\r\n };\r\n }\r\n else {\r\n options[name] = function (...args) {\r\n initTriggerEvent(this);\r\n return oldHook.apply(this, args);\r\n };\r\n }\r\n}\r\nPage = function (options) {\r\n initMiniProgramHook(ON_LOAD, options);\r\n return MPPage(options);\r\n};\r\nComponent = function (options) {\r\n initMiniProgramHook('created', options);\r\n // 小程序组件\r\n const isVueComponent = options.properties && options.properties.uP;\r\n if (!isVueComponent) {\r\n initProps(options);\r\n initPropsObserver(options);\r\n }\r\n return MPComponent(options);\r\n};\r\n\r\n// @ts-expect-error\r\nfunction initLifetimes({ mocks, isPage, initRelation, vueOptions, }) {\r\n return {\r\n attached() {\r\n let properties = this.properties;\r\n initVueIds(properties.uI, this);\r\n const relationOptions = {\r\n vuePid: this._$vuePid,\r\n };\r\n // 处理父子关系\r\n initRelation(this, relationOptions);\r\n // 初始化 vue 实例\r\n const mpInstance = this;\r\n const isMiniProgramPage = isPage(mpInstance);\r\n let propsData = properties;\r\n this.$vm = $createComponent({\r\n type: vueOptions,\r\n props: findPropsData(propsData, isMiniProgramPage),\r\n }, {\r\n mpType: isMiniProgramPage ? 'page' : 'component',\r\n mpInstance,\r\n slots: properties.uS || {}, // vueSlots\r\n parentComponent: relationOptions.parent && relationOptions.parent.$,\r\n onBeforeSetup(instance, options) {\r\n initRefs(instance, mpInstance);\r\n initMocks(instance, mpInstance, mocks);\r\n initComponentInstance(instance, options);\r\n },\r\n });\r\n if (process.env.UNI_DEBUG) {\r\n console.log('uni-app:[' +\r\n Date.now() +\r\n '][' +\r\n (mpInstance.is || mpInstance.route) +\r\n '][' +\r\n this.$vm.$.uid +\r\n ']attached');\r\n }\r\n if (!isMiniProgramPage) {\r\n initFormField(this.$vm);\r\n }\r\n },\r\n ready() {\r\n if (process.env.UNI_DEBUG) {\r\n console.log('uni-app:[' + Date.now() + '][' + (this.is || this.route) + ']ready');\r\n }\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 {\r\n this.$vm.$callHook('mounted');\r\n this.$vm.$callHook(ON_READY);\r\n }\r\n }\r\n },\r\n detached() {\r\n if (this.$vm) {\r\n pruneComponentPropsCache(this.$vm.$.uid);\r\n $destroyComponent(this.$vm);\r\n }\r\n },\r\n };\r\n}\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\nfunction isPage(mpInstance) {\r\n return !!mpInstance.route;\r\n}\r\nfunction initRelation(mpInstance, detail) {\r\n mpInstance.triggerEvent('__l', detail);\r\n}\r\nfunction handleLink(event) {\r\n // detail 是微信,value 是百度(dipatch)\r\n const detail = (event.detail ||\r\n event.value);\r\n const vuePid = detail.vuePid;\r\n let parentVm;\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n detail.parent = parentVm;\r\n}\r\n\r\nvar parseOptions = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n handleLink: handleLink,\r\n initLifetimes: initLifetimes,\r\n initRelation: initRelation,\r\n isPage: isPage,\r\n mocks: mocks\r\n});\r\n\r\nconst createApp = initCreateApp();\r\nconst createPage = initCreatePage(parseOptions);\r\nconst createComponent = initCreateComponent(parseOptions);\r\nconst createPluginApp = initCreatePluginApp();\r\nconst createSubpackageApp = initCreateSubpackageApp();\r\n{\r\n wx.createApp = global.createApp = createApp;\r\n wx.createPage = createPage;\r\n wx.createComponent = createComponent;\r\n wx.createPluginApp = global.createPluginApp =\r\n createPluginApp;\r\n wx.createSubpackageApp = global.createSubpackageApp =\r\n createSubpackageApp;\r\n}\r\n\r\nexport { createApp, createComponent, createPage, createPluginApp, createSubpackageApp };\r\n"],"names":["set","hasOwnProperty","hasOwn","isObject","s","invokeArrayFns","n","compile","index","formater","uni","t","key","values","locale","createErrorHandler","e","self","effect","trigger","computed","isReadonly","isShallow","has","r","queue","p","diff","version","isModelListener","Component","once","createApp","plugin","callHook","get","c","h","m","initProps","resolvePropValue","getType","validateProp","assertType","getInvalidTypeMessage","isSimpleType","styleValue","isExplicable","isBoolean","resolve","f","ref","emit","uid","pruneComponentPropsCache","createVNode","createComponent","createComponent2","initHooks","applyOptions","interceptors","res","options","errMsg","Emitter","cid","protocols","global","getProvider","mocks","value","host","err","onError","offError","wx","isPage","observe","parse","initRelation","handleLink","initLifetimes","size","parseOptions","createPage"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}