diff --git a/component/rightItemsindex/index.vue b/component/rightItemsindex/index.vue index cf6cc1f..e10a10f 100644 --- a/component/rightItemsindex/index.vue +++ b/component/rightItemsindex/index.vue @@ -1195,7 +1195,6 @@ .time-text { margin-left: 10rpx; - // color: #364464; font-size: 70rpx; font-weight: 700; width: 800rpx; diff --git a/component/rightItemssecond/index.vue b/component/rightItemssecond/index.vue index 6c63ec8..e7ead79 100644 --- a/component/rightItemssecond/index.vue +++ b/component/rightItemssecond/index.vue @@ -1,6 +1,7 @@ \ No newline at end of file diff --git a/static/index/baba.png b/static/index/baba.png new file mode 100644 index 0000000..695d733 Binary files /dev/null and b/static/index/baba.png differ diff --git a/static/index/cheng.png b/static/index/cheng.png new file mode 100644 index 0000000..24879bc Binary files /dev/null and b/static/index/cheng.png differ diff --git a/static/index/close.png b/static/index/close.png new file mode 100644 index 0000000..c5cb9bb Binary files /dev/null and b/static/index/close.png differ diff --git a/static/index/crushpouple.png b/static/index/crushpouple.png new file mode 100644 index 0000000..de45150 Binary files /dev/null and b/static/index/crushpouple.png differ diff --git a/static/index/crushyellow.png b/static/index/crushyellow.png new file mode 100644 index 0000000..478181e Binary files /dev/null and b/static/index/crushyellow.png differ diff --git a/static/index/ji.png b/static/index/ji.png new file mode 100644 index 0000000..be4056b Binary files /dev/null and b/static/index/ji.png differ diff --git a/static/index/jidark.png b/static/index/jidark.png new file mode 100644 index 0000000..89e9e15 Binary files /dev/null and b/static/index/jidark.png differ diff --git a/static/index/niao.png b/static/index/niao.png new file mode 100644 index 0000000..d741577 Binary files /dev/null and b/static/index/niao.png differ diff --git a/static/index/ou.png b/static/index/ou.png new file mode 100644 index 0000000..4add146 Binary files /dev/null and b/static/index/ou.png differ diff --git a/static/index/ri.png b/static/index/ri.png new file mode 100644 index 0000000..02b3e32 Binary files /dev/null and b/static/index/ri.png differ diff --git a/static/index/ridark.png b/static/index/ridark.png new file mode 100644 index 0000000..68a9c43 Binary files /dev/null and b/static/index/ridark.png differ diff --git a/static/index/tu.png b/static/index/tu.png new file mode 100644 index 0000000..831b75c Binary files /dev/null and b/static/index/tu.png differ diff --git a/static/index/zhou.png b/static/index/zhou.png new file mode 100644 index 0000000..91ed3b3 Binary files /dev/null and b/static/index/zhou.png differ diff --git a/static/index/zhoudark.png b/static/index/zhoudark.png new file mode 100644 index 0000000..6ae261e Binary files /dev/null and b/static/index/zhoudark.png differ diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map index 550972e..9e911c5 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sources":["App.vue"],"sourcesContent":["\r\n\r\n\n"],"names":["uni"],"mappings":";;;;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"app.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map index 048beaf..95a4129 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map @@ -1 +1 @@ -{"version":3,"file":"assets.js","sources":["static/index/oldman.png","static/index/customer.png","static/index/undericons/upguang.png"],"sourcesContent":["export default \"__VITE_ASSET__71faa3fc__\"","export default \"__VITE_ASSET__3a5aea25__\"","export default \"__VITE_ASSET__bdab6700__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;;;;"} \ No newline at end of file +{"version":3,"file":"assets.js","sources":["static/index/oldman.png","static/index/customer.png","static/index/undericons/upguang.png","static/index/cheng.png"],"sourcesContent":["export default \"__VITE_ASSET__71faa3fc__\"","export default \"__VITE_ASSET__3a5aea25__\"","export default \"__VITE_ASSET__bdab6700__\"","export default \"__VITE_ASSET__7c82e504__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;;;;;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map index 3d80e04..303e821 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map @@ -1 +1 @@ -{"version":3,"file":"vendor.js","sources":["../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/shared/dist/shared.esm-bundler.js","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist/vue.runtime.esm.js","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.api.esm.js","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/dist/index.esm.js","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.mp.esm.js","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-app/dist/uni-app.es.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 = \""\";\r\n break;\r\n case 38:\r\n escaped = \"&\";\r\n break;\r\n case 39:\r\n escaped = \"'\";\r\n break;\r\n case 60:\r\n escaped = \"<\";\r\n break;\r\n case 62:\r\n escaped = \">\";\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 = /^-?>||--!>| 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 // 如果存在,减去 高度\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 \r\n\r\n","import Component from 'D:/hldy_app/component/rightItemsindex/index.vue'\nwx.createComponent(Component)"],"names":["ref","onMounted","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;AAutBC,UAAM,QAAQ;AAWR,UAAA,iBAAiBA,kBAAI,KAAK;AAC1B,UAAA,WAAWA,kBAAI,IAAI;AACnB,UAAA,YAAYA,kBAAI,GAAG;AACnB,UAAA,SAASA,kBAAI,GAAG;AAChB,UAAA,UAAUA,kBAAI,GAAG;AACjB,UAAA,wBAAwBA,kBAAI,KAAK;AAGjC,UAAA,oBAAoBA,kBAAI,KAAK;AAC7B,UAAA,cAAcA,kBAAI,IAAI;AACtB,UAAA,eAAeA,kBAAI,GAAG;AACtB,UAAA,YAAYA,kBAAI,GAAG;AACnB,UAAA,aAAaA,kBAAI,GAAG;AACpB,UAAA,2BAA2BA,kBAAI,KAAK;AAGpC,UAAA,oBAAoBA,kBAAI,KAAK;AAC7B,UAAA,cAAcA,kBAAI,GAAG;AACrB,UAAA,eAAeA,kBAAI,GAAG;AACtB,UAAA,YAAYA,kBAAI,GAAG;AACnB,UAAA,aAAaA,kBAAI,IAAI;AACrB,UAAA,2BAA2BA,kBAAI,KAAK;AAEpC,UAAA,cAAcA,kBAAI,EAAE;AACpB,UAAA,WAAWA,kBAAI,EAAE;AACjB,UAAA,UAAUA,kBAAI,EAAE;AAGtB,UAAM,gBAAgBA,cAAAA,IAAsB;AAAA,MAC3C,EAAE,KAAK,sCAAsC,WAAW,0CAA0C,MAAM,OAAO;AAAA,MAC/G,EAAE,KAAK,2CAA2C,WAAW,+CAA+C,MAAM,OAAO;AAAA,MACzH,EAAE,KAAK,2CAA2C,WAAW,2CAA2C,MAAM,OAAO;AAAA,MACrH,EAAE,KAAK,0CAA0C,WAAW,2CAA2C,MAAM,MAAM;AAAA,MACnH,EAAE,KAAK,2CAA2C,WAAW,2CAA2C,MAAM,OAAO;AAAA,MACrH,EAAE,KAAK,yCAAyC,WAAW,yCAAyC,MAAM,OAAO;AAAA,IAAA,CACjH;AAGD,UAAM,WAAWA,cAAAA,IAAoB;AAAA,MACpC,EAAE,KAAK,uCAAuC,MAAM,OAAO;AAAA,MAC3D,EAAE,KAAK,qCAAqC,MAAM,OAAO;AAAA,MACzD,EAAE,KAAK,wCAAwC,MAAM,OAAO;AAAA,IAAA,CAC5D;AAED,UAAM,eAAeA,cAAAA,IAAoB;AAAA,MACxC,EAAE,KAAK,2CAA2C,MAAM,OAAO;AAAA,MAC/D,EAAE,KAAK,yCAAyC,MAAM,OAAO;AAAA,MAC7D,EAAE,KAAK,4CAA4C,MAAM,OAAO;AAAA,IAAA,CAChE;AAED,UAAM,aAAaA,cAAAA,IAAe;AAAA,MACjC,EAAE,KAAK,mCAAmC,MAAM,QAAQ,QAAQ,EAAE;AAAA,MAClE,EAAE,KAAK,qCAAqC,MAAM,QAAQ,QAAQ,GAAG;AAAA,MACrE,EAAE,KAAK,mCAAmC,MAAM,QAAQ,QAAQ,IAAI;AAAA,MACpE,EAAE,KAAK,kCAAkC,MAAM,QAAQ,QAAQ,EAAE;AAAA,MACjE,EAAE,KAAK,kCAAkC,MAAM,SAAS,QAAQ,EAAE;AAAA,IAAA,CAClE;AAED,UAAM,iBAAiBA,cAAAA,IAAe;AAAA,MACrC,EAAE,KAAK,yCAAyC,MAAM,QAAQ,QAAQ,GAAG;AAAA,MACzE,EAAE,KAAK,2CAA2C,MAAM,QAAQ,QAAQ,GAAG;AAAA,MAC3E,EAAE,KAAK,yCAAyC,MAAM,QAAQ,QAAQ,IAAI;AAAA,MAC1E,EAAE,KAAK,wCAAwC,MAAM,QAAQ,QAAQ,GAAG;AAAA,MACxE,EAAE,KAAK,wCAAwC,MAAM,SAAS,QAAQ,GAAG;AAAA,IAAA,CACzE;AAID,UAAM,iBAAiBA,cAAAA,IAAsB;AAAA,MAC5C,EAAE,KAAK,wCAAwC,WAAW,2CAA2C,MAAM,KAAK;AAAA,MAChH,EAAE,KAAK,wCAAwC,WAAW,2CAA2C,MAAM,KAAK;AAAA,MAChH,EAAE,KAAK,wCAAwC,WAAW,2CAA2C,MAAM,KAAK;AAAA,MAChH,EAAE,KAAK,sCAAsC,WAAW,yCAAyC,MAAM,KAAK;AAAA,IAAA,CAC5G;AAED,UAAM,qBAAqBA,cAAAA,IAAsB;AAAA,MAChD,EAAE,KAAK,2CAA2C,WAAW,2CAA2C,MAAM,KAAK;AAAA,MACnH,EAAE,KAAK,0CAA0C,WAAW,2CAA2C,MAAM,KAAK;AAAA,MAClH,EAAE,KAAK,2CAA2C,WAAW,2CAA2C,MAAM,KAAK;AAAA,MACnH,EAAE,KAAK,yCAAyC,WAAW,yCAAyC,MAAM,KAAK;AAAA,IAAA,CAC/G;AAEiBA,kBAAAA,IAAY,CAAC;AACzB,UAAA,iBAAiBA,kBAAY,CAAC;AAGlBA,kBAAAA,IAAa,KAAK;AAE9B,UAAA,UAAUA,kBAAc,CAAA,CAAE;AAE1B,UAAA,oBAAoBA,kBAAY,CAAC;AACjC,UAAA,sBAAsBA,kBAAY,CAAC;AACnC,UAAA,uBAAuBA,kBAAY,CAAC;AACpC,UAAA,qBAAqBA,kBAAY,CAAC;AACdA,kBAAAA,IAAY,CAAC;AACvC,UAAM,OAAO;AAEb,UAAM,iBAAiB,MAAM;AACvB,WAAA,cAAc,CAAC,MAAM,QAAQ;AAAA,IAAA;AAO7B,UAAA,kBAAkB,CAAC,UAAmB;AAC3C,qBAAe,QAAQ;AAAA,IAAA;AAElB,UAAA,WAAW,CAAC,UAAmB;AACpC,UAAI,QAAQ,MAAM,SAAS,KAAK,GAAG;AAClC,YAAI,QAAQ,CAAA;AACJ,gBAAA,MAAM,QAAQ,CAAC,QAAiB;AACvC,cAAI,QAAQ,OAAO;AAClB,kBAAM,KAAK,GAAG;AAAA,UACf;AAAA,QAAA,CACA;AACD,gBAAQ,QAAQ;AAAA,MAAA,OACV;AACE,gBAAA,MAAM,KAAK,KAAK;AAAA,MACzB;AAAA,IAAA;AAGD,UAAM,aAAa,MAAM;AAClB,YAAA,0BAAU;AAGV,YAAA,QAAQ,IAAI,SAAS,EAAE,WAAW,SAAS,GAAG,GAAG;AACjD,YAAA,UAAU,IAAI,WAAW,EAAE,WAAW,SAAS,GAAG,GAAG;AAC3D,kBAAY,QAAQ,GAAG,KAAK,IAAI,OAAO;AAGjC,YAAA,OAAO,IAAI;AACX,YAAA,SAAS,IAAI,aAAa,GAAG,SAAS,EAAE,SAAS,GAAG,GAAG;AACvD,YAAA,MAAM,IAAI,QAAQ,EAAE,WAAW,SAAS,GAAG,GAAG;AACpD,eAAS,QAAQ,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG;AAGlC,YAAA,WAAW,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;AACjE,YAAM,OAAO,SAAS,IAAI,OAAQ,CAAA;AAClC,cAAQ,QAAQ;AAAA,IAAA;AAGX,UAAA,iBAAiB,CAAC,UAAgB;AACnB,0BAAA,QAAQ,MAAM,OAAO;AAAA,IAAA;AAEpC,UAAA,oBAAoB,CAAC,UAAgB;AACrB,2BAAA,QAAQ,MAAM,OAAO;AAAA,IAAA;AAgB3C,UAAM,YAAY,MAAM;AACvB,qBAAe,QAAQ;AACvB,iBAAW,MAAM;AAChB,iBAAS,QAAQ;AACjB,kBAAU,QAAQ;AAClB,eAAO,QAAQ;AACf,gBAAQ,QAAQ;AAChB,8BAAsB,QAAQ;AAAA,SAC5B,EAAE;AAAA,IAAA;AAEN,UAAM,aAAa,MAAM;AACxB,eAAS,QAAQ;AACjB,gBAAU,QAAQ;AAClB,aAAO,QAAQ;AACf,cAAQ,QAAQ;AAChB,4BAAsB,QAAQ;AAC9B,iBAAW,MAAM;AAChB,uBAAe,QAAQ;AAAA,SACrB,GAAG;AAAA,IAAA;AAKP,UAAM,eAAe,MAAM;AAC1B,wBAAkB,QAAQ;AAC1B,iBAAW,MAAM;AAChB,oBAAY,QAAQ;AACpB,qBAAa,QAAQ;AACrB,kBAAU,QAAQ;AAClB,mBAAW,QAAQ;AACnB,iCAAyB,QAAQ;AAAA,SAC/B,EAAE;AAAA,IAAA;AAEN,UAAM,gBAAgB,MAAM;AAC3B,kBAAY,QAAQ;AACpB,mBAAa,QAAQ;AACrB,gBAAU,QAAQ;AAClB,iBAAW,QAAQ;AACnB,+BAAyB,QAAQ;AACjC,iBAAW,MAAM;AAChB,0BAAkB,QAAQ;AAAA,SACxB,GAAG;AAAA,IAAA;AAKP,UAAM,eAAe,MAAM;AAC1B,wBAAkB,QAAQ;AAC1B,iBAAW,MAAM;AAChB,oBAAY,QAAQ;AACpB,qBAAa,QAAQ;AACrB,kBAAU,QAAQ;AAClB,mBAAW,QAAQ;AACnB,iCAAyB,QAAQ;AAAA,SAC/B,EAAE;AAAA,IAAA;AAEN,UAAM,gBAAgB,MAAM;AAC3B,kBAAY,QAAQ;AACpB,mBAAa,QAAQ;AACrB,gBAAU,QAAQ;AAClB,iBAAW,QAAQ;AACnB,+BAAyB,QAAQ;AACjC,iBAAW,MAAM;AAChB,0BAAkB,QAAQ;AAAA,SACxB,GAAG;AAAA,IAAA;AAEP,QAAI,UAAU;AAEdC,kBAAAA,UAAU,MAAM;AACf,gBAAU,WAAW;AAErB,kBAAY,YAAY,GAAI;AAAA,IAAA,CAC5B;AAEDC,kBAAAA,gBAAgB,MAAM;AACrB,oBAAc,OAAO;AAAA,IAAA,CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/8BF,GAAG,gBAAgB,SAAS;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovaGxkeV9hcHAvY29tcG9uZW50L3JpZ2h0SXRlbXNpbmRleC9pbmRleC52dWU"],"sourcesContent":["import Component from 'D:/hldy_app/component/rightItemsindex/index.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/component/rightItemssecond/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/component/rightItemssecond/index.js.map index 81d769c..5560f5a 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/component/rightItemssecond/index.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/component/rightItemssecond/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["component/rightItemssecond/index.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovaGxkeV9hcHAvY29tcG9uZW50L3JpZ2h0SXRlbXNzZWNvbmQvaW5kZXgudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import Component from 'D:/hldy_app/component/rightItemssecond/index.vue'\nwx.createComponent(Component)"],"names":["ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgGC,UAAM,QAAQ;AAed,UAAM,WAAWA,cAAAA,IAAc;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACA;AAED,UAAM,gBAAgBA,cAAAA,IAAsB;AAAA,MAC3C,EAAE,KAAK,sCAAsC,WAAW,0CAA0C,MAAM,OAAO;AAAA,MAC/G,EAAE,KAAK,2CAA2C,WAAW,+CAA+C,MAAM,OAAO;AAAA,MACzH,EAAE,KAAK,2CAA2C,WAAW,2CAA2C,MAAM,OAAO;AAAA,MACrH,EAAE,KAAK,0CAA0C,WAAW,2CAA2C,MAAM,MAAM;AAAA,MACnH,EAAE,KAAK,2CAA2C,WAAW,2CAA2C,MAAM,OAAO;AAAA,MACrH,EAAE,KAAK,yCAAyC,WAAW,yCAAyC,MAAM,OAAO;AAAA,IAAA,CACjH;AAGD,UAAM,gBAAgBA,cAAAA,IAAsB;AAAA,MAC3C,EAAE,KAAK,2CAA2C,WAAW,0CAA0C,MAAM,KAAK;AAAA,MAClH,EAAE,KAAK,2CAA2C,WAAW,0CAA0C,MAAM,KAAK;AAAA,MAClH,EAAE,KAAK,yCAAyC,WAAW,wCAAwC,MAAM,KAAK;AAAA,MAC9G,EAAE,KAAK,yCAAyC,WAAW,wCAAwC,MAAM,KAAK;AAAA,MAC9G,EAAE,KAAK,yCAAyC,WAAW,wCAAwC,MAAM,KAAK;AAAA,IAAA,CAE9G;AAEK,UAAA,iBAAiBA,kBAAY,CAAC;AAC9B,UAAA,cAAcA,kBAAY,CAAC;AAC3B,UAAA,gBAAgBA,kBAAY,CAAC;AAGjBA,kBAAAA,IAAa,KAAK;AAEpBA,kBAAAA,IAAc,CAAA,CAAE;AAChC,UAAM,OAAO;AAEb,UAAM,iBAAiB,MAAM;AACvB,WAAA,cAAc,CAAC,MAAM,QAAQ;AAAA,IAAA;AAG7B,UAAA,kBAAkB,CAAC,UAAmB;AAC3C,qBAAe,QAAQ;AAAA,IAAA;AAGlB,UAAA,QAAQA,kBAAI,IAAI;AAEhB,UAAA,mBAAmB,CAAC,MAAY,UAAmB;AAClD,YAAA,QAAQ,WAAW,MAAM;AAC9B,sBAAc,QAAQ;AACtB,aAAK,YAAY,IAAI;AAAA,SACnB,GAAG;AAAA,IAAA;AAGP,UAAM,iBAAiB,MAAM;AAC5B,UAAI,MAAM,OAAO;AAChB,qBAAa,MAAM,KAAK;AACxB,cAAM,QAAQ;AAAA,MACf;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxLF,GAAG,gBAAgB,SAAS;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovaGxkeV9hcHAvY29tcG9uZW50L3JpZ2h0SXRlbXNzZWNvbmQvaW5kZXgudnVl"],"sourcesContent":["import Component from 'D:/hldy_app/component/rightItemssecond/index.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map index a36c504..12749cd 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["pages/index/index.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/hldy_app/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onShow"],"mappings":";;;;;;AA8BC,MAAA,kBAA4B,MAAA;AAC5B,MAAA,mBAA6B,MAAA;;;;AAI7B,UAAM,WAAWA,cAAAA,IAAY;AAAA,MAC5B,EAAE,KAAK,oCAAoC,WAAW,6CAA6C;AAAA,MACnG,EAAE,KAAK,oCAAoC,WAAW,6CAA6C;AAAA,MACnG,EAAE,KAAK,qCAAqC,WAAW,8CAA6C;AAAA,MACpG,EAAE,KAAK,mCAAmC,WAAW,4CAA4C;AAAA,MACjG,EAAE,KAAK,mCAAmC,WAAW,4CAA4C;AAAA,MACjG,EAAE,KAAK,mCAAmC,WAAW,4CAA4C;AAAA,IAAA,CACjG;AAGK,UAAA,YAAYA,kBAAY,CAAC;AACzB,UAAA,gBAAgBA,kBAAa,KAAK;AAClC,UAAA,sBAAsBA,kBAAa,KAAK;AAExC,UAAA,WAAWA,kBAAa,KAAK;AAEnBA,kBAAAA,IAAc,CAAA,CAAE;AAENA,kBAAAA,IAAY,CAAC;AACXA,kBAAAA,IAAY,CAAC;AACZA,kBAAAA,IAAY,CAAC;AACfA,kBAAAA,IAAY,CAAC;AACdA,kBAAAA,IAAY,CAAC;AAEjC,UAAA,aAAa,CAAC,QAAe;AAClC,eAAS,QAAQ;AAAA,IAAA;AAGZ,UAAA,aAAa,CAAC,UAAmB;AACtC,UAAG,UAAQ,GAAE;AACZ,sBAAc,QAAQ;AACtB,4BAAoB,QAAQ;AAC5BC,sBAAAA,MAAI,WAAW;AAAA,UACb,KAAK,uCAAuC,SAAS,KAAK;AAAA,UAC1D,eAAe;AAAA,UACf,mBAAmB;AAAA;AAAA,QAAA,CACpB;AACD;AAAA,MACD;AACA,gBAAU,QAAQ;AAClB,oBAAc,QAAQ;AACtB,0BAAoB,QAAQ;AAC5B,iBAAW,MAAI;AACd,gBAAQ,OAAO;AAAA,UACb,KAAK;AACN,0BAAc,QAAQ;AACnB;AAAA,UACF,KAAK;AACH,gCAAoB,QAAQ;AAC5B;AAAA,QAEJ;AAAA,SACC,EAAE;AAAA,IAAA;AAEC,UAAA,UAAUD,kBAAI,CAAC;AACf,UAAA,UAAUA,kBAAI,CAAC;AACf,UAAA,WAAWA,kBAAI,EAAE;AACjB,UAAA,UAAUA,kBAAI,IAAI;AAElB,UAAA,QAAQ,CAAC,UAAU;AAClB,YAAA,QAAQ,MAAM,QAAQ,CAAC;AAC7B,cAAQ,QAAQ,KAAG,KAAK,MAAM,MAAM,OAAO,IAAI;AAC/C,cAAQ,QAAQ,KAAG,KAAK,MAAM,MAAM,OAAO,IAAI;AAAA,IAAA;AAE1C,UAAA,WAAW,CAAC,QAAc;AAC/B,eAAS,QAAQ;AACjB,cAAQ,QAAQ;AAAA,IAAA;AAGjB,UAAM,WAAW,MAAK;AACrB,eAAS,QAAQ;AACjB,cAAQ,QAAQ;AAChB,cAAQ,QAAQ;AAChB,cAAQ,QAAQ;AAAA,IAAA;AAGjBE,kBAAAA,OAAO,MAAM;AAEZ,iBAAW,MAAI;AACd,mBAAW,UAAU,KAAK;AAAA,SACzB,EAAE;AAAA,IAAA,CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnHF,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["import MiniProgramPage from 'D:/hldy_app/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map index 97a65db..fed32c6 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map @@ -1 +1 @@ -{"version":3,"file":"login.js","sources":["pages/login/login.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vbG9naW4udnVl"],"sourcesContent":["\n\n\n\n\n","import MiniProgramPage from 'D:/hldy_app/pages/login/login.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAiBA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA;EAEf;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,aAAa,GAAG;AACd,WAAK,SAAS,EAAE,QAAQ,CAAC,EAAE;AAC3B,WAAK,SAAS,EAAE,QAAQ,CAAC,EAAE;AAC3B,WAAK,aAAa;AAAA,IACnB;AAAA;AAAA,IAED,YAAY,GAAG;AACb,YAAM,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,KAAK;AAC1C,YAAM,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,KAAK;AAE1C,UAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG;AAErC,aAAK,aAAa;AAAA,aACb;AAEL,aAAK,aAAa;AAAA,MACpB;AAEA,UAAI,KAAK,YAAY;AACnB,UAAE,eAAc;AAAA,MAClB;AAAA,IACD;AAAA;AAAA,IAED,aAAa;AACX,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AACF;;;;;;;;;ACrDA,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"login.js","sources":["../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vbG9naW4udnVl"],"sourcesContent":["import MiniProgramPage from 'D:/hldy_app/pages/login/login.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/somethingmove/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/somethingmove/index.js.map index b71a0dc..c8f3a26 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/somethingmove/index.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/somethingmove/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["pages/somethingmove/index.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc29tZXRoaW5nbW92ZS9pbmRleC52dWU"],"sourcesContent":["\r\n\n\n\n\n","import MiniProgramPage from 'D:/hldy_app/pages/somethingmove/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","uni"],"mappings":";;;;;AAWO,UAAA,WAAWA,kBAAI,KAAK;AAO1BC,kBAAA,OAAO,CAAC,YAAyB;AAE7B,UAAA,QAAQ,aAAa,SAAQ;AAC/B,iBAAS,QAAQ;AAAA,MAAA,OACb;AACJ,iBAAS,QAAQ;AAAA,MAClB;AAAA,IAAA,CACA;AAED,UAAM,SAAS,MAAK;AACnBC,oBAAA,MAAI,aAAa;AAAA,IAAA;;;;;;;;;;AC3BnB,GAAG,WAAW,eAAe;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc29tZXRoaW5nbW92ZS9pbmRleC52dWU"],"sourcesContent":["import MiniProgramPage from 'D:/hldy_app/pages/somethingmove/index.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/unpackage/dist/dev/app-plus/app-config-service.js b/unpackage/dist/dev/app-plus/app-config-service.js index eddc57b..73b0a63 100644 --- a/unpackage/dist/dev/app-plus/app-config-service.js +++ b/unpackage/dist/dev/app-plus/app-config-service.js @@ -1,7 +1,7 @@ ;(function(){ let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[]; - const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","bounce":"none","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"uni-app x","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"养老App","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.55","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"locales":{},"darkmode":false,"themeConfig":{}}; + const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","bounce":"none","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"uni-app x","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"养老App","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.56","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"locales":{},"darkmode":false,"themeConfig":{}}; const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"navigationBar":{"style":"custom","type":"default"},"isNVue":false}},{"path":"pages/login/login","meta":{"navigationBar":{"style":"custom","type":"default"},"isNVue":false}},{"path":"pages/somethingmove/index","meta":{"navigationBar":{"style":"custom","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute)); __uniConfig.styles=[];//styles __uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index 3ad456b..b35f26f 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -2215,24 +2215,79 @@ if (uni.restoreGlobal) { emits: ["darkchange", "savename", "closename"], setup(__props, { expose: __expose, emit: __emit }) { const props = __props; + vue.watch( + () => props.canmove, + () => { + bottomisShaking.value = false; + } + ); + vue.watch( + () => props.isshow, + () => { + bottomisShaking.value = false; + } + ); vue.onMounted(() => { downList.value = bigArray[0].data; }); + const bottomItems = vue.ref([ + { + name: "纸尿裤", + url: "/static/index/niao.png" + }, + { + name: "呕吐", + url: "/static/index/tu.png" + }, + { + name: "吸痰", + url: "/static/index/ou.png" + }, + { + name: "大便", + url: "/static/index/baba.png" + } + ]); + const timeArray = [ + `00`, + `05`, + `10`, + `15`, + `20`, + `25`, + `30`, + `35`, + `40`, + `45`, + `50`, + `55` + ]; + const weekDays = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]; + const days = Array.from({ length: 31 }, (_, i) => (i + 1).toString().padStart(2, "0")); + const isweek = vue.ref(true); const scrollTop = vue.ref(0); const downList = vue.ref(); const rightList = vue.ref([ // "三分段", // "四分段", ]); + const isopen = vue.ref(false); + const songisopen = vue.ref(false); + const isopacity = vue.ref(false); + const songisopacity = vue.ref(false); + const currentNumber = vue.ref(1); + const changecurrentNumber = (event) => { + currentNumber.value = event.detail.current; + }; const getClass = (item, index0, index1) => { if (!props.canmove && props.liang.index0 === index0 && props.liang.index1 === index1) { - return "super-card-time-card-blue"; + return "title-time-border-blue"; } else if (item.type === "日常") { - return "super-card-time-card-yellow"; + return "title-time-border-yellow"; } else if (item.type) { - return "super-card-time-card-pouple"; + return "title-time-border-pouple"; } - return "super-card-time-card"; + return "title-time-border"; }; const undericonList = vue.ref([ { url: "/static/index/undericons/alarm.png", targetUrl: "/static/index/undericons/alarmdark.png", name: "服务考核" }, @@ -2272,21 +2327,55 @@ if (uni.restoreGlobal) { }; const timer = vue.ref(null); const elementsInfo = vue.ref({}); - const rulerTouchStart = (item, index0, index1) => { + const moveX = vue.ref(0); + const moveY = vue.ref(0); + const openX = vue.ref(0); + const openY = vue.ref(0); + const flyNumber = vue.ref({ + index0: 999, + index1: 999 + }); + const deletebottom = (index) => { + bottomItems.value.splice(index, 1); + }; + const rulerTouchStart = (item, index0, index1, e) => { + moveX.value = Math.floor(e.touches[0].pageX); + moveY.value = Math.floor(e.touches[0].pageY); timer.value = setTimeout(() => { if (item.value) { - uni.showModal({ - title: "警告", - content: "确认删除该方格吗?", - success: function(res) { - if (res.confirm) { - timearr.value[index0].children[index1].value = ""; - } else if (res.cancel) - ; - } - }); + flyNumber.value.index0 = index0 + currentNumber.value * 6; + flyNumber.value.index1 = index1; + const query = uni.createSelectorQuery(); + query.selectAll(".super-card-time-card").boundingClientRect((data) => { + data.forEach(async (res) => { + if (res.left > 200 && res.left < 1067 && res.top < 500 && res.top > 170 && res.dataset.index0 == index0 && res.dataset.index1 == index1) { + if (res.left > 200 && res.left < 500) { + openX.value = Math.floor(res.left) + 520; + } else { + openX.value = Math.floor(res.left); + } + openY.value = Math.floor(res.top); + await vue.nextTick(); + isopen.value = true; + isopacity.value = false; + setTimeout(() => { + isopacity.value = true; + }, 100); + } + }); + }).exec(); } - }, 1500); + }, 200); + }; + const rulerTouchMove = (e) => { + const moveXa = Math.floor(e.touches[0].pageX); + const moveYa = Math.floor(e.touches[0].pageY); + if (Math.abs(moveXa - moveX.value) > 0 || Math.abs(moveYa - moveY.value) > 0) { + if (timer.value) { + clearTimeout(timer.value); + timer.value = null; + } + } }; const rulerTouchEnd = () => { if (timer.value) { @@ -2294,6 +2383,14 @@ if (uni.restoreGlobal) { timer.value = null; } }; + const deleteRuler = (index0, index1) => { + timearr.value[index0].children[index1].value = ""; + timearr.value[index0].children[index1].time = ""; + timearr.value[index0].children[index1].type = ""; + isopen.value = false; + flyNumber.value.index0 = 999; + flyNumber.value.index1 = 999; + }; const longPressTimer = vue.ref(null); const isScrolling = vue.ref(false); let scrollTimeout = null; @@ -2306,31 +2403,22 @@ if (uni.restoreGlobal) { }, 400); } const isBack = vue.ref(false); - const handleTouchStart = (item, index) => { + const saveX = vue.ref(0); + const saveY = vue.ref(0); + const handleTouchStart = (item, index, e) => { + saveX.value = Math.floor(e.touches[0].pageX); + saveY.value = Math.floor(e.touches[0].pageY); longPressTimer.value = setTimeout(() => { if (isScrolling.value) return; isBack.value = true; downmenuIndex.value = index; + indexsave.value = [-1, -1]; const reldata = []; const query = uni.createSelectorQuery(); query.selectAll(".super-card-time-card").boundingClientRect((data) => { data.forEach((res) => { - if (res.left > 200 && res.left < 1067 && res.top < 500 && res.top > 190) { - reldata.push(res); - } - }); - }).exec(); - query.selectAll(".super-card-time-card-yellow").boundingClientRect((data) => { - data.forEach((res) => { - if (res.left > 200 && res.left < 1067 && res.top < 500 && res.top > 190) { - reldata.push(res); - } - }); - }).exec(); - query.selectAll(".super-card-time-card-pouple").boundingClientRect((data) => { - data.forEach((res) => { - if (res.left > 200 && res.left < 1067 && res.top < 500 && res.top > 190) { + if (res.left > 200 && res.left < 1067 && res.top < 500 && res.top > 170) { reldata.push(res); } }); @@ -2338,28 +2426,150 @@ if (uni.restoreGlobal) { emit("savename", item, reldata); }, 200); }; + function isblue() { + if (!openOp.value && cardsumit.value.startTime || openOp.value === 1 && cardsumit.value.startTime && (cardsumit.value.weekTime || cardsumit.value.monthTime) || openOp.value === 2) { + return true; + } else { + return false; + } + } + const handleTouchMove = (e) => { + const moveX2 = Math.floor(e.touches[0].pageX); + const moveY2 = Math.floor(e.touches[0].pageY); + if (Math.abs(moveX2 - saveX.value) > 0 || Math.abs(moveY2 - saveY.value) > 0) { + if (longPressTimer.value) { + clearTimeout(longPressTimer.value); + longPressTimer.value = null; + } + } + }; const handleTouchEnd = () => { if (longPressTimer.value) { clearTimeout(longPressTimer.value); longPressTimer.value = null; } }; + const bottomTimer = vue.ref(null); + const bottomisShaking = vue.ref(false); + const bottomTouchStart = () => { + bottomTimer.value = setTimeout(() => { + bottomisShaking.value = true; + }, 500); + }; + const bottomTouchEnd = () => { + if (bottomTimer.value) { + clearTimeout(bottomTimer.value); + bottomTimer.value = null; + } + }; + const openValue = vue.ref({ + time: "", + array: [] + }); + const cardsumit = vue.ref({ + op: { + name: "", + index: [-1, -1, -1] + }, + startTime: "", + monthTime: "", + weekTime: "" + }); + const openOp = vue.ref(0); + const clickOp = (index, name, op) => { + cardsumit.value.startTime = ""; + cardsumit.value.monthTime = ""; + cardsumit.value.weekTime = ""; + if (cardsumit.value.op[2] === index) { + cardsumit.value.op[2] = -1; + cardsumit.value.op.name = ""; + openOp.value = -1; + } else { + cardsumit.value.op[2] = index; + cardsumit.value.op.name = name; + openOp.value = op; + } + }; + const clickTime = (index) => { + if (cardsumit.value.startTime == index) { + cardsumit.value.startTime = ""; + } else { + cardsumit.value.startTime = index; + } + }; + const clickweek = (index) => { + if (cardsumit.value.weekTime == index) { + cardsumit.value.weekTime = ""; + } else { + cardsumit.value.weekTime = index; + } + }; + const clickmonth = (index) => { + if (cardsumit.value.monthTime == index) { + cardsumit.value.monthTime = ""; + } else { + cardsumit.value.monthTime = index; + } + }; + const indexsave = vue.ref([-1, -1]); const rulerEnd = async (res) => { isBack.value = false; if (props.liang.index0 !== 999 && res) { - timearr.value[props.liang.index0].children[props.liang.index1].value = res; - const shouldAdd = timearr.value.some((obj) => { - const children = obj.children; - return children[children.length - 1].value.trim() !== ""; + cardsumit.value = { + op: { + name: "", + index: [-1, -1, -1] + }, + startTime: "", + monthTime: "", + weekTime: "" + }; + songisopacity.value = false; + songisopen.value = true; + setTimeout(() => { + songisopacity.value = true; + }, 200); + cardsumit.value.op[0] = upmenuIndex.value; + cardsumit.value.op[1] = downmenuIndex.value; + openValue.value.time = timearr.value[props.liang.index0 + currentNumber.value * 6].time; + openValue.value.array = bigArray[upmenuIndex.value].data[downmenuIndex.value].data; + indexsave.value = [props.liang.index0 + currentNumber.value * 6, props.liang.index1]; + clickOp(0, openValue.value.array[0].type, openValue.value.array[0].op); + } + }; + const movetoruler = async () => { + songisopen.value = false; + isweek.value = true; + if (!openOp.value) { + timearr.value[indexsave.value[0]].children[indexsave.value[1]].type = "日常"; + } else if (openOp.value === 1) { + timearr.value[indexsave.value[0]].children[indexsave.value[1]].type = cardsumit.value.weekTime || cardsumit.value.monthTime + "号"; + } else if (openOp.value === 2) { + bottomItems.value.push({ + name: cardsumit.value.op.name, + url: "/static/index/ou.png" }); - if (shouldAdd) { - timearr.value.forEach((obj) => { - obj.children.push({ value: "" }); - }); - scrollTop.value = 999; - await vue.nextTick(); - scrollTop.value = 9999; - } + return; + } + timearr.value[indexsave.value[0]].children[indexsave.value[1]].value = cardsumit.value.op.name; + const startHour = Number(openValue.value.time); + const startMinute = Number(cardsumit.value.startTime); + const endMinute = startMinute + 10; + const endHour = startHour + Math.floor(endMinute / 60); + const formattedStart = `${String(startHour)}:${String(startMinute).padStart(2, "0")}`; + const formattedEnd = `${String(endHour)}:${String(endMinute % 60).padStart(2, "0")}`; + timearr.value[indexsave.value[0]].children[indexsave.value[1]].time = `${formattedStart}-${formattedEnd}`; + const shouldAdd = timearr.value.some((obj) => { + const children = obj.children; + return children[children.length - 1].value.trim() !== ""; + }); + if (shouldAdd) { + timearr.value.forEach((obj) => { + obj.children.push({ value: "" }); + }); + scrollTop.value = 999; + await vue.nextTick(); + scrollTop.value = 9999; } }; __expose({ @@ -2373,10 +2583,10 @@ if (uni.restoreGlobal) { { time: "00", children: [ - { value: "A" }, { value: "" }, { value: "" }, - { value: "B" }, + { value: "" }, + { value: "" }, { value: "" }, { value: "" }, { value: "" }, @@ -2388,11 +2598,11 @@ if (uni.restoreGlobal) { children: [ { value: "" }, { value: "" }, - { value: "C" }, { value: "" }, { value: "" }, { value: "" }, - { value: "D" }, + { value: "" }, + { value: "" }, { value: "" } ] }, @@ -2404,7 +2614,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "E" }, + { value: "" }, { value: "" }, { value: "" } ] @@ -2428,7 +2638,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "F" }, + { value: "" }, { value: "" }, { value: "" }, { value: "" }, @@ -2444,7 +2654,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "G" }, + { value: "" }, { value: "" } ] }, @@ -2468,7 +2678,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "H" }, + { value: "" }, { value: "" }, { value: "" }, { value: "" } @@ -2511,7 +2721,7 @@ if (uni.restoreGlobal) { { time: "10", children: [ - { value: "ccc" }, + { value: "" }, { value: "" }, { value: "" }, { value: "" }, @@ -2524,7 +2734,7 @@ if (uni.restoreGlobal) { { time: "11", children: [ - { value: "aaa" }, + { value: "" }, { value: "" }, { value: "" }, { value: "" }, @@ -2540,7 +2750,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "J" }, + { value: "" }, { value: "" }, { value: "" }, { value: "" }, @@ -2556,7 +2766,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "K" }, + { value: "" }, { value: "" } ] }, @@ -2580,7 +2790,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "L" }, + { value: "" }, { value: "" }, { value: "" }, { value: "" } @@ -2608,7 +2818,7 @@ if (uni.restoreGlobal) { { value: "" }, { value: "" }, { value: "" }, - { value: "xxx" }, + { value: "" }, { value: "" } ] }, @@ -2680,17 +2890,29 @@ if (uni.restoreGlobal) { { time: "23", children: [ - { value: "1" }, - { value: "" }, - { value: "3" }, { value: "" }, { value: "" }, - { value: "e" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, { value: "" }, { value: "" } ] } ]); + function splitString(str) { + let index = str.indexOf("("); + if (index === -1) { + index = str.indexOf("("); + } + if (index !== -1) { + const firstPart = str.substring(0, index); + const secondPart = str.substring(index); + return [firstPart, secondPart]; + } + return [str]; + } const bigArray = [ { "type": "清洁照料", @@ -2896,6 +3118,15 @@ if (uni.restoreGlobal) { { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥" }, { "type": "睡姿调整", "data": "" } ] + }, + { + "type": "睡眠指令", + "color": "#FFC363", + "data": [ + { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥", "op": 0 }, + { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥", "op": 1 }, + { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥", "op": 2 } + ] } ] }, @@ -2966,9 +3197,6 @@ if (uni.restoreGlobal) { "data": [ { "type": "床椅转移", "data": "准备轮椅.换好衣物手纸.水杯.食物.进行转移" }, { "type": "床椅转移(大体重)", "data": "" }, - { "type": "床椅转移", "data": "" }, - { "type": "床椅转移(大体重)", "data": "" }, - { "type": "协助床椅转移", "data": "" }, { "type": "协助床椅转移", "data": "" } ] }, @@ -3066,399 +3294,854 @@ if (uni.restoreGlobal) { ] } ]; - const __returned__ = { props, scrollTop, downList, rightList, getClass, undericonList, doctorsayList, rightListIndex, undermenuIndex, upmenuIndex, downmenuIndex, underFans, roomTar, emit, darkFanschange, changLeft, changeMenuUnder, rightListClick, timer, elementsInfo, rulerTouchStart, rulerTouchEnd, longPressTimer, isScrolling, get scrollTimeout() { + const __returned__ = { props, bottomItems, timeArray, weekDays, days, isweek, scrollTop, downList, rightList, isopen, songisopen, isopacity, songisopacity, currentNumber, changecurrentNumber, getClass, undericonList, doctorsayList, rightListIndex, undermenuIndex, upmenuIndex, downmenuIndex, underFans, roomTar, emit, darkFanschange, changLeft, changeMenuUnder, rightListClick, timer, elementsInfo, moveX, moveY, openX, openY, flyNumber, deletebottom, rulerTouchStart, rulerTouchMove, rulerTouchEnd, deleteRuler, longPressTimer, isScrolling, get scrollTimeout() { return scrollTimeout; }, set scrollTimeout(v) { scrollTimeout = v; - }, handleScroll, isBack, handleTouchStart, handleTouchEnd, rulerEnd, moveNumber, timearr, bigArray }; + }, handleScroll, isBack, saveX, saveY, handleTouchStart, isblue, handleTouchMove, handleTouchEnd, bottomTimer, bottomisShaking, bottomTouchStart, bottomTouchEnd, openValue, cardsumit, openOp, clickOp, clickTime, clickweek, clickmonth, indexsave, rulerEnd, movetoruler, moveNumber, timearr, splitString, bigArray }; Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); return __returned__; } }); + const _imports_1 = "/static/index/cheng.png"; function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) { + var _a, _b, _c, _d, _e, _f; return vue.openBlock(), vue.createElementBlock( - "view", - { - class: "right-container", - style: vue.normalizeStyle($props.isshow ? { opacity: `1` } : { opacity: `0` }) - }, + vue.Fragment, + null, [ - vue.createElementVNode("view", { class: "right-container-title-nav" }, [ - vue.createElementVNode( - "text", - { - class: vue.normalizeClass($props.darkFans ? `right-container-title-no-dark` : `right-container-title-no`) - }, - " ID:12345678 ", - 2 - /* CLASS */ - ), - vue.createElementVNode( - "text", - { - class: vue.normalizeClass($props.darkFans ? `right-container-title-no-dark` : `right-container-title-no`) - }, - " 名称:未命名01 ", - 2 - /* CLASS */ - ), - vue.createElementVNode("view", { class: "right-icons" }, [ - vue.createElementVNode("image", { - class: "right-icons-img", - src: `/static/index/undericons/man.png` - }, null, 8, ["src"]), - vue.createElementVNode( - "view", - { - class: vue.normalizeClass($props.darkFans ? `right-icons-font-dark` : `right-icons-font`) - }, - "王金福", - 2 - /* CLASS */ - ), - vue.createElementVNode("image", { - class: "right-icons-img-icon", - src: $props.darkFans ? `/static/index/undericons/face.png` : `/static/index/undericons/facelight.png` - }, null, 8, ["src"]), - vue.createElementVNode("image", { - class: "right-icons-img-icon", - src: $props.darkFans ? `/static/index/undericons/hand.png` : `/static/index/undericons/handlight.png` - }, null, 8, ["src"]), - vue.createElementVNode("image", { - class: "right-icons-img-icon", - src: $props.darkFans ? `/static/index/undericons/out.png` : `/static/index/undericons/outlight.png` - }, null, 8, ["src"]) - ]), - vue.withDirectives(vue.createElementVNode( - "view", - { - class: "right-container-title-class-anhei-button", - onClick: _cache[0] || (_cache[0] = ($event) => $setup.darkFanschange()) - }, - [ - vue.createElementVNode("text", { class: "right-container-title-class-anhei" }, " 切换到暗黑模式 ") - ], - 512 - /* NEED_PATCH */ - ), [ - [vue.vShow, !$props.darkFans] - ]), - vue.withDirectives(vue.createElementVNode( - "view", - { - class: "right-container-title-class-anhei-button", - style: vue.normalizeStyle($props.darkFans ? { backgroundColor: "#fff" } : {}), - onClick: _cache[1] || (_cache[1] = ($event) => $setup.darkFanschange()) - }, - [ + vue.createCommentVNode(" click是让抖动停止 "), + vue.createElementVNode( + "view", + { + class: "right-container", + style: vue.normalizeStyle($props.isshow ? { opacity: `1` } : { opacity: `0` }), + onClick: _cache[13] || (_cache[13] = ($event) => $setup.bottomisShaking = false) + }, + [ + vue.createElementVNode("view", { class: "right-container-title-nav" }, [ vue.createElementVNode( "text", { - class: "right-container-title-class-anhei", - style: vue.normalizeStyle($props.darkFans ? { color: "black" } : {}) + class: vue.normalizeClass($props.darkFans ? `right-container-title-no-dark` : `right-container-title-no`) }, - " 取消暗黑模式 ", + " ID:12345678 ", + 2 + /* CLASS */ + ), + vue.createElementVNode( + "text", + { + class: vue.normalizeClass($props.darkFans ? `right-container-title-no-dark` : `right-container-title-no`) + }, + " 名称:未命名01 ", + 2 + /* CLASS */ + ), + vue.createElementVNode("view", { class: "right-icons" }, [ + vue.createElementVNode("image", { + class: "right-icons-img", + src: `/static/index/undericons/man.png` + }, null, 8, ["src"]), + vue.createElementVNode( + "view", + { + class: vue.normalizeClass($props.darkFans ? `right-icons-font-dark` : `right-icons-font`) + }, + "王金福", + 2 + /* CLASS */ + ), + vue.createElementVNode("image", { + class: "right-icons-img-icon", + src: $props.darkFans ? `/static/index/undericons/face.png` : `/static/index/undericons/facelight.png` + }, null, 8, ["src"]), + vue.createElementVNode("image", { + class: "right-icons-img-icon", + src: $props.darkFans ? `/static/index/undericons/hand.png` : `/static/index/undericons/handlight.png` + }, null, 8, ["src"]), + vue.createElementVNode("image", { + class: "right-icons-img-icon", + src: $props.darkFans ? `/static/index/undericons/out.png` : `/static/index/undericons/outlight.png` + }, null, 8, ["src"]) + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "right-container-title-class-anhei-button", + onClick: _cache[0] || (_cache[0] = ($event) => $setup.darkFanschange()) + }, + [ + vue.createElementVNode("text", { class: "right-container-title-class-anhei" }, " 切换到暗黑模式 ") + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, !$props.darkFans] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "right-container-title-class-anhei-button", + style: vue.normalizeStyle($props.darkFans ? { backgroundColor: "#fff" } : {}), + onClick: _cache[1] || (_cache[1] = ($event) => $setup.darkFanschange()) + }, + [ + vue.createElementVNode( + "text", + { + class: "right-container-title-class-anhei", + style: vue.normalizeStyle($props.darkFans ? { color: "black" } : {}) + }, + " 取消暗黑模式 ", + 4 + /* STYLE */ + ) + ], 4 /* STYLE */ - ) - ], - 4 - /* STYLE */ - ), [ - [vue.vShow, $props.darkFans] - ]) - ]), - vue.createElementVNode("view", { class: "doctorsay-container-view" }, [ - vue.createElementVNode("view", { class: "doctorsay-container-items" }, [ - vue.createElementVNode("view", { class: "doctorsay-container-up" }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList($setup.doctorsayList, (item, index) => { - return vue.openBlock(), vue.createElementBlock("view", { - key: index, - onClick: ($event) => $setup.changLeft(index) - }, [ - vue.createElementVNode( - "view", - { - class: "doctorsay-container-card", - style: vue.normalizeStyle(index === $setup.upmenuIndex ? { backgroundColor: `#0184db` } : {}) - }, - [ - vue.createElementVNode("image", { - class: "doctorsay-container-card-img", - src: index === $setup.upmenuIndex ? item.targetUrl : item.url - }, null, 8, ["src"]), + ), [ + [vue.vShow, $props.darkFans] + ]) + ]), + vue.createElementVNode("view", { class: "doctorsay-container-view" }, [ + vue.createElementVNode("view", { class: "doctorsay-container-items" }, [ + vue.createElementVNode("view", { class: "doctorsay-container-up" }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.doctorsayList, (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { + key: index, + onClick: ($event) => $setup.changLeft(index) + }, [ vue.createElementVNode( "view", { - class: vue.normalizeClass(index === $setup.upmenuIndex ? `doctorsay-container-card-font-dark` : `doctorsay-container-card-font`) + class: "doctorsay-container-card", + style: vue.normalizeStyle(index === $setup.upmenuIndex ? { backgroundColor: `#0184db` } : {}) }, - vue.toDisplayString(item.name), - 3 - /* TEXT, CLASS */ + [ + vue.createElementVNode("image", { + class: "doctorsay-container-card-img", + src: index === $setup.upmenuIndex ? item.targetUrl : item.url + }, null, 8, ["src"]), + vue.createElementVNode( + "view", + { + class: vue.normalizeClass(index === $setup.upmenuIndex ? `doctorsay-container-card-font-dark` : `doctorsay-container-card-font`) + }, + vue.toDisplayString(item.name), + 3 + /* TEXT, CLASS */ + ) + ], + 4 + /* STYLE */ ) - ], - 4 - /* STYLE */ - ) - ], 8, ["onClick"]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ]), - vue.createElementVNode("view", { class: "doctorsay-container-down" }, [ - vue.createElementVNode("view", { class: "doctorsay-top" }), - vue.createElementVNode("scroll-view", { - "scroll-y": $props.canmove, - class: "doctorsay-container-scroll", - onScroll: $setup.handleScroll - }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList($setup.downList, (item, index) => { - return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ - vue.createElementVNode("view", { - class: "doctorsay-container-button", - onTouchstart: ($event) => $setup.handleTouchStart(item.type, index), - onTouchend: $setup.handleTouchEnd - }, [ - vue.createElementVNode( - "text", - { - class: vue.normalizeClass($setup.downmenuIndex === index ? `doctorsay-container-text-target` : `doctorsay-container-text`), - style: vue.normalizeStyle($setup.isBack ? {} : { width: `220rpx`, height: `75rpx`, fontSize: `30rpx` }) - }, - vue.toDisplayString(item.type), - 7 - /* TEXT, CLASS, STYLE */ - ), - vue.withDirectives(vue.createElementVNode("image", { - class: "doctorsay-container-button-uplight", - style: vue.normalizeStyle($setup.isBack ? {} : { top: "30rpx" }), - src: `/static/index/cardicons/uplight.png` - }, null, 12, ["src"]), [ - [vue.vShow, $setup.downmenuIndex === index] - ]) - ], 40, ["onTouchstart"]) - ]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ], 40, ["scroll-y"]), - vue.createElementVNode("view", { class: "doctorsay-top" }) - ]) - ]), - vue.createElementVNode("view", { class: "doctorsay-container-container" }, [ - vue.createElementVNode("view", { class: "doctorsay-container-title" }, [ - vue.createElementVNode("view", { class: "doctorsay-container-left" }, [ - vue.createElementVNode("view", { class: "doctorsay-container-left-gun" }), - vue.createElementVNode("view", { class: "doctorsay-container-left-font" }, "时间矩阵") - ]), - vue.createElementVNode("view", { class: "doctorsay-container-right" }, [ - vue.createElementVNode("view", { class: "doctorsay-container-right-kuai-cheng" }), - vue.createElementVNode("view", { class: "doctorsay-container-kuai-font" }, "日常"), - vue.createElementVNode("view", { class: "doctorsay-container-right-kuai-zi" }), - vue.createElementVNode("view", { class: "doctorsay-container-kuai-font" }, "周期"), - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList($setup.rightList, (item, index) => { - return vue.openBlock(), vue.createElementBlock("view", { - class: "doctorsay-container-button-father", - key: index - }, [ - vue.createElementVNode("view", { - class: vue.normalizeClass($setup.rightListIndex === index ? `doctorsay-container-button-target` : `doctorsay-container-button`), - onClick: ($event) => $setup.rightListClick(index) - }, vue.toDisplayString(item), 11, ["onClick"]) - ]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ]) - ]), - vue.createElementVNode("view", { class: "super-card" }, [ - vue.createElementVNode("view", { class: "super-card-container" }, [ - vue.createElementVNode("scroll-view", { - class: "scroll-x", - "scroll-left": $setup.rightListIndex ? 1240 : 930, - "scroll-x": "", - "show-scrollbar": false - }, [ - vue.createElementVNode("view", { style: { "display": "flex" } }, [ + ], 8, ["onClick"]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]), + vue.createElementVNode("view", { class: "doctorsay-container-down" }, [ + vue.createElementVNode("view", { class: "doctorsay-top" }, [ + vue.createElementVNode("view", { class: "doctorsay-top-gun" }), + vue.createElementVNode("view", { class: "doctorsay-top-font" }, "服务类型") + ]), + vue.createElementVNode("scroll-view", { + "scroll-y": $props.canmove, + class: "doctorsay-container-scroll", + onScroll: $setup.handleScroll + }, [ (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, - vue.renderList($setup.timearr, (item0, index) => { + vue.renderList($setup.downList, (item, index) => { return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ - vue.createElementVNode( - "view", - { - class: "super-card-time", - style: vue.normalizeStyle($setup.rightListIndex ? { width: "275rpx" } : { width: "206rpx" }) - }, - vue.toDisplayString(item0.time), - 5 - /* TEXT, STYLE */ - ) + vue.createElementVNode("view", { + class: "doctorsay-container-button", + onTouchstart: ($event) => $setup.handleTouchStart(item.type, index, $event), + onTouchmove: $setup.handleTouchMove, + onTouchend: $setup.handleTouchEnd + }, [ + vue.createElementVNode( + "text", + { + class: vue.normalizeClass($setup.downmenuIndex === index ? `doctorsay-container-text-target` : `doctorsay-container-text`), + style: vue.normalizeStyle({ + backgroundColor: item.color ? item.color : "", + ...$setup.isBack ? {} : { width: "250rpx", height: "75rpx", fontSize: "30rpx", borderRadius: "10rpx" } + }) + }, + vue.toDisplayString(item.type), + 7 + /* TEXT, CLASS, STYLE */ + ), + vue.withDirectives(vue.createElementVNode("image", { + class: "doctorsay-container-button-uplight", + style: vue.normalizeStyle($setup.isBack ? {} : { top: "30rpx" }), + src: `/static/index/cardicons/uplight.png` + }, null, 12, ["src"]), [ + [vue.vShow, $setup.downmenuIndex === index] + ]) + ], 40, ["onTouchstart"]) ]); }), 128 /* KEYED_FRAGMENT */ )) + ], 40, ["scroll-y"]), + vue.createCommentVNode(' ') + ]) + ]), + vue.createElementVNode("view", { class: "doctorsay-container-container" }, [ + vue.createElementVNode("view", { class: "doctorsay-container-title" }, [ + vue.createElementVNode("view", { class: "doctorsay-container-left" }, [ + vue.createElementVNode("view", { class: "doctorsay-container-left-gun" }), + vue.createElementVNode("view", { class: "doctorsay-container-left-font" }, "时间矩阵") ]), - vue.createElementVNode("view", { style: { "display": "flex", "height": "calc(100% - 80rpx)" } }, [ - vue.createElementVNode("scroll-view", { - style: vue.normalizeStyle([{ "height": "100%" }, $setup.rightListIndex ? { width: "6700rpx" } : { width: "5000rpx" }]), - "scroll-top": $setup.scrollTop, - "scroll-y": "", - "show-scrollbar": false + vue.createElementVNode("view", { class: "doctorsay-container-right" }, [ + vue.createElementVNode("view", { class: "doctorsay-container-right-kuai-cheng" }), + vue.createElementVNode("view", { class: "doctorsay-container-kuai-font" }, "日常"), + vue.createElementVNode("view", { class: "doctorsay-container-right-kuai-zi" }), + vue.createElementVNode("view", { class: "doctorsay-container-kuai-font" }, "周期"), + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.rightList, (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { + class: "doctorsay-container-button-father", + key: index + }, [ + vue.createElementVNode("view", { + class: vue.normalizeClass($setup.rightListIndex === index ? `doctorsay-container-button-target` : `doctorsay-container-button`), + onClick: ($event) => $setup.rightListClick(index) + }, vue.toDisplayString(item), 11, ["onClick"]) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]) + ]), + vue.createElementVNode("view", { class: "super-card" }, [ + vue.createElementVNode("view", { class: "super-card-container" }, [ + vue.createElementVNode("swiper", { + current: $setup.currentNumber, + class: "scroll-x", + circular: "", + "indicator-dots": false, + onChange: $setup.changecurrentNumber, + interval: 4e3, + duration: 500 }, [ - vue.createElementVNode("view", { style: { "display": "flex", "height": "100%" } }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList($setup.timearr, (item0, index0) => { - return vue.openBlock(), vue.createElementBlock("view", { key: index0 }, [ - vue.createElementVNode( - "view", - { - class: "super-card-time-und", - style: vue.normalizeStyle($setup.rightListIndex ? { width: "275rpx" } : { width: "206rpx" }) - }, - [ + (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList([1, 2, 3, 4], (item, index) => { + return vue.createElementVNode("swiper-item", { key: index }, [ + vue.createElementVNode("view", { style: { "display": "flex" } }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.timearr.slice(index * 6, (index + 1) * 6), (item0, index0) => { + return vue.openBlock(), vue.createElementBlock("view", { key: index0 }, [ + vue.createElementVNode( + "view", + { + class: "super-card-time", + style: vue.normalizeStyle($setup.rightListIndex ? { width: "275rpx" } : { width: "206rpx" }) + }, + vue.toDisplayString(item0.time), + 5 + /* TEXT, STYLE */ + ) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]), + vue.createElementVNode("view", { style: { "display": "flex", "height": "calc(100% - 80rpx)" } }, [ + vue.createElementVNode("scroll-view", { + style: vue.normalizeStyle([{ "height": "100%" }, $setup.rightListIndex ? { width: "6700rpx" } : { width: "5000rpx" }]), + "scroll-top": $setup.scrollTop, + "scroll-y": "", + "show-scrollbar": false + }, [ + vue.createElementVNode("view", { style: { "display": "flex", "height": "100%" } }, [ (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, - vue.renderList(item0.children, (item1, index1) => { - return vue.openBlock(), vue.createElementBlock("view", { - style: { "width": "100%" }, - key: index1 - }, [ - vue.createElementVNode("view", { - class: vue.normalizeClass($setup.getClass(item1, index0, index1)), - onTouchstart: ($event) => $setup.rulerTouchStart(item1, index0, index1), - onTouchend: _cache[2] || (_cache[2] = ($event) => $setup.rulerTouchEnd()), - "data-index0": index0, - "data-index1": index1 - }, [ - vue.withDirectives(vue.createElementVNode( - "view", - { class: "title-time" }, - [ - vue.createElementVNode( - "view", - { class: "title-time-time" }, - vue.toDisplayString(item1.time), - 1 - /* TEXT */ - ), - vue.createElementVNode( - "view", - { - class: "title-time-button", - style: vue.normalizeStyle(item1.type === "日常" ? { color: `#4A2E00` } : { backgroundColor: `#7B61FF`, color: `#fff` }) - }, - vue.toDisplayString(item1.type), - 5 - /* TEXT, STYLE */ - ) - ], - 512 - /* NEED_PATCH */ - ), [ - [vue.vShow, item1.time] - ]), - vue.createTextVNode( - " " + vue.toDisplayString(item1.value), - 1 - /* TEXT */ - ) - ], 42, ["onTouchstart", "data-index0", "data-index1"]) + vue.renderList($setup.timearr.slice(index * 6, (index + 1) * 6), (item0, index0) => { + return vue.openBlock(), vue.createElementBlock("view", { key: index0 }, [ + vue.createElementVNode( + "view", + { + class: "super-card-time-und", + style: vue.normalizeStyle($setup.rightListIndex ? { width: "275rpx" } : { width: "206rpx" }) + }, + [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(item0.children, (item1, index1) => { + return vue.openBlock(), vue.createElementBlock("view", { + style: { "width": "100%" }, + key: index1 + }, [ + vue.createElementVNode("view", { + class: "super-card-time-card", + id: `a${index0}_${index1}`, + style: { "position": "relative" }, + onTouchstart: ($event) => $setup.rulerTouchStart(item1, index0, index1, $event), + onTouchmove: $setup.rulerTouchMove, + onTouchend: _cache[2] || (_cache[2] = ($event) => $setup.rulerTouchEnd()), + "data-index0": index0, + "data-index1": index1 + }, [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass($setup.getClass(item1, index0, index1)), + style: { "font-size": "30rpx" } + }, + [ + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "title-time", + style: { "margin-top": "5rpx" } + }, + [ + vue.createElementVNode( + "view", + { + class: "title-time-time", + style: { "font-size": "30rpx" } + }, + vue.toDisplayString(item1.time), + 1 + /* TEXT */ + ), + vue.createElementVNode( + "view", + { + class: "title-time-button", + style: vue.normalizeStyle(item1.type == "日常" ? { color: `#4A2E00` } : { backgroundColor: `#7B61FF`, color: `#fff` }) + }, + vue.toDisplayString(item1.type), + 5 + /* TEXT, STYLE */ + ) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, item1.time] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { style: { "margin-top": "-15rpx" } }, + vue.toDisplayString($setup.splitString(item1.value)[0]), + 513 + /* TEXT, NEED_PATCH */ + ), [ + [vue.vShow, !$setup.splitString(item1.value)[1]] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { style: { "margin-top": "-15rpx" } }, + vue.toDisplayString($setup.splitString(item1.value)[0]), + 513 + /* TEXT, NEED_PATCH */ + ), [ + [vue.vShow, $setup.splitString(item1.value)[1]] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { style: { "margin-top": "-15rpx" } }, + vue.toDisplayString($setup.splitString(item1.value)[1]), + 513 + /* TEXT, NEED_PATCH */ + ), [ + [vue.vShow, $setup.splitString(item1.value)[1]] + ]) + ], + 2 + /* CLASS */ + ) + ], 40, ["id", "onTouchstart", "data-index0", "data-index1"]) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ], + 4 + /* STYLE */ + ) ]); }), 128 /* KEYED_FRAGMENT */ )) - ], - 4 - /* STYLE */ + ]) + ], 12, ["scroll-top"]) + ]) + ]); + }), + 64 + /* STABLE_FRAGMENT */ + )) + ], 40, ["current"]) + ]) + ]), + vue.createElementVNode("view", { class: "super-card-end" }, [ + vue.createElementVNode("view", { class: "super-end-father" }, [ + vue.createElementVNode("view", { class: "super-end-font-father" }, [ + vue.createElementVNode("view", { class: "super-end-font-gun" }), + vue.createElementVNode("view", { class: "super-end-font-font" }, "快捷指令") + ]), + vue.createElementVNode("view", { class: "super-end-items" }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.bottomItems, (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ + vue.createElementVNode( + "view", + { + onTouchstart: $setup.bottomTouchStart, + onTouchend: $setup.bottomTouchEnd, + class: "super-end-items-father" + }, + [ + vue.withDirectives(vue.createElementVNode("view", { + class: "super-end-items-father-close-father", + onClick: vue.withModifiers(($event) => $setup.deletebottom(index), ["stop"]) + }, " × ", 8, ["onClick"]), [ + [vue.vShow, $setup.bottomisShaking] + ]), + vue.createElementVNode( + "view", + { + class: vue.normalizeClass($setup.bottomisShaking ? `super-end-items-img-father-active` : `super-end-items-img-father`) + }, + [ + vue.createElementVNode("image", { + class: "super-end-items-img", + src: item.url + }, null, 8, ["src"]) + ], + 2 + /* CLASS */ + ), + vue.createElementVNode( + "view", + { class: "super-end-items-font" }, + vue.toDisplayString(item.name), + 1 + /* TEXT */ + ) + ], + 32 + /* NEED_HYDRATION */ + ) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]) + ]) + ]) + ]) + ]), + vue.createElementVNode("view", { class: "right-container-sec" }, [ + vue.createElementVNode("view", { class: "under-father" }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.undericonList, (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { + class: "under-father-view", + key: index, + onClick: ($event) => $setup.changeMenuUnder(index) + }, [ + vue.withDirectives(vue.createElementVNode( + "image", + { + class: "under-father-light", + src: _imports_0$1 + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, index === $setup.undermenuIndex] + ]), + vue.createElementVNode("image", { + class: "under-father-img", + src: index === $setup.undermenuIndex ? item.targetUrl : item.url + }, null, 8, ["src"]), + vue.createElementVNode( + "view", + { + class: vue.normalizeClass($props.darkFans ? `under-father-img-font-dark` : `under-father-img-font`) + }, + vue.toDisplayString(item.name), + 3 + /* TEXT, CLASS */ + ) + ], 8, ["onClick"]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]) + ]), + vue.createCommentVNode(" 长按的弹出层 "), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "popup-overlay", + onClick: _cache[5] || (_cache[5] = ($event) => { + $setup.isopen = false; + $setup.flyNumber.index0 = 999; + }) + }, + [ + vue.createElementVNode( + "view", + { + class: "popup-overlay-content", + style: vue.normalizeStyle({ top: 2 * $setup.openY - 350 + "rpx", left: 2 * $setup.openX - 780 + "rpx", opacity: $setup.isopacity ? 1 : 0, backgroundColor: ((_b = (_a = $setup.timearr[$setup.flyNumber.index0]) == null ? void 0 : _a.children[$setup.flyNumber.index1]) == null ? void 0 : _b.type) === "日常" ? "#fffcf6" : "rgb(246, 244, 254)" }), + onClick: _cache[4] || (_cache[4] = vue.withModifiers(() => { + }, ["stop"])) + }, + [ + vue.createElementVNode("view", { class: "popup-overlay-content-left" }, [ + vue.createElementVNode("image", { + class: "popup-overlay-content-left-img", + src: `/static/index/teeth.png` + }, null, 8, ["src"]), + vue.createElementVNode( + "text", + { class: "popup-overlay-content-left-font" }, + vue.toDisplayString((_d = (_c = $setup.timearr[$setup.flyNumber.index0]) == null ? void 0 : _c.children[$setup.flyNumber.index1]) == null ? void 0 : _d.value), + 1 + /* TEXT */ + ) + ]), + vue.createElementVNode("view", { class: "popup-overlay-content-right" }, [ + vue.createCommentVNode(` 日常\r + \r + {{timearr[flyNumber.index0]?.children[flyNumber.index1]?.type}}\r + `), + vue.createElementVNode("image", { + class: "right-crush", + src: ((_f = (_e = $setup.timearr[$setup.flyNumber.index0]) == null ? void 0 : _e.children[$setup.flyNumber.index1]) == null ? void 0 : _f.type) === "日常" ? `/static/index/crushyellow.png` : `/static/index/crushpouple.png`, + onClick: _cache[3] || (_cache[3] = ($event) => $setup.deleteRuler($setup.flyNumber.index0, $setup.flyNumber.index1)) + }, null, 8, ["src"]), + vue.createElementVNode("view", { class: "time-font" }, " 10:00 - 10:10 "), + vue.createElementVNode("view", { class: "time-text" }, " 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 ") + ]) + ], + 4 + /* STYLE */ + ) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.isopen] + ]), + vue.createCommentVNode(" 拉动松手的弹出层 "), + $setup.songisopen ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "popup-song", + onClick: _cache[12] || (_cache[12] = ($event) => $setup.songisopen = false) + }, [ + vue.createElementVNode( + "view", + { + class: "popup-song-contain", + style: vue.normalizeStyle({ opacity: $setup.songisopacity ? 1 : 0 }), + onClick: _cache[11] || (_cache[11] = vue.withModifiers(() => { + }, ["stop"])) + }, + [ + vue.createElementVNode("view", { class: "popup-song-father" }, [ + vue.createElementVNode("image", { + class: "shu-up-img", + src: _imports_1 + }), + vue.createElementVNode("view", { class: "shu-up-font" }, [ + vue.createElementVNode( + "view", + { class: "" }, + " 服务时段:" + vue.toDisplayString($setup.openValue.time + ":00"), + 1 + /* TEXT */ + ), + vue.createElementVNode("view", { style: { "margin-left": "30rpx" } }, " 护理时长:10分钟 ") + ]), + vue.createElementVNode("view", { class: "shu-container-left" }, [ + vue.createElementVNode("view", { class: "shu-container-left-gun" }), + vue.createElementVNode("view", { class: "shu-container-left-font" }, "服务指令") + ]), + vue.createElementVNode("view", { class: "arrayindex" }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.openValue.array, (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ + vue.createElementVNode("view", { + style: { "position": "relative" }, + class: vue.normalizeClass($setup.cardsumit.op[2] === index ? `arrayindex-one-target` : `arrayindex-one`), + onClick: ($event) => $setup.clickOp(index, item.type, item.op) + }, [ + vue.withDirectives(vue.createElementVNode("image", { + class: "ri-img", + src: $setup.cardsumit.op[2] !== index ? `/static/index/ridark.png` : `/static/index/ri.png` + }, null, 8, ["src"]), [ + [vue.vShow, !item.op] + ]), + vue.withDirectives(vue.createElementVNode("image", { + class: "ri-img", + src: $setup.cardsumit.op[2] == index ? `/static/index/zhoudark.png` : `/static/index/zhou.png` + }, null, 8, ["src"]), [ + [vue.vShow, item.op === 1] + ]), + vue.withDirectives(vue.createElementVNode("image", { + class: "ri-img", + src: $setup.cardsumit.op[2] == index ? `/static/index/jidark.png` : `/static/index/ji.png` + }, null, 8, ["src"]), [ + [vue.vShow, item.op === 2] + ]), + vue.createTextVNode( + " " + vue.toDisplayString(item.type), + 1 + /* TEXT */ ) + ], 10, ["onClick"]) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "shu-container-left", + style: { "margin-top": "50rpx" } + }, + [ + vue.createElementVNode("view", { class: "shu-container-left-gun" }), + vue.createElementVNode("view", { class: "shu-container-left-font" }, "开始分钟") + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.openOp != 2] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { class: "time-father" }, + [ + (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.timeArray, (item, index) => { + return vue.createElementVNode("view", { key: index }, [ + vue.withDirectives(vue.createElementVNode( + "view", + { class: "time-one-hui" }, + vue.toDisplayString(item), + 513 + /* TEXT, NEED_PATCH */ + ), [ + [vue.vShow, Number(item) >= 50] + ]), + vue.withDirectives(vue.createElementVNode("view", { + class: vue.normalizeClass($setup.cardsumit.startTime === item ? `time-one-target` : `time-one`), + onClick: ($event) => $setup.clickTime(item) + }, vue.toDisplayString(item), 11, ["onClick"]), [ + [vue.vShow, Number(item) < 50] + ]) + ]); + }), + 64 + /* STABLE_FRAGMENT */ + )) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.openOp != 2] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "shu-container-left", + style: { "margin-top": "50rpx" } + }, + [ + vue.createElementVNode("view", { class: "shu-container-left-gun" }), + vue.createElementVNode("view", { class: "shu-container-left-font" }, "周期类型") + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.openOp == 1] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { class: "radio-father" }, + [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass($setup.isweek ? `radio-circle-target` : `radio-circle`), + onClick: _cache[6] || (_cache[6] = ($event) => { + $setup.isweek = true; + $setup.cardsumit.monthTime = ""; + }) + }, + null, + 2 + /* CLASS */ + ), + vue.createElementVNode("view", { + class: "radio-font", + onClick: _cache[7] || (_cache[7] = ($event) => { + $setup.isweek = true; + $setup.cardsumit.monthTime = ""; + }) + }, "每周"), + vue.createElementVNode( + "view", + { + class: vue.normalizeClass(!$setup.isweek ? `radio-circle-target` : `radio-circle`), + onClick: _cache[8] || (_cache[8] = ($event) => { + $setup.isweek = false; + $setup.cardsumit.weekTime = ""; + }) + }, + null, + 2 + /* CLASS */ + ), + vue.createElementVNode("view", { + class: "radio-font", + onClick: _cache[9] || (_cache[9] = ($event) => { + $setup.isweek = false; + $setup.cardsumit.weekTime = ""; + }) + }, "每月") + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.openOp == 1] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { class: "week-father" }, + [ + (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.weekDays, (item, index) => { + return vue.createElementVNode("view", { key: index }, [ + vue.createElementVNode("view", { + class: vue.normalizeClass($setup.cardsumit.weekTime === item ? `week-one-target` : `week-one`), + onClick: ($event) => $setup.clickweek(item) + }, vue.toDisplayString(item), 11, ["onClick"]) + ]); + }), + 64 + /* STABLE_FRAGMENT */ + )) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.isweek && $setup.openOp == 1] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { class: "month-father" }, + [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.days, (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ + vue.createElementVNode("view", { + class: vue.normalizeClass($setup.cardsumit.monthTime === item ? `month-one-target` : `month-one`), + onClick: ($event) => $setup.clickmonth(item) + }, vue.toDisplayString(item), 11, ["onClick"]) ]); }), 128 /* KEYED_FRAGMENT */ )) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, !$setup.isweek && $setup.openOp == 1] + ]), + vue.createElementVNode("view", { class: "button-father" }, [ + vue.createElementVNode("view", { style: { "display": "flex" } }, [ + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "button-father-right", + onClick: $setup.movetoruler + }, + " 确定 ", + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.isblue()] + ]), + vue.withDirectives(vue.createElementVNode( + "view", + { class: "button-father-wrong" }, + " 确定 ", + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, !$setup.isblue()] + ]), + vue.createElementVNode("view", { + class: "button-father-wrong", + onClick: _cache[10] || (_cache[10] = ($event) => $setup.songisopen = false), + style: { "margin-left": "20rpx" } + }, " 取消 ") ]) - ], 12, ["scroll-top"]) + ]) ]) - ], 8, ["scroll-left"]) - ]) - ]), - vue.createElementVNode("view", { class: "super-card-end" }, [ - vue.createElementVNode("view", { class: "super-end-father" }, [ - vue.createElementVNode("view", { class: "super-end-font-father" }, [ - vue.createElementVNode("view", { class: "super-end-font-gun" }), - vue.createElementVNode("view", { class: "super-end-font-font" }, "快捷指令") - ]) - ]) - ]) - ]) - ]), - vue.createElementVNode("view", { class: "right-container-sec" }, [ - vue.createElementVNode("view", { class: "under-father" }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList($setup.undericonList, (item, index) => { - return vue.openBlock(), vue.createElementBlock("view", { - class: "under-father-view", - key: index, - onClick: ($event) => $setup.changeMenuUnder(index) - }, [ - vue.withDirectives(vue.createElementVNode( - "image", - { - class: "under-father-light", - src: _imports_0$1 - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vShow, index === $setup.undermenuIndex] - ]), - vue.createElementVNode("image", { - class: "under-father-img", - src: index === $setup.undermenuIndex ? item.targetUrl : item.url - }, null, 8, ["src"]), - vue.createElementVNode( - "view", - { - class: vue.normalizeClass($props.darkFans ? `under-father-img-font-dark` : `under-father-img-font`) - }, - vue.toDisplayString(item.name), - 3 - /* TEXT, CLASS */ - ) - ], 8, ["onClick"]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ]) - ]), - vue.createCommentVNode(" 弹出层 "), - vue.createCommentVNode(' \r\n \r\n 确认删除吗\r\n \r\n ') + ], + 4 + /* STYLE */ + ) + ])) : vue.createCommentVNode("v-if", true) + ], + 4 + /* STYLE */ + ) ], - 4 - /* STYLE */ + 2112 + /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */ ); } const rightItemssecond = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$3], ["__scopeId", "data-v-337bb5da"], ["__file", "D:/hldy_app/component/rightItemssecond/index.vue"]]); @@ -3618,7 +4301,7 @@ if (uni.restoreGlobal) { 5 /* TEXT, STYLE */ ), [ - [vue.vShow, $setup.savename] + [vue.vShow, $setup.savename && $setup.clientX] ]), vue.createElementVNode("view", { class: "left-container" }, [ vue.createElementVNode("view", { class: "left-head" }, [ diff --git a/unpackage/dist/dev/app-plus/manifest.json b/unpackage/dist/dev/app-plus/manifest.json index 7cecc8e..bf5c003 100644 --- a/unpackage/dist/dev/app-plus/manifest.json +++ b/unpackage/dist/dev/app-plus/manifest.json @@ -89,7 +89,7 @@ "uni-app": { "control": "uni-v3", "vueVersion": "3", - "compilerVersion": "4.55", + "compilerVersion": "4.56", "nvueCompiler": "uni-app", "renderer": "auto", "nvue": { diff --git a/unpackage/dist/dev/app-plus/pages/index/index.css b/unpackage/dist/dev/app-plus/pages/index/index.css index fd98dfb..f85f0f0 100644 --- a/unpackage/dist/dev/app-plus/pages/index/index.css +++ b/unpackage/dist/dev/app-plus/pages/index/index.css @@ -3359,44 +3359,12 @@ display: flex; justify-content: center; align-items: center; - height: 4.375rem; - width: calc(100%); - border-right: 0.03125rem solid #BFBFCB; - border-top: 0.03125rem solid #BFBFCB; - flex-direction: column; -} -.super-card .super-card-time-card-blue[data-v-337bb5da] { - background-color: #3FA9F5; - display: flex; - justify-content: space-evenly; - align-items: center; - height: 4.375rem; - width: calc(100%); - border-right: 0.03125rem solid #BFBFCB; - border-top: 0.03125rem solid #BFBFCB; - flex-direction: column; -} -.super-card .super-card-time-card-yellow[data-v-337bb5da] { - background-color: #fffaf1; - display: flex; - justify-content: space-evenly; - align-items: center; - height: 4.375rem; - width: calc(100%); - border-right: 0.03125rem solid #BFBFCB; - border-top: 0.03125rem solid #BFBFCB; - flex-direction: column; -} -.super-card .super-card-time-card-pouple[data-v-337bb5da] { - background-color: #e0daff; - display: flex; - justify-content: space-evenly; - align-items: center; - height: 4.375rem; + height: 5.46875rem; width: calc(100%); border-right: 0.03125rem solid #BFBFCB; border-top: 0.03125rem solid #BFBFCB; flex-direction: column; + background-color: #f3f6fc; } .right-container[data-v-337bb5da] { width: calc(100% - 7.34375rem); @@ -3459,10 +3427,26 @@ /* 右下角阴影 */ } .right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-container-scroll[data-v-337bb5da] { - height: 21.5625rem; + height: 19.375rem; } .right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-top[data-v-337bb5da] { - height: 1.25rem; + height: 2.5rem; + display: flex; + margin-bottom: 0.625rem; +} +.right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-top .doctorsay-top-gun[data-v-337bb5da] { + margin-top: 1.15625rem; + margin-left: 1.25rem; + margin-right: 0.625rem; + width: 0.40625rem; + height: 1.09375rem; + background: linear-gradient(to bottom, #04BCED, #0160CE); + border-radius: 0.3125rem; +} +.right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-top .doctorsay-top-font[data-v-337bb5da] { + font-size: 1.0625rem; + font-weight: 700; + margin-top: 1.0625rem; } .right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-container-button[data-v-337bb5da] { display: flex; @@ -3476,7 +3460,7 @@ background-color: #c9e8ff; border-radius: 0.625rem; border: 0.0625rem solid #fff; - width: 7.8125rem; + width: 9.375rem; height: 3.125rem; display: flex; justify-content: center; @@ -3492,7 +3476,7 @@ background-color: #f3f6fc; border: 0.0625rem solid #fff; border-radius: 0.3125rem; - width: 6.875rem; + width: 7.8125rem; height: 2.34375rem; display: flex; justify-content: center; @@ -3531,33 +3515,116 @@ } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end[data-v-337bb5da] { width: 100%; - height: 6.25rem; display: flex; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father[data-v-337bb5da] { height: 100%; display: flex; + flex-direction: column; width: 100%; } +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items[data-v-337bb5da] { + display: flex; + width: calc(100% - 1.875rem); + height: 9.375rem; + margin-left: 0.9375rem; + overflow-x: auto; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father[data-v-337bb5da] { + margin-left: 0.3125rem; + margin-top: 0.46875rem; + width: 4.6875rem; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + position: relative; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-father-close-father[data-v-337bb5da] { + width: 1.25rem; + height: 1.25rem; + border-radius: 50%; + display: flex; + background-color: #fff; + justify-content: center; + align-items: center; + position: absolute; + top: -0.3125rem; + right: 0.46875rem; + z-index: 10; + background-color: #02abfe; + color: #fff; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father[data-v-337bb5da] { + width: 3.125rem; + height: 3.125rem; + border-radius: 50%; + display: flex; + background-color: #fff; + justify-content: center; + align-items: center; + /* 让正方形变成圆 */ +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father .super-end-items-img[data-v-337bb5da] { + width: 2.34375rem; + height: 2.34375rem; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father-active[data-v-337bb5da] { + width: 3.125rem; + height: 3.125rem; + border-radius: 50%; + display: flex; + background-color: #fff; + justify-content: center; + align-items: center; + animation: shake-337bb5da 0.5s infinite; + /* 让正方形变成圆 */ +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father-active .super-end-items-img[data-v-337bb5da] { + width: 2.34375rem; + height: 2.34375rem; +} +@keyframes shake-337bb5da { +0% { + transform: rotate(-10deg); +} +25% { + transform: rotate(10deg); +} +50% { + transform: rotate(-10deg); +} +75% { + transform: rotate(10deg); +} +100% { + transform: rotate(-10deg); +} +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-font[data-v-337bb5da] { + margin-top: 0.3125rem; + font-size: 0.78125rem; +} .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father[data-v-337bb5da] { display: flex; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father .super-end-font-gun[data-v-337bb5da] { margin-left: 1.25rem; margin-right: 0.625rem; + margin-top: 0.15625rem; width: 0.40625rem; - height: 1.71875rem; + height: 1.25rem; background: linear-gradient(to bottom, #04BCED, #0160CE); border-radius: 0.3125rem; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father .super-end-font-font[data-v-337bb5da] { - font-size: 1.3125rem; + font-size: 1.1875rem; font-weight: 700; } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title[data-v-337bb5da] { width: 100%; height: 4.0625rem; - background-color: #c9e8ff; + background-color: #f1f6fd; display: flex; align-items: center; justify-content: space-between; @@ -3566,7 +3633,7 @@ height: 100%; display: flex; align-items: center; - width: 8.125rem; + width: 9.6875rem; } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father[data-v-337bb5da] { display: flex; @@ -3596,18 +3663,18 @@ } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-right-kuai-cheng[data-v-337bb5da] { background-color: #FFDBA1; - height: 0.9375rem; - width: 0.9375rem; - border-radius: 0.15625rem; + height: 1.40625rem; + width: 1.40625rem; + border-radius: 0.21875rem; } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-right-kuai-zi[data-v-337bb5da] { background-color: #7B61FF; - height: 0.9375rem; - width: 0.9375rem; - border-radius: 0.15625rem; + height: 1.40625rem; + width: 1.40625rem; + border-radius: 0.21875rem; } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-kuai-font[data-v-337bb5da] { - font-size: 0.875rem; + font-size: 1rem; margin-left: 0.3125rem; margin-right: 0.78125rem; } @@ -3615,15 +3682,16 @@ display: flex; } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-left .doctorsay-container-left-gun[data-v-337bb5da] { + margin-top: 0.21875rem; margin-left: 1.25rem; margin-right: 0.625rem; width: 0.40625rem; - height: 1.71875rem; + height: 1.25rem; background: linear-gradient(to bottom, #04BCED, #0160CE); border-radius: 0.3125rem; } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-left .doctorsay-container-left-font[data-v-337bb5da] { - font-size: 1.3125rem; + font-size: 1.1875rem; font-weight: 700; } .right-container .right-container-sec[data-v-337bb5da] { @@ -3752,7 +3820,7 @@ display: flex; } .title-time .title-time-time[data-v-337bb5da] { - font-size: 1.09375rem; + font-size: 1rem; margin-right: 0.3125rem; } .title-time .title-time-button[data-v-337bb5da] { @@ -3762,6 +3830,426 @@ border-radius: 0.3125rem; font-size: 0.78125rem; } +.popup-overlay[data-v-337bb5da] { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; + /* 添加毛玻璃效果 */ + z-index: 999; +} +.popup-overlay .popup-overlay-content[data-v-337bb5da] { + position: absolute; + display: flex; + align-items: center; + width: 25rem; + height: 12.1875rem; + background-color: #fff; + border-radius: 0.9375rem; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); + opacity: 0; + transition: opacity 0.4s ease; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-left[data-v-337bb5da] { + height: 100%; + width: 10.9375rem; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-left .popup-overlay-content-left-img[data-v-337bb5da] { + width: 8.75rem; + height: 5.625rem; + margin-top: -0.9375rem; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-left .popup-overlay-content-left-font[data-v-337bb5da] { + font-size: 0.9375rem; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right[data-v-337bb5da] { + height: 100%; + width: 14.0625rem; + position: relative; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .time-font[data-v-337bb5da] { + font-size: 1.5625rem; + margin-top: 3.125rem; + margin-bottom: 0.3125rem; + font-weight: 700; + background: linear-gradient(to bottom, #7080A1, #263556); + -webkit-background-clip: text; + color: transparent; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .time-text[data-v-337bb5da] { + margin-left: 0.3125rem; + font-size: 0.9375rem; + width: 11.875rem; + margin-bottom: 1.5625rem; + line-height: 1.09375rem; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-richang[data-v-337bb5da] { + background-color: #FFC363; + position: absolute; + top: 3.375rem; + right: 1.5625rem; + padding: 0.15625rem; + border-radius: 0.3125rem; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-richangnot[data-v-337bb5da] { + background-color: #7B61FF; + position: absolute; + top: 3.375rem; + right: 1.5625rem; + padding: 0.15625rem; + border-radius: 0.3125rem; + color: #fff; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-crush[data-v-337bb5da] { + position: absolute; + top: 0.625rem; + right: 0.625rem; + width: 2.1875rem; + height: 2.1875rem; + animation: shake-337bb5da 0.5s 3; +} +.popup-song[data-v-337bb5da] { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; + /* 添加毛玻璃效果 */ + z-index: 999; +} +.popup-song .popup-song-contain[data-v-337bb5da] { + position: absolute; + right: 13.125rem; + width: 40.625rem; + background-color: #fff; + border-radius: 0.625rem; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); + opacity: 0; + transition: opacity 0.4s ease; +} +.popup-song .popup-song-contain .shu-container-left[data-v-337bb5da] { + display: flex; + margin-top: 2.1875rem; + margin-bottom: 0.625rem; +} +.popup-song .popup-song-contain .shu-container-left .shu-container-left-gun[data-v-337bb5da] { + margin-top: 0.15625rem; + margin-left: 1.25rem; + margin-right: 0.625rem; + width: 0.40625rem; + height: 1.09375rem; + background: linear-gradient(to bottom, #04BCED, #0160CE); + border-radius: 0.3125rem; +} +.popup-song .popup-song-contain .shu-container-left .shu-container-left-font[data-v-337bb5da] { + font-size: 1.09375rem; + font-weight: 700; +} +.popup-song-father[data-v-337bb5da] { + position: relative; +} +.popup-song-father .shu-up-img[data-v-337bb5da] { + position: absolute; + top: -2.1875rem; + left: 9.53125rem; + width: 21.875rem; + height: 2.5rem; +} +.popup-song-father .shu-up-font[data-v-337bb5da] { + position: absolute; + top: -1.5625rem; + left: 12.1875rem; + display: flex; + color: #ff5a00; +} +.popup-song-father .arrayindex[data-v-337bb5da] { + display: flex; + flex-wrap: wrap; + width: 100%; + margin-left: 0.9375rem; + margin-right: 0.9375rem; +} +.popup-song-father .arrayindex .arrayindex-one[data-v-337bb5da] { + width: 12.03125rem; + height: 3.125rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #f1f5fc; + border-radius: 0.625rem; + border: 0.03125rem solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.popup-song-father .arrayindex .arrayindex-one-target[data-v-337bb5da] { + width: 12.03125rem; + height: 3.125rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #fffaf1; + border-radius: 0.625rem; + border: 0.03125rem solid #ffb501; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.ri-img[data-v-337bb5da] { + position: absolute; + top: -0.125rem; + right: -0.09375rem; + width: 1.5625rem; + height: 1.5625rem; +} +.time-father[data-v-337bb5da] { + display: flex; + width: 100%; + flex-wrap: wrap; + margin-left: 0.9375rem; + margin-right: 0.9375rem; +} +.time-father .time-one[data-v-337bb5da] { + width: 3.125rem; + height: 3.125rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #f1f5fc; + border-radius: 0.625rem; + border: 0.03125rem solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.time-father .time-one-target[data-v-337bb5da] { + width: 3.125rem; + height: 3.125rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #02abfe; + color: #fff; + border-radius: 0.625rem; + border: 0.03125rem solid #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.time-father .time-one-hui[data-v-337bb5da] { + width: 3.125rem; + height: 3.125rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #dadada; + color: #fff; + border-radius: 0.625rem; + border: 0.03125rem solid #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.button-father[data-v-337bb5da] { + height: 6.25rem; + width: calc(100%-2.5rem); + display: flex; + justify-content: center; + align-items: center; + margin-left: 1.25rem; + margin-right: 1.25rem; + margin-top: 0.625rem; + border-top: 0.03125rem solid #e6e6e6; +} +.button-father .button-father-right[data-v-337bb5da] { + background-color: #02abfe; + width: 6.25rem; + height: 2.5rem; + border-radius: 1.25rem; + display: flex; + justify-content: center; + align-items: center; + color: #fff; +} +.button-father .button-father-wrong[data-v-337bb5da] { + background-color: #dadada; + width: 6.25rem; + height: 2.5rem; + border-radius: 1.25rem; + display: flex; + justify-content: center; + align-items: center; +} +.month-father[data-v-337bb5da] { + display: flex; + width: calc(100% - 1.875rem); + flex-wrap: wrap; + margin-left: 0.9375rem; + margin-right: 0.9375rem; + margin-top: 0.625rem; +} +.month-father .month-one[data-v-337bb5da] { + width: 2.34375rem; + height: 2.34375rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #f1f5fc; + border-radius: 0.625rem; + border: 0.03125rem solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.month-father .month-one-target[data-v-337bb5da] { + width: 2.34375rem; + height: 2.34375rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #02abfe; + color: #fff; + border-radius: 0.625rem; + border: 0.03125rem solid #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.week-father[data-v-337bb5da] { + display: flex; + width: 100%; + flex-wrap: wrap; + margin-left: 0.9375rem; + margin-right: 0.9375rem; + margin-top: 0.625rem; +} +.week-father .week-one[data-v-337bb5da] { + width: 6.25rem; + height: 3.125rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #f1f5fc; + border-radius: 0.625rem; + border: 0.03125rem solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.week-father .week-one-target[data-v-337bb5da] { + width: 6.25rem; + height: 3.125rem; + margin-left: 0.625rem; + margin-top: 0.625rem; + background-color: #02abfe; + color: #fff; + border-radius: 0.625rem; + border: 0.03125rem solid #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 0.90625rem; +} +.radio-father[data-v-337bb5da] { + display: flex; + width: 100%; + flex-wrap: wrap; + margin-left: 2.34375rem; + margin-right: 0.9375rem; +} +.radio-father .radio-circle[data-v-337bb5da] { + margin-top: 0.0625rem; + width: 0.9375rem; + height: 0.9375rem; + border-radius: 50%; + border: 0.0625rem solid black; + background-color: transparent; +} +.radio-father .radio-circle-target[data-v-337bb5da] { + position: relative; + margin-top: 0.0625rem; + width: 0.9375rem; + height: 0.9375rem; + border-radius: 50%; + border: 0.0625rem solid #02abfe; + background-color: transparent; +} +.radio-father .radio-circle-target[data-v-337bb5da]::after { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 0.625rem; + height: 0.625rem; + background-color: #02abfe; + border-radius: 50%; +} +.radio-father .radio-font[data-v-337bb5da] { + margin-left: 0.46875rem; + margin-right: 1.875rem; + font-size: 0.90625rem; +} +.title-time-border[data-v-337bb5da] { + margin-top: 0.125rem; + margin-left: 0.125rem; + width: calc(100% - 0.25rem); + height: calc(100% - 0.25rem); + border-radius: 0.625rem; + display: flex; + justify-content: space-evenly; + align-items: center; + flex-direction: column; +} +.title-time-border-blue[data-v-337bb5da] { + margin-top: 0.125rem; + margin-left: 0.125rem; + background-color: #dae8fa; + width: calc(100% - 0.25rem); + height: calc(100% - 0.25rem); + border-radius: 0.625rem; + display: flex; + justify-content: space-evenly; + align-items: center; + flex-direction: column; +} +.title-time-border-yellow[data-v-337bb5da] { + margin-top: 0.09375rem; + margin-left: 0.09375rem; + border: 0.03125rem solid #dae8fa; + background-color: #fffaf1; + width: calc(100% - 0.25rem); + height: calc(100% - 0.25rem); + border-radius: 0.625rem; + display: flex; + justify-content: space-evenly; + align-items: center; + flex-direction: column; +} +.title-time-border-pouple[data-v-337bb5da] { + margin-top: 0.09375rem; + margin-left: 0.09375rem; + border: 0.03125rem solid #dae8fa; + background-color: #e8e3ff; + width: calc(100% - 0.25rem); + height: calc(100% - 0.25rem); + border-radius: 0.625rem; + display: flex; + justify-content: space-evenly; + align-items: center; + flex-direction: column; +} .backgroundContainer[data-v-1cf27b2a] { display: flex; @@ -3787,10 +4275,21 @@ } .move-font[data-v-1cf27b2a] { position: absolute; - font-size: 1.40625rem; font-weight: 700; z-index: 10; pointer-events: none; + color: #016AD1; + background-color: #fff; + border-radius: 0.625rem; + border: 0.0625rem solid #fff; + width: 9.375rem; + height: 3.125rem; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + font-size: 1.40625rem; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); } .left-container[data-v-1cf27b2a] { width: 7.34375rem; diff --git a/unpackage/dist/dev/app-plus/static/index/baba.png b/unpackage/dist/dev/app-plus/static/index/baba.png new file mode 100644 index 0000000..695d733 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/baba.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/cheng.png b/unpackage/dist/dev/app-plus/static/index/cheng.png new file mode 100644 index 0000000..24879bc Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/cheng.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/close.png b/unpackage/dist/dev/app-plus/static/index/close.png new file mode 100644 index 0000000..c5cb9bb Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/close.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/crushpouple.png b/unpackage/dist/dev/app-plus/static/index/crushpouple.png new file mode 100644 index 0000000..de45150 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/crushpouple.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/crushyellow.png b/unpackage/dist/dev/app-plus/static/index/crushyellow.png new file mode 100644 index 0000000..478181e Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/crushyellow.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/ji.png b/unpackage/dist/dev/app-plus/static/index/ji.png new file mode 100644 index 0000000..be4056b Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/ji.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/jidark.png b/unpackage/dist/dev/app-plus/static/index/jidark.png new file mode 100644 index 0000000..89e9e15 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/jidark.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/niao.png b/unpackage/dist/dev/app-plus/static/index/niao.png new file mode 100644 index 0000000..d741577 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/niao.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/ou.png b/unpackage/dist/dev/app-plus/static/index/ou.png new file mode 100644 index 0000000..4add146 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/ou.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/ri.png b/unpackage/dist/dev/app-plus/static/index/ri.png new file mode 100644 index 0000000..02b3e32 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/ri.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/ridark.png b/unpackage/dist/dev/app-plus/static/index/ridark.png new file mode 100644 index 0000000..68a9c43 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/ridark.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/tu.png b/unpackage/dist/dev/app-plus/static/index/tu.png new file mode 100644 index 0000000..831b75c Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/tu.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/zhou.png b/unpackage/dist/dev/app-plus/static/index/zhou.png new file mode 100644 index 0000000..91ed3b3 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/zhou.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/zhoudark.png b/unpackage/dist/dev/app-plus/static/index/zhoudark.png new file mode 100644 index 0000000..6ae261e Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/zhoudark.png differ diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js index 245d3c4..99a80b4 100644 --- a/unpackage/dist/dev/mp-weixin/common/assets.js +++ b/unpackage/dist/dev/mp-weixin/common/assets.js @@ -2,7 +2,9 @@ const _imports_0$2 = "/static/index/oldman.png"; const _imports_0$1 = "/static/index/customer.png"; const _imports_0 = "/static/index/undericons/upguang.png"; +const _imports_1 = "/static/index/cheng.png"; exports._imports_0 = _imports_0$2; exports._imports_0$1 = _imports_0; exports._imports_0$2 = _imports_0$1; +exports._imports_1 = _imports_1; //# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js index b450d17..91e8a4f 100644 --- a/unpackage/dist/dev/mp-weixin/common/vendor.js +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -3836,7 +3836,8 @@ function createComponentInstance(vnode, parent, suspense) { $uniElements: /* @__PURE__ */ new Map(), $templateUniElementRefs: [], $templateUniElementStyles: {}, - $eS: {} + $eS: {}, + $eA: {} }; { instance.ctx = createDevRenderContext(instance); @@ -4334,6 +4335,7 @@ function patch(instance, data, oldData) { } data = deepCopy(data); data.$eS = instance.$eS || {}; + data.$eA = instance.$eA || {}; const ctx = instance.ctx; const mpType = ctx.mpType; if (mpType === "page" || mpType === "component") { @@ -5175,6 +5177,10 @@ function vFor(source, renderItem) { } return ret; } +function setRef(ref2, id, opts = {}) { + const { $templateRefs } = getCurrentInstance(); + $templateRefs.push({ i: id, r: ref2, k: opts.k, f: opts.f }); +} const o = (value, key) => vOn(value, key); const f = (source, renderItem) => vFor(source, renderItem); const s = (value) => stringifyStyle(value); @@ -5182,11 +5188,21 @@ const e = (target, ...sources) => extend(target, ...sources); const n = (value) => normalizeClass(value); const t = (val) => toDisplayString(val); const p = (props) => renderProps(props); +const sr = (ref2, id, opts) => setRef(ref2, id, opts); function createApp$1(rootComponent, rootProps = null) { rootComponent && (rootComponent.mpType = "app"); return createVueApp(rootComponent, rootProps).use(plugin); } const createSSRApp = createApp$1; +function getLocaleLanguage$1() { + let localeLanguage = ""; + { + const appBaseInfo = wx.getAppBaseInfo(); + const language = appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN; + localeLanguage = normalizeLocale(language) || LOCALE_EN; + } + return localeLanguage; +} function validateProtocolFail(name, msg) { console.warn(`${name}: ${msg}`); } @@ -5756,7 +5772,9 @@ const $once = defineSyncApi(API_ONCE, (name, callback) => { const $off = defineSyncApi(API_OFF, (name, callback) => { if (!isArray(name)) name = name ? [name] : []; - name.forEach((n2) => eventBus.off(n2, callback)); + name.forEach((n2) => { + eventBus.off(n2, callback); + }); }, OffProtocol); const $emit = defineSyncApi(API_EMIT, (name, ...args) => { eventBus.emit(name, ...args); @@ -5948,6 +5966,9 @@ function initWrapper(protocols2) { } return function wrapper(methodName, method) { const hasProtocol = hasOwn(protocols2, methodName); + if (!hasProtocol && typeof wx[methodName] !== "function") { + return method; + } const needWrapper = hasProtocol || isFunction(protocols2.returnValue) || isContextApi(methodName) || isTaskApi(methodName); const hasMethod = hasProtocol || isFunction(method); if (!hasProtocol && !method) { @@ -5987,7 +6008,7 @@ const getLocale = () => { if (app && app.$vm) { return app.$vm.$locale; } - return normalizeLocale(wx.getAppBaseInfo().language) || LOCALE_EN; + return getLocaleLanguage$1(); }; const setLocale = (locale) => { const app = isFunction(getApp) && getApp(); @@ -6069,9 +6090,9 @@ function populateParameters(fromRes, toRes) { appVersion: "1.0.0", appVersionCode: "100", appLanguage: getAppLanguage(hostLanguage), - uniCompileVersion: "4.45", - uniCompilerVersion: "4.45", - uniRuntimeVersion: "4.45", + uniCompileVersion: "4.56", + uniCompilerVersion: "4.56", + uniRuntimeVersion: "4.56", uniPlatform: "mp-weixin", deviceBrand, deviceModel: model, @@ -6220,9 +6241,9 @@ const getAppBaseInfo = { appLanguage: getAppLanguage(hostLanguage), isUniAppX: false, uniPlatform: "mp-weixin", - uniCompileVersion: "4.45", - uniCompilerVersion: "4.45", - uniRuntimeVersion: "4.45" + uniCompileVersion: "4.56", + uniCompilerVersion: "4.56", + uniRuntimeVersion: "4.56" }; extend(toRes, parameters); } @@ -6402,11 +6423,23 @@ function createSelectorQuery() { const query = wx$2.createSelectorQuery(); const oldIn = query.in; query.in = function newIn(component) { + if (component.$scope) { + return oldIn.call(this, component.$scope); + } return oldIn.call(this, initComponentMocks(component)); }; return query; } const wx$2 = initWx(); +if (!wx$2.canIUse("getAppBaseInfo")) { + wx$2.getAppBaseInfo = wx$2.getSystemInfoSync; +} +if (!wx$2.canIUse("getWindowInfo")) { + wx$2.getWindowInfo = wx$2.getSystemInfoSync; +} +if (!wx$2.canIUse("getDeviceInfo")) { + wx$2.getDeviceInfo = wx$2.getSystemInfoSync; +} let baseInfo = wx$2.getAppBaseInfo && wx$2.getAppBaseInfo(); if (!baseInfo) { baseInfo = wx$2.getSystemInfoSync(); @@ -6448,84 +6481,48 @@ var protocols = /* @__PURE__ */ Object.freeze({ }); const wx$1 = initWx(); var index = initUni(shims, protocols, wx$1); -const CONSOLE_TYPES = ["log", "warn", "error", "info", "debug"]; -let sendConsole = null; -const messageQueue = []; -function sendConsoleMessages(messages) { - if (sendConsole == null) { - messageQueue.push(...messages); - return; - } - sendConsole(JSON.stringify({ - type: "console", - data: messages - })); -} -function setSendConsole(value) { - sendConsole = value; - if (value != null && messageQueue.length > 0) { - const messages = messageQueue.slice(); - messageQueue.length = 0; - sendConsoleMessages(messages); - } -} -const originalConsole = /* @__PURE__ */ CONSOLE_TYPES.reduce((methods, type) => { - methods[type] = console[type].bind(console); - return methods; -}, {}); -const atFileRegex = /^at\s+[\w/./-]+:\d+$/; -function rewriteConsole() { - function wrapConsole(type) { - return function(...args) { - const originalArgs = [...args]; - if (originalArgs.length) { - const maybeAtFile = originalArgs[originalArgs.length - 1]; - if (typeof maybeAtFile === "string" && atFileRegex.test(maybeAtFile)) { - originalArgs.pop(); - } - } - { - originalConsole[type](...originalArgs); - } - sendConsoleMessages([formatMessage(type, args)]); - }; - } - if (isConsoleWritable()) { - CONSOLE_TYPES.forEach((type) => { - console[type] = wrapConsole(type); +function initRuntimeSocket(hosts, port, id) { + if (hosts == "" || port == "" || id == "") + return Promise.resolve(null); + return hosts.split(",").reduce((promise, host2) => { + return promise.then((socket) => { + if (socket != null) + return Promise.resolve(socket); + return tryConnectSocket(host2, port, id); }); - return function restoreConsole() { - CONSOLE_TYPES.forEach((type) => { - console[type] = originalConsole[type]; - }); - }; - } else { - const oldLog = index.__f__; - if (oldLog) { - index.__f__ = function(...args) { - const [type, filename, ...rest] = args; - oldLog(type, "", ...rest); - sendConsoleMessages([formatMessage(type, [...rest, filename])]); - }; - return function restoreConsole() { - index.__f__ = oldLog; - }; - } - } - return function restoreConsole() { - }; + }, Promise.resolve(null)); } -function isConsoleWritable() { - const value = console.log; - const sym = Symbol(); - try { - console.log = sym; - } catch (ex) { - return false; - } - const isWritable = console.log === sym; - console.log = value; - return isWritable; +const SOCKET_TIMEOUT = 500; +function tryConnectSocket(host2, port, id) { + return new Promise((resolve, reject) => { + const socket = index.connectSocket({ + url: `ws://${host2}:${port}/${id}`, + multiple: true, + // 支付宝小程序 是否开启多实例 + fail() { + resolve(null); + } + }); + const timer = setTimeout(() => { + socket.close({ + code: 1006, + reason: "connect timeout" + }); + resolve(null); + }, SOCKET_TIMEOUT); + socket.onOpen((e2) => { + clearTimeout(timer); + resolve(socket); + }); + socket.onClose((e2) => { + clearTimeout(timer); + resolve(null); + }); + socket.onError((e2) => { + clearTimeout(timer); + resolve(null); + }); + }); } function formatMessage(type, args) { try { @@ -6534,7 +6531,6 @@ function formatMessage(type, args) { args: formatArgs(args) }; } catch (e2) { - originalConsole.error(e2); } return { type, @@ -6551,7 +6547,67 @@ function formatArg(arg, depth = 0) { value: "[Maximum depth reached]" }; } - return ARG_FORMATTERS[typeof arg](arg, depth); + const type = typeof arg; + switch (type) { + case "string": + return formatString(arg); + case "number": + return formatNumber(arg); + case "boolean": + return formatBoolean(arg); + case "object": + return formatObject(arg, depth); + case "undefined": + return formatUndefined(); + case "function": + return formatFunction(arg); + case "symbol": { + return formatSymbol(arg); + } + case "bigint": + return formatBigInt(arg); + } +} +function formatFunction(value) { + return { + type: "function", + value: `function ${value.name}() {}` + }; +} +function formatUndefined() { + return { + type: "undefined" + }; +} +function formatBoolean(value) { + return { + type: "boolean", + value: String(value) + }; +} +function formatNumber(value) { + return { + type: "number", + value: String(value) + }; +} +function formatBigInt(value) { + return { + type: "bigint", + value: String(value) + }; +} +function formatString(value) { + return { + type: "string", + value + }; +} +function formatSymbol(value) { + return { + type: "symbol", + value: value.description + }; } function formatObject(value, depth) { if (value === null) { @@ -6559,17 +6615,19 @@ function formatObject(value, depth) { type: "null" }; } - if (isComponentPublicInstance(value)) { - return formatComponentPublicInstance(value, depth); - } - if (isComponentInternalInstance(value)) { - return formatComponentInternalInstance(value, depth); - } - if (isUniElement(value)) { - return formatUniElement(value, depth); - } - if (isCSSStyleDeclaration(value)) { - return formatCSSStyleDeclaration(value, depth); + { + if (isComponentPublicInstance(value)) { + return formatComponentPublicInstance(value, depth); + } + if (isComponentInternalInstance(value)) { + return formatComponentInternalInstance(value, depth); + } + if (isUniElement(value)) { + return formatUniElement(value, depth); + } + if (isCSSStyleDeclaration(value)) { + return formatCSSStyleDeclaration(value, depth); + } } if (Array.isArray(value)) { return { @@ -6635,10 +6693,20 @@ function formatObject(value, depth) { className: value.name || "Error" }; } + let className = void 0; + { + const constructor = value.constructor; + if (constructor) { + if (constructor.get$UTSMetadata$) { + className = constructor.get$UTSMetadata$().name; + } + } + } return { type: "object", + className, value: { - properties: Object.entries(value).map(([name, value2]) => formatObjectProperty(name, value2, depth + 1)) + properties: Object.entries(value).map((entry) => formatObjectProperty(entry[0], entry[1], depth + 1)) } }; } @@ -6699,14 +6767,14 @@ function formatCSSStyleDeclaration(style, depth) { }; } function formatObjectProperty(name, value, depth) { - return Object.assign(formatArg(value, depth), { - name - }); + const result = formatArg(value, depth); + result.name = name; + return result; } function formatArrayElement(value, index2, depth) { - return Object.assign(formatArg(value, depth), { - name: `${index2}` - }); + const result = formatArg(value, depth); + result.name = `${index2}`; + return result; } function formatSetEntry(value, depth) { return { @@ -6719,97 +6787,94 @@ function formatMapEntry(value, depth) { value: formatArg(value[1], depth) }; } -const ARG_FORMATTERS = { - function(value) { - return { - type: "function", - value: `function ${value.name}() {}` - }; - }, - undefined() { - return { - type: "undefined" - }; - }, - object(value, depth) { - return formatObject(value, depth); - }, - boolean(value) { - return { - type: "boolean", - value: String(value) - }; - }, - number(value) { - return { - type: "number", - value: String(value) - }; - }, - bigint(value) { - return { - type: "bigint", - value: String(value) - }; - }, - string(value) { - return { - type: "string", - value - }; - }, - symbol(value) { - return { - type: "symbol", - value: value.description +const CONSOLE_TYPES = ["log", "warn", "error", "info", "debug"]; +let sendConsole = null; +const messageQueue = []; +const messageExtra = {}; +function sendConsoleMessages(messages) { + if (sendConsole == null) { + messageQueue.push(...messages); + return; + } + sendConsole(JSON.stringify(Object.assign({ + type: "console", + data: messages + }, messageExtra))); +} +function setSendConsole(value, extra = {}) { + sendConsole = value; + Object.assign(messageExtra, extra); + if (value != null && messageQueue.length > 0) { + const messages = messageQueue.slice(); + messageQueue.length = 0; + sendConsoleMessages(messages); + } +} +const originalConsole = /* @__PURE__ */ CONSOLE_TYPES.reduce((methods, type) => { + methods[type] = console[type].bind(console); + return methods; +}, {}); +const atFileRegex = /^\s*at\s+[\w/./-]+:\d+$/; +function rewriteConsole() { + function wrapConsole(type) { + return function(...args) { + const originalArgs = [...args]; + if (originalArgs.length) { + const maybeAtFile = originalArgs[originalArgs.length - 1]; + if (typeof maybeAtFile === "string" && atFileRegex.test(maybeAtFile)) { + originalArgs.pop(); + } + } + { + originalConsole[type](...originalArgs); + } + sendConsoleMessages([formatMessage(type, args)]); }; } -}; -function initRuntimeSocket(hosts, port, id) { - if (!hosts || !port || !id) - return Promise.resolve(null); - return hosts.split(",").reduce((promise, host2) => { - return promise.then((socket) => { - if (socket) - return socket; - return tryConnectSocket(host2, port, id); + if (isConsoleWritable()) { + CONSOLE_TYPES.forEach((type) => { + console[type] = wrapConsole(type); }); - }, Promise.resolve(null)); -} -const SOCKET_TIMEOUT = 500; -function tryConnectSocket(host2, port, id) { - return new Promise((resolve, reject) => { - const socket = index.connectSocket({ - url: `ws://${host2}:${port}/${id}`, - // 支付宝小程序 是否开启多实例 - multiple: true, - fail() { - resolve(null); - } - }); - const timer = setTimeout(() => { - socket.close({ - code: 1006, - reason: "connect timeout" + return function restoreConsole() { + CONSOLE_TYPES.forEach((type) => { + console[type] = originalConsole[type]; }); - resolve(null); - }, SOCKET_TIMEOUT); - socket.onOpen((e2) => { - clearTimeout(timer); - resolve(socket); - }); - socket.onClose((e2) => { - clearTimeout(timer); - resolve(null); - }); - socket.onError((e2) => { - clearTimeout(timer); - resolve(null); - }); - }); + }; + } else { + { + if (typeof index !== "undefined" && index.__f__) { + const oldLog = index.__f__; + if (oldLog) { + index.__f__ = function(...args) { + const [type, filename, ...rest] = args; + oldLog(type, "", ...rest); + sendConsoleMessages([formatMessage(type, [...rest, filename])]); + }; + return function restoreConsole() { + index.__f__ = oldLog; + }; + } + } + } + } + return function restoreConsole() { + }; +} +function isConsoleWritable() { + const value = console.log; + const sym = Symbol(); + try { + console.log = sym; + } catch (ex) { + return false; + } + const isWritable = console.log === sym; + console.log = value; + return isWritable; } let sendError = null; const errorQueue = /* @__PURE__ */ new Set(); +const errorExtra = {}; function sendErrorMessages(errors) { if (sendError == null) { errors.forEach((error) => { @@ -6817,30 +6882,38 @@ function sendErrorMessages(errors) { }); return; } - sendError(JSON.stringify({ - type: "error", - data: errors.map((err) => { - const isPromiseRejection = err && "promise" in err && "reason" in err; - const prefix = isPromiseRejection ? "UnhandledPromiseRejection: " : ""; - if (isPromiseRejection) { - err = err.reason; + const data = errors.map((err) => { + const isPromiseRejection = err && "promise" in err && "reason" in err; + const prefix = isPromiseRejection ? "UnhandledPromiseRejection: " : ""; + if (isPromiseRejection) { + err = err.reason; + } + if (err instanceof Error && err.stack) { + if (err.message && !err.stack.includes(err.message)) { + return `${prefix}${err.message} +${err.stack}`; } - if (err instanceof Error && err.stack) { - return prefix + err.stack; + return `${prefix}${err.stack}`; + } + if (typeof err === "object" && err !== null) { + try { + return prefix + JSON.stringify(err); + } catch (err2) { + return prefix + String(err2); } - if (typeof err === "object" && err !== null) { - try { - return prefix + JSON.stringify(err); - } catch (err2) { - return prefix + String(err2); - } - } - return prefix + String(err); - }) - })); + } + return prefix + String(err); + }).filter(Boolean); + if (data.length > 0) { + sendError(JSON.stringify(Object.assign({ + type: "error", + data + }, errorExtra))); + } } -function setSendError(value) { +function setSendError(value, extra = {}) { sendError = value; + Object.assign(errorExtra, extra); if (value != null && errorQueue.size > 0) { const errors = Array.from(errorQueue); errorQueue.clear(); @@ -6879,7 +6952,7 @@ function initOnError() { function initRuntimeSocketService() { const hosts = "192.168.2.36,127.0.0.1"; const port = "8090"; - const id = "mp-weixin_0XB_2U"; + const id = "mp-weixin_gSgnR3"; const lazy = typeof swan !== "undefined"; let restoreError = lazy ? () => { } : initOnError(); @@ -7041,6 +7114,15 @@ function findVmByVueId(instance, vuePid) { } } } +function getLocaleLanguage() { + let localeLanguage = ""; + { + const appBaseInfo = wx.getAppBaseInfo(); + const language = appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN; + localeLanguage = normalizeLocale(language) || LOCALE_EN; + } + return localeLanguage; +} const MP_METHODS = [ "createSelectorQuery", "createIntersectionObserver", @@ -7307,9 +7389,7 @@ function initAppLifecycle(appOptions, vm) { } } function initLocale(appVm) { - const locale = ref( - normalizeLocale(wx.getAppBaseInfo().language) || LOCALE_EN - ); + const locale = ref(getLocaleLanguage()); Object.defineProperty(appVm, "$locale", { get() { return locale.value; @@ -7823,6 +7903,7 @@ exports.e = e; exports.f = f; exports.index = index; exports.n = n; +exports.nextTick$1 = nextTick$1; exports.o = o; exports.onBeforeUnmount = onBeforeUnmount; exports.onLoad = onLoad; @@ -7831,5 +7912,7 @@ exports.onShow = onShow; exports.p = p; exports.ref = ref; exports.s = s; +exports.sr = sr; exports.t = t; +exports.unref = unref; //# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map diff --git a/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.js b/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.js index 623241d..fbc27da 100644 --- a/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.js +++ b/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.js @@ -508,7 +508,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ } : { transform: `scale(1)`, marginLeft: `0rpx`, - marginTop: `-100rpx` + marginTop: `-89rpx` }), bQ: common_vendor.n(__props.darkFans ? `right-container-fir-left-card-dark` : `right-container-fir-left-card`), bR: common_vendor.o(() => { @@ -565,21 +565,18 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ cw: common_vendor.n(__props.darkFans ? `time-people-font-dark` : `time-people-font`), cx: common_vendor.n(`time-people-thi`), cy: common_vendor.n(__props.darkFans ? `time-button-end-dark` : `time-button-end`), - cz: common_vendor.s(isPopupVisiblefiropensec.value ? { - marginTop: `50rpx` - } : `{}`), - cA: `/static/index/yiliao/project2.png`, - cB: common_vendor.n(__props.darkFans ? `right-container-photo-text-dark` : `right-container-photo-text`), - cC: common_vendor.n(`right-container-photo`), - cD: __props.darkFans + cz: `/static/index/yiliao/project2.png`, + cA: common_vendor.n(__props.darkFans ? `right-container-photo-text-dark` : `right-container-photo-text`), + cB: common_vendor.n(`right-container-photo`), + cC: __props.darkFans }, __props.darkFans ? { - cE: `/static/index/cardbgc/leftlight.png` + cD: `/static/index/cardbgc/leftlight.png` } : {}, { - cF: common_vendor.s(__props.darkFans ? `background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, #386997 50%, rgba(0, 0, 0, 0) 100%);` : ``), - cG: `/static/index/hulilist/shang.png`, - cH: !__props.darkFans + cE: common_vendor.s(__props.darkFans ? `background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, #386997 50%, rgba(0, 0, 0, 0) 100%);` : ``), + cF: `/static/index/hulilist/shang.png`, + cG: !__props.darkFans }, !__props.darkFans ? { - cI: common_vendor.f(mediumList.value, (item, index, i0) => { + cH: common_vendor.f(mediumList.value, (item, index, i0) => { return { a: item.url, b: common_vendor.t(item.name), @@ -587,7 +584,10 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ d: item.number !== 0, e: index }; - }) + }), + cI: common_vendor.s(isPopupVisiblefiropensec.value ? { + height: `700rpx` + } : {}) } : {}, { cJ: __props.darkFans }, __props.darkFans ? { @@ -604,12 +604,12 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ cL: `/static/index/hulilist/xia.png`, cM: common_vendor.s(isPopupVisiblefiropensec.value ? { transform: `scale(1.5)`, - marginLeft: ``, - marginTop: `200rpx` + marginLeft: `-630rpx`, + marginTop: `650rpx` } : { transform: `scale(1)`, marginLeft: `100rpx`, - marginTop: `200rpx` + marginTop: `150rpx` }), cN: common_vendor.n(__props.darkFans ? `right-container-left-dark` : `right-container-left`), cO: common_vendor.o(() => { diff --git a/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.wxml b/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.wxml index 1937489..d8a959b 100644 --- a/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.wxml +++ b/unpackage/dist/dev/mp-weixin/component/rightItemsindex/index.wxml @@ -1 +1 @@ - ID:12345678 名称:未命名01 王金福护理类待执行 准备洁具(口腔) 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 -- 开始服务 服务结束 {{item.b}}{{item.b}}{{U}}{{W}}{{Y}}23°C39%{{item.d}}{{item.d}}医疗类进行中 10:00 - 10:10 医嘱类型:药品 处置方式:肌肉注射 用药类型:抗生素类 执行方式:周期一日执行一次 单人执行 赵宇 开始服务 服务结束 脑膜炎(1/2) {{item.b}}{{item.b}}保洁类待执行 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 王金福 / 李贵田 开始服务 服务结束 更换纸尿裤 {{item.c}}护理类 待执行 准备洁具(口腔) 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 -- 开始服务 服务结束 {{item.b}}{{item.b}}医疗类 进行中 10:00 - 10:10 医嘱类型:药品 处置方式:肌肉注射 用药类型:抗生素类 执行方式:周期一日执行一次 单人执行 赵宇 开始服务 服务结束 脑膜炎(1/2) {{item.b}}{{item.b}}保洁类 待执行 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 王金福 / 李贵田 开始服务 服务结束 更换纸尿裤 \ No newline at end of file + ID:12345678 名称:未命名01 王金福护理类待执行 准备洁具(口腔) 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 -- 开始服务 服务结束 {{item.b}}{{item.b}}{{U}}{{W}}{{Y}}23°C39%{{item.d}}{{item.d}}医疗类进行中 10:00 - 10:10 医嘱类型:药品 处置方式:肌肉注射 用药类型:抗生素类 执行方式:周期一日执行一次 单人执行 赵宇 开始服务 服务结束 脑膜炎(1/2) {{item.b}}{{item.b}}保洁类待执行 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 王金福 / 李贵田 开始服务 服务结束 更换纸尿裤 {{item.c}}护理类 待执行 准备洁具(口腔) 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 -- 开始服务 服务结束 {{item.b}}{{item.b}}医疗类 进行中 10:00 - 10:10 医嘱类型:药品 处置方式:肌肉注射 用药类型:抗生素类 执行方式:周期一日执行一次 单人执行 赵宇 开始服务 服务结束 脑膜炎(1/2) {{item.b}}{{item.b}}保洁类 待执行 10:00 - 10:10 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 单人执行 王金福 / 李贵田 开始服务 服务结束 更换纸尿裤 \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.js b/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.js index 96f828f..e7e4178 100644 --- a/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.js +++ b/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.js @@ -15,33 +15,58 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ canmove: { type: Boolean, required: true + }, + liang: { + type: Object } }, - emits: ["darkchange", "savename"], - setup(__props, { emit: __emit }) { + emits: ["darkchange", "savename", "closename"], + setup(__props, { expose: __expose, emit: __emit }) { const props = __props; - const downList = common_vendor.ref([ - "口腔清洁啊", - "头部清洁", - "面部清洁", - "躯干清洁", - "四肢清洁", - "会阴清洁", - "肛周清洁", - "手清洁", - "足清洁", - "剃须", - "口腔清洁", - "头部清洁", - "面部清洁", - "躯干清洁", - "四肢清洁", - "会阴清洁", - "肛周清洁", - "手清洁", - "足清洁", - "剃须" + common_vendor.onMounted(() => { + downList.value = bigArray[0].data; + }); + const timeArray = [ + `00`, + `05`, + `10`, + `15`, + `20`, + `25`, + `30`, + `35`, + `40`, + `45`, + `50`, + `55` + ]; + const weekDays = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]; + const days = Array.from({ length: 31 }, (_, i) => (i + 1).toString().padStart(2, "0")); + const isweek = common_vendor.ref(true); + const scrollTop = common_vendor.ref(0); + const downList = common_vendor.ref(); + const rightList = common_vendor.ref([ + // "三分段", + // "四分段", ]); + const isopen = common_vendor.ref(false); + const songisopen = common_vendor.ref(false); + const isopacity = common_vendor.ref(false); + const songisopacity = common_vendor.ref(false); + const currentNumber = common_vendor.ref(1); + const changecurrentNumber = (event) => { + currentNumber.value = event.detail.current; + }; + const getClass = (item, index0, index1) => { + if (!props.canmove && props.liang.index0 === index0 && props.liang.index1 === index1) { + return "super-card-time-card-blue"; + } else if (item.type === "日常") { + return "super-card-time-card-yellow"; + } else if (item.type) { + return "super-card-time-card-pouple"; + } + return "super-card-time-card"; + }; const undericonList = common_vendor.ref([ { url: "/static/index/undericons/alarm.png", targetUrl: "/static/index/undericons/alarmdark.png", name: "服务考核" }, { url: "/static/index/undericons/linshitime.png", targetUrl: "/static/index/undericons/linshitimedark.png", name: "护理流程" }, @@ -54,36 +79,936 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ { url: "/static/index/doctorsay/light/clean.png", targetUrl: "/static/index/doctorsay/dark/clean.png", name: "清洁" }, { url: "/static/index/doctorsay/light/drink.png", targetUrl: "/static/index/doctorsay/dark/drink.png", name: "饮食" }, { url: "/static/index/doctorsay/light/bed.png", targetUrl: "/static/index/doctorsay/dark/bed.png", name: "睡眠" }, - { url: "/static/index/doctorsay/light/shi.png", targetUrl: "/static/index/doctorsay/dark/shi.png", name: "排便" }, + { url: "/static/index/doctorsay/light/shi.png", targetUrl: "/static/index/doctorsay/dark/shi.png", name: "排泻" }, { url: "/static/index/doctorsay/light/use.png", targetUrl: "/static/index/doctorsay/dark/use.png", name: "日常" } ]); + const rightListIndex = common_vendor.ref(1); const undermenuIndex = common_vendor.ref(0); const upmenuIndex = common_vendor.ref(0); - const downmenuIndex = common_vendor.ref(0); + const downmenuIndex = common_vendor.ref(999); common_vendor.ref(false); common_vendor.ref([]); const emit = __emit; const darkFanschange = () => { emit("darkchange", !props.darkFans); }; + const changLeft = (index) => { + upmenuIndex.value = index; + downList.value = bigArray[index].data; + downmenuIndex.value = 999; + }; const changeMenuUnder = (index) => { undermenuIndex.value = index; }; - const timer = common_vendor.ref(null); - const handleTouchStart = (item, index) => { - timer.value = setTimeout(() => { - downmenuIndex.value = index; - emit("savename", item); - }, 500); + const rightListClick = (index) => { + rightListIndex.value = index; }; - const handleTouchEnd = () => { + const timer = common_vendor.ref(null); + common_vendor.ref({}); + const moveX = common_vendor.ref(0); + const moveY = common_vendor.ref(0); + const openX = common_vendor.ref(0); + const openY = common_vendor.ref(0); + const flyNumber = common_vendor.ref({ + index0: 999, + index1: 999 + }); + const rulerTouchStart = (item, index0, index1, e) => { + moveX.value = Math.floor(e.touches[0].pageX); + moveY.value = Math.floor(e.touches[0].pageY); + timer.value = setTimeout(() => { + if (item.value) { + flyNumber.value.index0 = index0 + currentNumber.value * 6; + flyNumber.value.index1 = index1; + const query = common_vendor.index.createSelectorQuery(); + query.selectAll(".super-card-time-card, .super-card-time-card-yellow, .super-card-time-card-pouple").boundingClientRect((data) => { + data.forEach(async (res) => { + if (res.left > 200 && res.left < 1067 && res.top < 500 && res.top > 190 && res.dataset.index0 == index0 && res.dataset.index1 == index1) { + openX.value = Math.floor(res.left); + openY.value = Math.floor(res.top); + await common_vendor.nextTick$1(); + isopen.value = true; + isopacity.value = false; + setTimeout(() => { + isopacity.value = true; + }, 100); + } + }); + }).exec(); + } + }, 200); + }; + const rulerTouchMove = (e) => { + const moveXa = Math.floor(e.touches[0].pageX); + const moveYa = Math.floor(e.touches[0].pageY); + if (Math.abs(moveXa - moveX.value) > 0 || Math.abs(moveYa - moveY.value) > 0) { + if (timer.value) { + clearTimeout(timer.value); + timer.value = null; + } + } + }; + const rulerTouchEnd = () => { if (timer.value) { clearTimeout(timer.value); timer.value = null; } }; + const deleteRuler = (index0, index1) => { + timearr.value[index0].children[index1].value = ""; + timearr.value[index0].children[index1].time = ""; + timearr.value[index0].children[index1].type = ""; + isopen.value = false; + flyNumber.value.index0 = 999; + flyNumber.value.index1 = 999; + }; + const longPressTimer = common_vendor.ref(null); + const isScrolling = common_vendor.ref(false); + let scrollTimeout = null; + function handleScroll(e) { + isScrolling.value = true; + if (scrollTimeout) + clearTimeout(scrollTimeout); + scrollTimeout = setTimeout(() => { + isScrolling.value = false; + }, 400); + } + const isBack = common_vendor.ref(false); + const saveX = common_vendor.ref(0); + const saveY = common_vendor.ref(0); + const handleTouchStart = (item, index, e) => { + saveX.value = Math.floor(e.touches[0].pageX); + saveY.value = Math.floor(e.touches[0].pageY); + longPressTimer.value = setTimeout(() => { + if (isScrolling.value) + return; + isBack.value = true; + downmenuIndex.value = index; + indexsave.value = [-1, -1]; + const reldata = []; + const query = common_vendor.index.createSelectorQuery(); + query.selectAll(".super-card-time-card, .super-card-time-card-yellow, .super-card-time-card-pouple").boundingClientRect((data) => { + data.forEach((res) => { + if (res.left > 200 && res.left < 1067 && res.top < 500 && res.top > 190) { + reldata.push(res); + } + }); + }).exec(); + emit("savename", item, reldata); + }, 200); + }; + const handleTouchMove = (e) => { + const moveX2 = Math.floor(e.touches[0].pageX); + const moveY2 = Math.floor(e.touches[0].pageY); + if (Math.abs(moveX2 - saveX.value) > 0 || Math.abs(moveY2 - saveY.value) > 0) { + if (longPressTimer.value) { + clearTimeout(longPressTimer.value); + longPressTimer.value = null; + } + } + }; + const handleTouchEnd = () => { + if (longPressTimer.value) { + clearTimeout(longPressTimer.value); + longPressTimer.value = null; + } + }; + const openValue = common_vendor.ref({ + time: "", + array: [] + }); + const cardsumit = common_vendor.ref({ + op: { + name: "", + index: [-1, -1, -1] + }, + startTime: "", + monthTime: "", + weekTime: "" + }); + const clickOp = (index, name) => { + if (cardsumit.value.op[2] === index) { + cardsumit.value.op[2] = -1; + cardsumit.value.op.name = ""; + } else { + cardsumit.value.op[2] = index; + cardsumit.value.op.name = name; + } + }; + const clickTime = (index) => { + if (cardsumit.value.startTime == index) { + cardsumit.value.startTime = ""; + } else { + cardsumit.value.startTime = index; + } + }; + const clickweek = (index) => { + if (cardsumit.value.weekTime == index) { + cardsumit.value.weekTime = ""; + } else { + cardsumit.value.weekTime = index; + } + }; + const clickmonth = (index) => { + if (cardsumit.value.monthTime == index) { + cardsumit.value.monthTime = ""; + } else { + cardsumit.value.monthTime = index; + } + }; + const indexsave = common_vendor.ref([-1, -1]); + const rulerEnd = async (res) => { + isBack.value = false; + if (props.liang.index0 !== 999 && res) { + cardsumit.value = { + op: { + name: "", + index: [-1, -1, -1] + }, + startTime: "", + monthTime: "", + weekTime: "" + }; + songisopacity.value = false; + songisopen.value = true; + setTimeout(() => { + songisopacity.value = true; + }, 200); + cardsumit.value.op[0] = upmenuIndex.value; + cardsumit.value.op[1] = downmenuIndex.value; + openValue.value.time = timearr.value[props.liang.index0 + currentNumber.value * 6].time; + openValue.value.array = bigArray[upmenuIndex.value].data[downmenuIndex.value].data; + indexsave.value = [props.liang.index0 + currentNumber.value * 6, props.liang.index1]; + } + }; + const movetoruler = async () => { + songisopen.value = false; + timearr.value[indexsave.value[0]].children[indexsave.value[1]].value = cardsumit.value.op.name; + timearr.value[indexsave.value[0]].children[indexsave.value[1]].type = "日常"; + const startHour = Number(openValue.value.time); + const startMinute = Number(cardsumit.value.startTime); + const endMinute = startMinute + 10; + const endHour = startHour + Math.floor(endMinute / 60); + const formattedStart = `${String(startHour)}:${String(startMinute)}`; + const formattedEnd = `${String(endHour)}:${String(endMinute % 60)}`; + timearr.value[indexsave.value[0]].children[indexsave.value[1]].time = `${formattedStart}-${formattedEnd}`; + const shouldAdd = timearr.value.some((obj) => { + const children = obj.children; + return children[children.length - 1].value.trim() !== ""; + }); + if (shouldAdd) { + timearr.value.forEach((obj) => { + obj.children.push({ value: "" }); + }); + scrollTop.value = 999; + await common_vendor.nextTick$1(); + scrollTop.value = 9999; + } + }; + __expose({ + rulerEnd + }); + common_vendor.ref({ + index0: 999, + index1: 999 + }); + const timearr = common_vendor.ref([ + { + time: "00", + children: [ + { value: "A" }, + { value: "" }, + { value: "" }, + { value: "B" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "01", + children: [ + { value: "" }, + { value: "" }, + { value: "C" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "D" }, + { value: "" } + ] + }, + { + time: "02", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "E" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "03", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "04", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "F" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "05", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "G" }, + { value: "" } + ] + }, + { + time: "06", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "07", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "H" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "08", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "09", + children: [ + { + value: "四肢清洁", + type: "日常", + time: "9:00-9:30" + }, + { + value: "指甲", + type: "周一", + time: "9:00-9:33" + }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "10", + children: [ + { value: "ccc" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "11", + children: [ + { value: "aaa" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "12", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "J" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "13", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "K" }, + { value: "" } + ] + }, + { + time: "14", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "15", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "L" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "16", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "17", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "xxx" }, + { value: "" } + ] + }, + { + time: "18", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "19", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "20", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "21", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "22", + children: [ + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" }, + { value: "" } + ] + }, + { + time: "23", + children: [ + { value: "1" }, + { value: "" }, + { value: "3" }, + { value: "" }, + { value: "" }, + { value: "e" }, + { value: "" }, + { value: "" } + ] + } + ]); + const bigArray = [ + { + "type": "清洁照料", + "data": [ + { + "type": "口腔清洁", + "data": [ + { "type": "准备洁具(口腔)", "data": "为老人提供口腔清洁器具,牙膏牙刷及水杯.看护完成" }, + { "type": "协助清洁(口腔)", "data": "准备水杯.牙刷牙膏.纸巾.协助完成清洁." }, + { "type": "义齿清洁(口腔)", "data": "准备凉开水浸泡.取下流水冲洗.盐水棉球擦拭口腔.漱口.水.协助清洁" }, + { "type": "棉球清洁(口腔)", "data": "准备好盐水棉球.镊子.止血钳.压舌板.垫巾.手电筒.完成清洁" } + ] + }, + { + "type": "头部清洁", + "data": [ + { "type": "准备洁具(头部)", "data": "准备温水.一次性面巾.洗发水.清洗头部." }, + { "type": "协助洗头", "data": "准备温水.毛巾.洗发水.清洗头部.擦干头部." }, + { "type": "卧式洗头", "data": "" }, + { "type": "擦头", "data": "" }, + { "type": "刮头", "data": "" } + ] + }, + { + "type": "面部清洁", + "data": [ + { "type": "准备洁具(面部)", "data": "" }, + { "type": "协助洁面", "data": "准备温水.一次性面巾.洁面乳.清洁面部.涂抹面霜.棉签擦拭耳朵.鼻孔." } + ] + }, + { + "type": "躯干清洁", + "data": [ + { "type": "准备洁具(躯干)", "data": "准备温水.一次性面巾.香皂.换洗衣物.清洁皮肤.完成后涂抹身体保湿乳." }, + { "type": "协助清洁(躯干)", "data": "" }, + { "type": "卧床清洁(躯干)", "data": "" } + ] + }, + { + "type": "四肢清洁", + "data": [ + { "type": "准备洁具(四肢)", "data": "" }, + { "type": "协助清洁(四肢)", "data": "准备温水.一次性面巾.香皂.清洁后涂抹身体保湿乳." }, + { "type": "卧床清洁(四肢)", "data": "" }, + { "type": "肌张力高(清洁)", "data": "准备温水.一次性面巾.香皂.清洁后涂抹身体保湿乳." } + ] + }, + { + "type": "会阴清洁", + "data": [ + { "type": "会阴清洁(男)", "data": "准备手套.盐水棉球.碘伏棉球.干棉球.环形完成清洁" }, + { "type": "会阴清洁(女)", "data": "准备手套.碘伏棉球.盐水棉球.干棉球.纵向完成擦拭" } + ] + }, + { + "type": "肛周清洁", + "data": [ + { "type": "肛周清洁", "data": "准备手套.碘伏棉球.盐水棉球.干棉球完成清洁" } + ] + }, + { + "type": "手清洁", + "data": [ + { "type": "洗手", "data": "" }, + { "type": "泡手", "data": "准备温水水盆.洗手液.一次性面巾.清洁后涂抹润手霜" }, + { "type": "准备洁具", "data": "" }, + { "type": "协助洗手", "data": "" }, + { "type": "强直屈曲洗手", "data": "" } + ] + }, + { + "type": "足清洁", + "data": [ + { "type": "泡脚", "data": "准备温水水盆.毛巾完成清洁后涂抹保湿乳" }, + { "type": "卧式泡脚", "data": "" } + ] + }, + { + "type": "剃须", + "data": [ + { "type": "修睫毛", "data": "" }, + { "type": "剃须", "data": "准备剃须液.剃须刀.一次性面巾.温水.协助剃须" } + ] + }, + { + "type": "修甲", + "data": [ + { "type": "角质增生(修甲)", "data": "准备指甲刀.纸巾.进行修剪" }, + { "type": "灰指甲(修甲)", "data": "准备专用指甲刀.纸巾.盐水棉球.进行修剪" }, + { "type": "正常(修甲)", "data": "准备指甲刀.纸巾.进行修剪" } + ] + }, + { + "type": "理发", + "data": [ + { "type": "理发", "data": "准备围巾.推子理发后.温水清洗." }, + { "type": "理发(颅骨缺损)", "data": "" } + ] + }, + { + "type": "沐浴", + "data": [ + { "type": "床上沐浴", "data": "准备温水.一次性毛巾.香皂.洗发水.身体保湿乳协助清洗." }, + { "type": "深度清洁", "data": "准备温水.一次性面巾.洗发水.香皂.棉签.指甲刀.身体保湿乳.盐水棉球.完成清洁" }, + { "type": "浴间洗浴", "data": "准备平车.换洗衣物.浴巾.洗发水.澡巾.香皂.被子.完成清洁" }, + { "type": "床上沐浴(大体重)", "data": "" }, + { "type": "深度清洁(大体重)", "data": "" }, + { "type": "浴间洗浴(大体重)", "data": "" } + ] + }, + { + "type": "气切消毒", + "data": [ + { "type": "内套管清洁", "data": "" }, + { "type": "更换气切纱布", "data": "" } + ] + } + ] + }, + { + "type": "饮食照料", + "data": [ + { + "type": "正餐饮食", + "data": [ + { "type": "准备餐具", "data": "按需床头摇起" }, + { "type": "协助进餐(正常)", "data": "按需床头摇起" }, + { "type": "协助进餐(超时)", "data": "按需床头摇起" }, + { "type": "鼻胃管进餐", "data": "床头摇起45度角" }, + { "type": "鼻肠管进餐", "data": "床头摇起45度角" }, + { "type": "轮椅进餐", "data": "" }, + { "type": "轮椅进餐(大体重)", "data": "" } + ] + }, + { + "type": "辅餐饮食", + "data": [ + { "type": "准备餐具", "data": "按需床头摇起" }, + { "type": "协助进餐(正常)", "data": "按需床头摇起" }, + { "type": "协助进餐(超时)", "data": "按需床头摇起" }, + { "type": "鼻胃管进餐", "data": "床头摇起45度角" }, + { "type": "鼻肠管进餐", "data": "床头摇起45度角" } + ] + }, + { + "type": "果汁饮食", + "data": [ + { "type": "准备餐具", "data": "按需床头摇起" }, + { "type": "协助进餐(正常)", "data": "按需床头摇起" }, + { "type": "协助进餐(超时)", "data": "按需床头摇起" }, + { "type": "鼻胃管进餐", "data": "床头摇起45度角" }, + { "type": "鼻肠管进餐", "data": "床头摇起45度角" } + ] + }, + { + "type": "饮水饮食", + "data": [ + { "type": "吸管喂药", "data": "" }, + { "type": "准备水杯", "data": "" }, + { "type": "协助饮水", "data": "" }, + { "type": "协助饮水(超时)", "data": "" }, + { "type": "鼻胃管饮水", "data": "床头摇起45度角" }, + { "type": "鼻肠管饮水", "data": "床头摇起45度角" }, + { "type": "准备水杯", "data": "按需床头摇起" }, + { "type": "协助饮水", "data": "按需床头摇起" }, + { "type": "协助饮水(超时)", "data": "按需床头摇起" }, + { "type": "鼻胃管饮水", "data": "" }, + { "type": "鼻肠管饮水", "data": "" } + ] + }, + { + "type": "加餐饮食", + "data": [ + { "type": "准备餐具", "data": "" }, + { "type": "协助进餐", "data": "" }, + { "type": "协助进餐(超时)", "data": "" }, + { "type": "鼻胃管进餐", "data": "" }, + { "type": "胃肠管进餐", "data": "" }, + { "type": "准备餐具", "data": "" }, + { "type": "协助进餐", "data": "" }, + { "type": "协助进餐(超时)", "data": "" }, + { "type": "鼻胃管进餐", "data": "" }, + { "type": "胃肠管进餐", "data": "" }, + { "type": "食物加工", "data": "" } + ] + } + ] + }, + { + "type": "睡眠照料", + "data": [ + { + "type": "巡视", + "data": [ + { "type": "巡视", "data": "巡视中.避免说话.走路轻." }, + { "type": "体位调整", "data": "巡视过程中发现老人体位不正确或踢蹬被褥,进行体位调整和盖被褥" } + ] + }, + { + "type": "体位调整", + "data": [ + { "type": "防坠床", "data": "" }, + { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥" }, + { "type": "睡姿调整", "data": "" } + ] + } + ] + }, + { + "type": "排泄照料", + "data": [ + { + "type": "小便", + "data": [ + { "type": "更换尿袋", "data": "准备尿袋一次性面巾.温水.进行操作" }, + { "type": "更换隔尿垫", "data": "准备尿片.尿裤.温水.一次性面巾.进行操作" }, + { "type": "使用尿盆", "data": "准备尿盆.温水.一次性面巾进行操作" }, + { "type": "使用尿壶", "data": "准备尿壶.温水.一次性面巾.协助操作" }, + { "type": "协助入厕", "data": "准备轮椅.推至卫生间.协助如厕" }, + { "type": "坐便椅", "data": "准备坐便椅.手纸.床椅转移.协助如厕" }, + { "type": "留置尿袋", "data": "准备尿液指定容器夹闭尿管.将.尿液倒出后.关闭开关." }, + { "type": "更换纸尿裤", "data": "" }, + { "type": "热敷抚触排尿", "data": "" }, + { "type": "协助坐便椅", "data": "" }, + { "type": "更换尿片", "data": "" } + ] + }, + { + "type": "大便", + "data": [ + { "type": "床上排便", "data": "准备尿片.尿裤.温水.一次性面巾.手纸.进行操作" }, + { "type": "协助坐便椅", "data": "准备坐便椅.手纸." }, + { "type": "协助入厕", "data": "准备轮椅" }, + { "type": "人工取便", "data": "准备排便手套.开塞露.温水.一次性面巾.手纸.尿片.尿裤." }, + { "type": "造瘘袋", "data": "准备手套.便器.温水." }, + { "type": "坐便椅", "data": "" } + ] + }, + { + "type": "吸痰", + "data": [ + { "type": "口腔吸痰", "data": "准备吸痰器.吸痰管.泡管液.冲管水.盐水棉球.纱布.完成吸痰" }, + { "type": "气切吸痰", "data": "准备吸痰器.吸痰管.冲管水.泡管液.纱布块.完成操作" } + ] + }, + { + "type": "呕吐", + "data": [ + { "type": "呕吐", "data": "准备换洗衣物.被褥.吸痰器.吸痰管.冲管水.漱口水.纱布.完成操作." } + ] + }, + { + "type": "引流", + "data": [ + { "type": "腹腔引流护理", "data": "" } + ] + } + ] + }, + { + "type": "日常照料", + "data": [ + { + "type": "协助喂药", + "data": [ + { "type": "协助喂药", "data": "准备好服用药物.温水.看护服用" }, + { "type": "鼻饲喂药", "data": "床头摇起45度角,准备温水.灌注器.药物.匀速灌注." }, + { "type": "注射器/吸管喂药", "data": "" } + ] + }, + { + "type": "床椅转移", + "data": [ + { "type": "床椅转移", "data": "准备轮椅.换好衣物手纸.水杯.食物.进行转移" }, + { "type": "床椅转移(大体重)", "data": "" }, + { "type": "协助床椅转移", "data": "" } + ] + }, + { + "type": "压疮防护", + "data": [ + { "type": "一级压疮防护", "data": "准备好体位垫.整理好衣物.进行翻身.扣背" }, + { "type": "二级压疮防护", "data": "翻身扣背垫枕开始操作" }, + { "type": "三级压疮防护", "data": "带压疮翻身扣背垫枕.进行操作" }, + { "type": "一级压疮防护(大体重)", "data": "" }, + { "type": "二级压疮防护(大体重)", "data": "" }, + { "type": "三级压疮防护(大体重)", "data": "" } + ] + }, + { + "type": "轮椅防护", + "data": [ + { "type": "轮椅防护", "data": "准备好安全带.坐垫.1小内将长者抬起.放松肌肉." }, + { "type": "轮椅防护(大体重)", "data": "" }, + { "type": "轮椅防护", "data": "" }, + { "type": "床椅转移(大体重)", "data": "" } + ] + }, + { + "type": "约束防护", + "data": [ + { "type": "约束位按摩(手)", "data": "约束位置用约束手套或束缚带.2小时.解开.放松." }, + { "type": "约束位按摩(足)", "data": "使用约束带.约束位置2小时按摩.用温水清洁." }, + { "type": "约束位按摩(全)", "data": "约束位置2小时放松.清洗." }, + { "type": "防护网约束", "data": "通过防护网对老人进行约束看护" } + ] + }, + { + "type": "按摩保健", + "data": [ + { "type": "协助行走", "data": "准备舒适鞋子.水杯.手纸.协助行走" }, + { "type": "放松按摩", "data": "手法放松.舒筋活血." }, + { "type": "心灵慰藉", "data": "陪同倾听.肢体放松.互动.安抚." }, + { "type": "躁狂", "data": "针对躁狂老人的狂燥期,发出喊叫,敲打等动作的忍受服务" } + ] + }, + { + "type": "更换衣物", + "data": [ + { "type": "准备衣物", "data": "准备舒适衣裤" }, + { "type": "协助更换", "data": "" }, + { "type": "肢体障碍(半侧)", "data": "" }, + { "type": "肢体障碍(全身)", "data": "" }, + { "type": "准备衣物", "data": "" }, + { "type": "协助更换", "data": "" }, + { "type": "肢体障碍(半侧)", "data": "" }, + { "type": "肢体障碍(全身)", "data": "" }, + { "type": "协助更换(大体重)", "data": "" }, + { "type": "肢体障碍(半侧)(大体重)", "data": "" }, + { "type": "肢体障碍(全测)(大体重)", "data": "" }, + { "type": "肢体障碍(半测)(大体重)", "data": "" } + ] + }, + { + "type": "调整坐卧", + "data": [ + { "type": "坐起", "data": "为老人调整床位60度角" }, + { "type": "躺下", "data": "为老人调整床位180度角" } + ] + }, + { + "type": "殡仪服务", + "data": [ + { "type": "遗体净身", "data": "" }, + { "type": "遗体穿衣", "data": "" }, + { "type": "遗体转移", "data": "" }, + { "type": "床位消毒", "data": "" } + ] + }, + { + "type": "换床上用品", + "data": [ + { "type": "更换床上用品(全部)", "data": "" }, + { "type": "隔尿褥子更换", "data": "" } + ] + }, + { + "type": "临终服务", + "data": [ + { "type": "临终护理", "data": "" } + ] + }, + { + "type": "制氧机应用", + "data": [ + { "type": "制氧机吸氧", "data": "制氧机吸氧" }, + { "type": "制氧机维护", "data": "制氧机维护,清洁维护,更换湿化瓶" } + ] + } + ] + } + ]; return (_ctx, _cache) => { - return { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p; + return common_vendor.e({ a: common_vendor.n(__props.darkFans ? `right-container-title-no-dark` : `right-container-title-no`), b: common_vendor.n(__props.darkFans ? `right-container-title-no-dark` : `right-container-title-no`), c: `/static/index/undericons/man.png`, @@ -110,21 +1035,97 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ backgroundColor: `#0184db` } : {}), e: index, - f: common_vendor.o(($event) => upmenuIndex.value = index, index) + f: common_vendor.o(($event) => changLeft(index), index) }; }), o: common_vendor.f(downList.value, (item, index, i0) => { return { - a: downmenuIndex.value === index, - b: common_vendor.t(item), - c: common_vendor.n(downmenuIndex.value === index ? `doctorsay-container-text-target` : `doctorsay-container-text`), - d: index, - e: common_vendor.o(($event) => handleTouchStart(item, index), index), - f: common_vendor.o(handleTouchEnd, index) + a: common_vendor.t(item.type), + b: common_vendor.n(downmenuIndex.value === index ? `doctorsay-container-text-target` : `doctorsay-container-text`), + c: downmenuIndex.value === index, + d: common_vendor.o(($event) => handleTouchStart(item.type, index, $event), index), + e: common_vendor.o(handleTouchMove, index), + f: common_vendor.o(handleTouchEnd, index), + g: index }; }), - p: __props.canmove, - q: common_vendor.f(undericonList.value, (item, index, i0) => { + p: common_vendor.s(isBack.value ? {} : { + width: `250rpx`, + height: `75rpx`, + fontSize: `30rpx`, + borderRadius: `10rpx` + }), + q: common_vendor.s(isBack.value ? {} : { + top: "30rpx" + }), + r: `/static/index/cardicons/uplight.png`, + s: __props.canmove, + t: common_vendor.o(handleScroll), + v: common_vendor.f(rightList.value, (item, index, i0) => { + return { + a: common_vendor.t(item), + b: common_vendor.n(rightListIndex.value === index ? `doctorsay-container-button-target` : `doctorsay-container-button`), + c: common_vendor.o(($event) => rightListClick(index), index), + d: index + }; + }), + w: common_vendor.f([1, 2, 3, 4], (item, index, i0) => { + return { + a: common_vendor.f(timearr.value.slice(index * 6, (index + 1) * 6), (item0, index0, i1) => { + return { + a: common_vendor.t(item0.time), + b: index0 + }; + }), + b: common_vendor.f(timearr.value.slice(index * 6, (index + 1) * 6), (item0, index0, i1) => { + return { + a: common_vendor.f(item0.children, (item1, index1, i2) => { + return { + a: common_vendor.t(item1.time), + b: common_vendor.t(item1.type), + c: common_vendor.s(item1.type == "日常" ? { + color: `#4A2E00` + } : { + backgroundColor: `#7B61FF`, + color: `#fff` + }), + d: item1.time, + e: common_vendor.t(item1.value), + f: common_vendor.n(getClass(item1, index0, index1)), + g: `a${index0}_${index1}`, + h: common_vendor.o(($event) => rulerTouchStart(item1, index0, index1, $event), index1), + i: common_vendor.o(rulerTouchMove, index1), + j: common_vendor.o(($event) => rulerTouchEnd(), index1), + k: index1, + l: index1 + }; + }), + b: index0, + c: index0 + }; + }), + c: index + }; + }), + x: common_vendor.s(rightListIndex.value ? { + width: "275rpx" + } : { + width: "206rpx" + }), + y: common_vendor.s(rightListIndex.value ? { + width: "275rpx" + } : { + width: "206rpx" + }), + z: scrollTop.value, + A: common_vendor.s(rightListIndex.value ? { + width: "6700rpx" + } : { + width: "5000rpx" + }), + B: currentNumber.value, + C: common_vendor.o(changecurrentNumber), + D: common_vendor.f(undericonList.value, (item, index, i0) => { return { a: index === undermenuIndex.value, b: index === undermenuIndex.value ? item.targetUrl : item.url, @@ -133,14 +1134,86 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ e: common_vendor.o(($event) => changeMenuUnder(index), index) }; }), - r: common_assets._imports_0$1, - s: common_vendor.n(__props.darkFans ? `under-father-img-font-dark` : `under-father-img-font`), - t: common_vendor.s(__props.isshow ? { + E: common_assets._imports_0$1, + F: common_vendor.n(__props.darkFans ? `under-father-img-font-dark` : `under-father-img-font`), + G: `/static/index/teeth.png`, + H: common_vendor.t((_b = (_a = timearr.value[flyNumber.value.index0]) == null ? void 0 : _a.children[flyNumber.value.index1]) == null ? void 0 : _b.value), + I: ((_d = (_c = timearr.value[flyNumber.value.index0]) == null ? void 0 : _c.children[flyNumber.value.index1]) == null ? void 0 : _d.type) === "日常" + }, ((_f = (_e = timearr.value[flyNumber.value.index0]) == null ? void 0 : _e.children[flyNumber.value.index1]) == null ? void 0 : _f.type) === "日常" ? {} : {}, { + J: ((_h = (_g = timearr.value[flyNumber.value.index0]) == null ? void 0 : _g.children[flyNumber.value.index1]) == null ? void 0 : _h.type) !== "日常" + }, ((_j = (_i = timearr.value[flyNumber.value.index0]) == null ? void 0 : _i.children[flyNumber.value.index1]) == null ? void 0 : _j.type) !== "日常" ? { + K: common_vendor.t((_l = (_k = timearr.value[flyNumber.value.index0]) == null ? void 0 : _k.children[flyNumber.value.index1]) == null ? void 0 : _l.type) + } : {}, { + L: ((_n = (_m = timearr.value[flyNumber.value.index0]) == null ? void 0 : _m.children[flyNumber.value.index1]) == null ? void 0 : _n.type) === "日常" ? `/static/index/crushyellow.png` : `/static/index/crushpouple.png`, + M: common_vendor.o(($event) => deleteRuler(flyNumber.value.index0, flyNumber.value.index1)), + N: 2 * openY.value - 350 + "rpx", + O: 2 * openX.value - 780 + "rpx", + P: isopacity.value ? 1 : 0, + Q: ((_p = (_o = timearr.value[flyNumber.value.index0]) == null ? void 0 : _o.children[flyNumber.value.index1]) == null ? void 0 : _p.type) === "日常" ? "rgb(255, 250, 241)" : "rgb(246, 244, 254)", + R: common_vendor.o(() => { + }), + S: isopen.value, + T: common_vendor.o(($event) => { + isopen.value = false; + flyNumber.value.index0 = 999; + }), + U: songisopen.value + }, songisopen.value ? { + V: common_assets._imports_1, + W: common_vendor.t(openValue.value.time + ":00"), + X: common_vendor.f(openValue.value.array, (item, index, i0) => { + return { + a: cardsumit.value.op[2] !== index ? `/static/index/ridark.png` : `/static/index/ri.png`, + b: common_vendor.t(item.type), + c: common_vendor.n(cardsumit.value.op[2] === index ? `arrayindex-one-target` : `arrayindex-one`), + d: common_vendor.o(($event) => clickOp(index, item.type), index), + e: index + }; + }), + Y: common_vendor.f(timeArray, (item, index, i0) => { + return { + a: common_vendor.t(item), + b: common_vendor.n(cardsumit.value.startTime === item ? `time-one-target` : `time-one`), + c: common_vendor.o(($event) => clickTime(item), index), + d: index + }; + }), + Z: common_vendor.n(isweek.value ? `radio-circle-target` : `radio-circle`), + aa: common_vendor.o(($event) => isweek.value = true), + ab: common_vendor.n(!isweek.value ? `radio-circle-target` : `radio-circle`), + ac: common_vendor.o(($event) => isweek.value = false), + ad: common_vendor.f(weekDays, (item, index, i0) => { + return { + a: common_vendor.t(item), + b: common_vendor.n(cardsumit.value.weekTime === item ? `week-one-target` : `week-one`), + c: common_vendor.o(($event) => clickweek(item), index), + d: index + }; + }), + ae: isweek.value, + af: common_vendor.f(common_vendor.unref(days), (item, index, i0) => { + return { + a: common_vendor.t(item), + b: common_vendor.n(cardsumit.value.monthTime === item ? `month-one-target` : `month-one`), + c: common_vendor.o(($event) => clickmonth(item), index), + d: index + }; + }), + ag: !isweek.value, + ah: common_vendor.o(movetoruler), + ai: cardsumit.value.op.name && cardsumit.value.startTime, + aj: !cardsumit.value.op.name || !cardsumit.value.startTime, + ak: songisopacity.value ? 1 : 0, + al: common_vendor.o(() => { + }), + am: common_vendor.o(($event) => songisopen.value = false) + } : {}, { + an: common_vendor.s(__props.isshow ? { opacity: `1` } : { opacity: `0` }) - }; + }); }; } }); diff --git a/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxml b/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxml index a0e57e8..4f2e661 100644 --- a/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxml +++ b/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxml @@ -1 +1 @@ - ID:12345678 名称:未命名01 王金福{{item.b}}{{item.b}}时间矩阵 2 {{item.c}} \ No newline at end of file + ID:12345678 名称:未命名01 王金福{{item.b}}{{item.a}}时间矩阵日常周期{{item.a}}{{item0.a}} {{item1.e}}快捷指令{{item.c}} 服务时段:{{W}} 护理时长:10分钟 服务指令 {{item.b}}开始分钟{{item.a}}周期类型每周每月 重置 \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxss b/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxss index 8635ab5..e0ab8f6 100644 --- a/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxss +++ b/unpackage/dist/dev/mp-weixin/component/rightItemssecond/index.wxss @@ -1,3 +1,83 @@ +.super-card.data-v-337bb5da { + display: flex; + justify-content: center; + width: 100%; + height: calc(100% - 400rpx); + margin-top: 30rpx; +} +.super-card .scroll-x.data-v-337bb5da { + height: 100%; + width: 100%; +} +.super-card .super-card-container.data-v-337bb5da { + background-color: #f1f7fd; + overflow: hidden; + width: 1650rpx; + height: 780rpx; + border-radius: 20rpx; + border: 1rpx solid black; +} +.super-card .super-card-time.data-v-337bb5da { + display: flex; + justify-content: center; + align-items: center; + background-color: #e9efff; + height: 80rpx; + width: 100rpx; + border-right: 1rpx solid #BFBFCB; + font-weight: 700; +} +.super-card .super-card-time-und.data-v-337bb5da { + display: flex; + justify-content: center; + align-items: center; + width: 100rpx; + flex-direction: column; + border-right: 1rpx solid #BFBFCB; +} +.super-card .super-card-time-card.data-v-337bb5da { + display: flex; + justify-content: center; + align-items: center; + height: 175rpx; + width: calc(100%); + border-right: 1rpx solid #BFBFCB; + border-top: 1rpx solid #BFBFCB; + flex-direction: column; +} +.super-card .super-card-time-card-blue.data-v-337bb5da { + background-color: #dae8fa; + display: flex; + justify-content: space-evenly; + align-items: center; + height: 175rpx; + width: calc(100%); + border-right: 1rpx solid #BFBFCB; + border-top: 1rpx solid #BFBFCB; + flex-direction: column; +} +.super-card .super-card-time-card-yellow.data-v-337bb5da { + background-color: #fffaf1; + display: flex; + justify-content: space-evenly; + align-items: center; + height: 175rpx; + width: calc(100%); + border-right: 1rpx solid #BFBFCB; + border-top: 1rpx solid #BFBFCB; + flex-direction: column; +} +.super-card .super-card-time-card-pouple.data-v-337bb5da { + background-color: #e0daff; + display: flex; + justify-content: space-evenly; + align-items: center; + height: 175rpx; + width: calc(100%); + border-right: 1rpx solid #BFBFCB; + border-top: 1rpx solid #BFBFCB; + flex-direction: column; +} .right-container.data-v-337bb5da { width: calc(100% - 235rpx); height: 100vh; @@ -48,7 +128,9 @@ color: #FFFFFF; } .right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down.data-v-337bb5da { - background-color: #ddeafa; + background-color: rgba(221, 234, 250); + -webkit-backdrop-filter: blur(8rpx); + backdrop-filter: blur(8rpx); width: 290rpx; height: 770rpx; border-radius: 40rpx; @@ -67,27 +149,57 @@ justify-content: center; align-items: center; height: 85rpx; - font-size: 35rpx; - font-weight: 700; position: relative; } .right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-container-button .doctorsay-container-text-target.data-v-337bb5da { color: #016AD1; background-color: #c9e8ff; - padding: 10rpx 30rpx; - border-radius: 40rpx; + border-radius: 20rpx; border: 2rpx solid #fff; - font-size: 40rpx; + width: 300rpx; + height: 100rpx; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + font-size: 45rpx; + transition: all 0.4s ease-in-out; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); + z-index: 20; + font-weight: 700; +} +.right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-container-button .doctorsay-container-text.data-v-337bb5da { + background-color: #f3f6fc; + border: 2rpx solid #fff; + border-radius: 10rpx; + width: 250rpx; + height: 75rpx; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + transition: all 0.4s ease-in-out; + font-weight: 500; + font-size: 30rpx; } .right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-container-button .doctorsay-container-button-gun.data-v-337bb5da { position: absolute; - top: 22rpx; + top: 19rpx; left: 1rpx; width: 10rpx; - height: 42rpx; + height: 50rpx; background: linear-gradient(to bottom, #04BCED, #0160CE); border-radius: 10rpx; } +.right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-container-button .doctorsay-container-button-uplight.data-v-337bb5da { + position: absolute; + top: 40rpx; + left: 20rpx; + width: 250rpx; + height: 50rpx; + z-index: 21; + transition: all 0.4s ease-in-out; +} .right-container .doctorsay-container-view .doctorsay-container-container.data-v-337bb5da { width: 1730rpx; height: 1220rpx; @@ -97,6 +209,32 @@ /* 右下角阴影 */ overflow: hidden; } +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end.data-v-337bb5da { + width: 100%; + height: 200rpx; + display: flex; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father.data-v-337bb5da { + height: 100%; + display: flex; + width: 100%; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father.data-v-337bb5da { + display: flex; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father .super-end-font-gun.data-v-337bb5da { + margin-left: 40rpx; + margin-right: 20rpx; + margin-top: 7rpx; + width: 13rpx; + height: 40rpx; + background: linear-gradient(to bottom, #04BCED, #0160CE); + border-radius: 10rpx; +} +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father .super-end-font-font.data-v-337bb5da { + font-size: 42rpx; + font-weight: 700; +} .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title.data-v-337bb5da { width: 100%; height: 130rpx; @@ -105,14 +243,64 @@ align-items: center; justify-content: space-between; } +.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right.data-v-337bb5da { + height: 100%; + display: flex; + align-items: center; + width: 310rpx; +} +.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father.data-v-337bb5da { + display: flex; +} +.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father .doctorsay-container-button-target.data-v-337bb5da { + display: flex; + justify-content: center; + align-items: center; + background-color: #3FA9F5; + color: #fff; + width: 140rpx; + height: 60rpx; + margin-right: 20rpx; + font-size: 28rpx; + border-radius: 10rpx; +} +.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-button-father .doctorsay-container-button.data-v-337bb5da { + display: flex; + justify-content: center; + align-items: center; + background-color: #fff; + width: 140rpx; + height: 60rpx; + margin-right: 20rpx; + font-size: 28rpx; + border-radius: 10rpx; +} +.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-right-kuai-cheng.data-v-337bb5da { + background-color: #FFDBA1; + height: 45rpx; + width: 45rpx; + border-radius: 7rpx; +} +.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-right-kuai-zi.data-v-337bb5da { + background-color: #7B61FF; + height: 45rpx; + width: 45rpx; + border-radius: 7rpx; +} +.right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-right .doctorsay-container-kuai-font.data-v-337bb5da { + font-size: 32rpx; + margin-left: 10rpx; + margin-right: 25rpx; +} .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-left.data-v-337bb5da { display: flex; } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title .doctorsay-container-left .doctorsay-container-left-gun.data-v-337bb5da { + margin-top: 7rpx; margin-left: 40rpx; margin-right: 20rpx; width: 13rpx; - height: 55rpx; + height: 40rpx; background: linear-gradient(to bottom, #04BCED, #0160CE); border-radius: 10rpx; } @@ -242,3 +430,372 @@ font-weight: 800; color: white; } +.title-time.data-v-337bb5da { + display: flex; +} +.title-time .title-time-time.data-v-337bb5da { + font-size: 35rpx; + margin-right: 10rpx; +} +.title-time .title-time-button.data-v-337bb5da { + background-color: #FFC363; + padding: 0 5rpx; + padding-top: 5rpx; + border-radius: 10rpx; + font-size: 25rpx; +} +.popup-overlay.data-v-337bb5da { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; + /* 添加毛玻璃效果 */ + z-index: 999; +} +.popup-overlay .popup-overlay-content.data-v-337bb5da { + position: absolute; + display: flex; + align-items: center; + width: 800rpx; + height: 450rpx; + background-color: #fff; + border-radius: 20rpx; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); + opacity: 0; + transition: opacity 0.4s ease; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-left.data-v-337bb5da { + height: 100%; + width: 350rpx; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-left .popup-overlay-content-left-img.data-v-337bb5da { + width: 330rpx; + height: 240rpx; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-left .popup-overlay-content-left-font.data-v-337bb5da { + margin-top: 20rpx; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right.data-v-337bb5da { + height: 100%; + width: 450rpx; + position: relative; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .time-font.data-v-337bb5da { + font-size: 50rpx; + margin-top: 100rpx; + margin-bottom: 10rpx; + font-weight: 700; + background: linear-gradient(to bottom, #7080A1, #263556); + -webkit-background-clip: text; + color: transparent; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .time-text.data-v-337bb5da { + margin-left: 10rpx; + font-size: 38rpx; + font-weight: 700; + width: 350rpx; + margin-bottom: 50rpx; + line-height: 45rpx; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-richang.data-v-337bb5da { + background-color: #FFC363; + position: absolute; + top: 108rpx; + right: 50rpx; + padding: 5rpx; + border-radius: 10rpx; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-richangnot.data-v-337bb5da { + background-color: #7B61FF; + position: absolute; + top: 108rpx; + right: 50rpx; + padding: 5rpx; + border-radius: 10rpx; + color: #fff; +} +.popup-overlay .popup-overlay-content .popup-overlay-content-right .right-crush.data-v-337bb5da { + position: absolute; + top: 20rpx; + right: 20rpx; + width: 70rpx; + height: 70rpx; +} +.popup-song.data-v-337bb5da { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; + /* 添加毛玻璃效果 */ + z-index: 999; +} +.popup-song .popup-song-contain.data-v-337bb5da { + position: absolute; + width: 1300rpx; + background-color: #fff; + border-radius: 20rpx; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); + opacity: 0; + transition: opacity 0.4s ease; +} +.popup-song .popup-song-contain .shu-container-left.data-v-337bb5da { + display: flex; + margin-top: 70rpx; + margin-bottom: 20rpx; +} +.popup-song .popup-song-contain .shu-container-left .shu-container-left-gun.data-v-337bb5da { + margin-top: 5rpx; + margin-left: 40rpx; + margin-right: 20rpx; + width: 13rpx; + height: 35rpx; + background: linear-gradient(to bottom, #04BCED, #0160CE); + border-radius: 10rpx; +} +.popup-song .popup-song-contain .shu-container-left .shu-container-left-font.data-v-337bb5da { + font-size: 35rpx; + font-weight: 700; +} +.popup-song-father.data-v-337bb5da { + position: relative; +} +.popup-song-father .shu-up-img.data-v-337bb5da { + position: absolute; + top: -70rpx; + left: 305rpx; + width: 700rpx; + height: 80rpx; +} +.popup-song-father .shu-up-font.data-v-337bb5da { + position: absolute; + top: -50rpx; + left: 390rpx; + display: flex; + color: #ff5a00; +} +.popup-song-father .arrayindex.data-v-337bb5da { + display: flex; + flex-wrap: wrap; + width: 100%; + margin-left: 30rpx; + margin-right: 30rpx; +} +.popup-song-father .arrayindex .arrayindex-one.data-v-337bb5da { + width: 385rpx; + height: 100rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #f1f5fc; + border-radius: 20rpx; + border: 1rpx solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.popup-song-father .arrayindex .arrayindex-one-target.data-v-337bb5da { + width: 385rpx; + height: 100rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #fffaf1; + border-radius: 20rpx; + border: 1rpx solid #ffb501; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.ri-img.data-v-337bb5da { + position: absolute; + top: -4rpx; + right: -3rpx; + width: 50rpx; + height: 50rpx; +} +.time-father.data-v-337bb5da { + display: flex; + width: 100%; + flex-wrap: wrap; + margin-left: 30rpx; + margin-right: 30rpx; +} +.time-father .time-one.data-v-337bb5da { + width: 100rpx; + height: 100rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #f1f5fc; + border-radius: 20rpx; + border: 1rpx solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.time-father .time-one-target.data-v-337bb5da { + width: 100rpx; + height: 100rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #02abfe; + color: #fff; + border-radius: 20rpx; + border: 1rpx solid #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.button-father.data-v-337bb5da { + height: 200rpx; + width: calc(100%-80rpx); + display: flex; + justify-content: center; + align-items: center; + margin-left: 40rpx; + margin-right: 40rpx; + margin-top: 20rpx; + border-top: 1rpx solid #e6e6e6; +} +.button-father .button-father-right.data-v-337bb5da { + background-color: #02abfe; + width: 200rpx; + height: 80rpx; + border-radius: 40rpx; + display: flex; + justify-content: center; + align-items: center; + color: #fff; +} +.button-father .button-father-wrong.data-v-337bb5da { + background-color: #dadada; + width: 200rpx; + height: 80rpx; + border-radius: 40rpx; + display: flex; + justify-content: center; + align-items: center; +} +.month-father.data-v-337bb5da { + display: flex; + width: calc(100% - 60rpx); + flex-wrap: wrap; + margin-left: 30rpx; + margin-right: 30rpx; + margin-top: 20rpx; +} +.month-father .month-one.data-v-337bb5da { + width: 75rpx; + height: 75rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #f1f5fc; + border-radius: 20rpx; + border: 1rpx solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.month-father .month-one-target.data-v-337bb5da { + width: 75rpx; + height: 75rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #02abfe; + color: #fff; + border-radius: 20rpx; + border: 1rpx solid #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.week-father.data-v-337bb5da { + display: flex; + width: 100%; + flex-wrap: wrap; + margin-left: 30rpx; + margin-right: 30rpx; + margin-top: 20rpx; +} +.week-father .week-one.data-v-337bb5da { + width: 200rpx; + height: 100rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #f1f5fc; + border-radius: 20rpx; + border: 1rpx solid #6d83b3; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.week-father .week-one-target.data-v-337bb5da { + width: 200rpx; + height: 100rpx; + margin-left: 20rpx; + margin-top: 20rpx; + background-color: #02abfe; + color: #fff; + border-radius: 20rpx; + border: 1rpx solid #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 29rpx; +} +.radio-father.data-v-337bb5da { + display: flex; + width: 100%; + flex-wrap: wrap; + margin-left: 75rpx; + margin-right: 30rpx; +} +.radio-father .radio-circle.data-v-337bb5da { + margin-top: 2rpx; + width: 30rpx; + height: 30rpx; + border-radius: 50%; + border: 2rpx solid black; + background-color: transparent; +} +.radio-father .radio-circle-target.data-v-337bb5da { + position: relative; + margin-top: 2rpx; + width: 30rpx; + height: 30rpx; + border-radius: 50%; + border: 2rpx solid #02abfe; + background-color: transparent; +} +.radio-father .radio-circle-target.data-v-337bb5da::after { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 20rpx; + height: 20rpx; + background-color: #02abfe; + border-radius: 50%; +} +.radio-father .radio-font.data-v-337bb5da { + margin-left: 15rpx; + margin-right: 60rpx; + font-size: 29rpx; +} diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js index fb038ad..3d74627 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.js +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js @@ -60,21 +60,63 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ const clientY = common_vendor.ref(0); const savename = common_vendor.ref(""); const canmove = common_vendor.ref(true); - const getxy = (event) => { + const indexNumber = common_vendor.ref({ + index0: 999, + index1: 999 + }); + const getxyrel = (event) => { const touch = event.touches[0]; - clientX.value = 2 * (Math.floor(touch.clientX) - 60); + clientX.value = 2 * (Math.floor(touch.clientX) - 100); clientY.value = 2 * (Math.floor(touch.clientY) - 55); + const translateX = Math.floor(touch.clientX) - 50; + const translateY = Math.floor(touch.clientY) - 25; + const clickedItem = fangkuaiValue.value.find((item) => { + return translateX >= item.left && translateX <= item.right && translateY >= item.top && translateY <= item.bottom; + }); + if (clickedItem) { + const { index0, index1 } = clickedItem.dataset; + indexNumber.value.index0 = index0; + indexNumber.value.index1 = index1; + } else { + indexNumber.value.index0 = 999; + indexNumber.value.index1 = 999; + } }; - const openname = (res) => { + const getxy = throttle(getxyrel, 10); + const fangkuaiValue = common_vendor.ref([]); + const openname = (res, fangkuai) => { savename.value = res; canmove.value = false; + fangkuaiValue.value = fangkuai; }; - const cleanall = () => { + const closename = () => { savename.value = ""; + canmove.value = true; + fangkuaiValue.value = []; + }; + const ruler = common_vendor.ref(null); + const cleanall = () => { + var _a; clientX.value = 9999; clientY.value = 9999; canmove.value = true; + indexNumber.value = { + index0: 999, + index1: 999 + }; + (_a = ruler.value) == null ? void 0 : _a.rulerEnd(savename.value); + savename.value = ""; }; + function throttle(fn, delay) { + let lastExecutionTime = 0; + return function(...args) { + const now = Date.now(); + if (now - lastExecutionTime >= delay) { + lastExecutionTime = now; + fn.apply(this, args); + } + }; + } common_vendor.onShow(() => { setTimeout(() => { changeMenu(menuIndex.value); @@ -83,7 +125,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ return (_ctx, _cache) => { return { a: common_vendor.t(savename.value), - b: savename.value, + b: savename.value && clientX.value, c: `${clientY.value}rpx`, d: `${clientX.value}rpx`, e: common_assets._imports_0, @@ -103,17 +145,25 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ isshow: menuIndexshow.value, darkFans: darkFans.value }), - l: menuIndex.value == 1, - m: common_vendor.o(darkchange), - n: common_vendor.o(openname), - o: common_vendor.p({ + l: common_vendor.sr(ruler, "1cf27b2a-1", { + "k": "ruler" + }), + m: menuIndex.value == 1, + n: common_vendor.o(darkchange), + o: common_vendor.o(openname), + p: common_vendor.o(closename), + q: common_vendor.p({ + liang: indexNumber.value, isshow: menuIndexshowsecond.value, canmove: canmove.value, darkFans: darkFans.value }), - p: common_vendor.n(darkFans.value ? `darkbackgroundContainer` : `backgroundContainer`), - q: common_vendor.o(getxy), - r: common_vendor.o(cleanall) + r: common_vendor.n(darkFans.value ? `darkbackgroundContainer` : `backgroundContainer`), + s: common_vendor.o( + //@ts-ignore + (...args) => common_vendor.unref(getxy) && common_vendor.unref(getxy)(...args) + ), + t: common_vendor.o(cleanall) }; }; } diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml index 4f4bf09..61fcdd4 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml @@ -1 +1 @@ - 王金凤 \ No newline at end of file + 王金凤 \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss index 883c6a8..de1c58a 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss @@ -22,9 +22,21 @@ } .move-font.data-v-1cf27b2a { position: absolute; - font-size: 45rpx; font-weight: 700; z-index: 10; + pointer-events: none; + color: #016AD1; + background-color: #fff; + border-radius: 20rpx; + border: 2rpx solid #fff; + width: 300rpx; + height: 100rpx; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + font-size: 45rpx; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); } .left-container.data-v-1cf27b2a { width: 235rpx; diff --git a/unpackage/dist/dev/mp-weixin/static/index/cardicons/uplight.png b/unpackage/dist/dev/mp-weixin/static/index/cardicons/uplight.png new file mode 100644 index 0000000..5e40e0c Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/index/cardicons/uplight.png differ diff --git a/unpackage/dist/dev/mp-weixin/static/index/cheng.png b/unpackage/dist/dev/mp-weixin/static/index/cheng.png new file mode 100644 index 0000000..24879bc Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/index/cheng.png differ diff --git a/unpackage/dist/dev/mp-weixin/static/index/crushpouple.png b/unpackage/dist/dev/mp-weixin/static/index/crushpouple.png new file mode 100644 index 0000000..de45150 Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/index/crushpouple.png differ diff --git a/unpackage/dist/dev/mp-weixin/static/index/crushyellow.png b/unpackage/dist/dev/mp-weixin/static/index/crushyellow.png new file mode 100644 index 0000000..478181e Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/index/crushyellow.png differ diff --git a/unpackage/dist/dev/mp-weixin/static/index/ri.png b/unpackage/dist/dev/mp-weixin/static/index/ri.png new file mode 100644 index 0000000..02b3e32 Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/index/ri.png differ diff --git a/unpackage/dist/dev/mp-weixin/static/index/ridark.png b/unpackage/dist/dev/mp-weixin/static/index/ridark.png new file mode 100644 index 0000000..68a9c43 Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/static/index/ridark.png differ