From 7048b00ab7d1c66d0dd14d4f529dcdac09697023 Mon Sep 17 00:00:00 2001 From: chenkainan Date: Tue, 27 Aug 2024 09:43:16 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compoents/waterList.vue | 156 ++++ pages.json | 21 +- pages/index/index.vue | 764 +++++++++++++++++- static/images/index.png | Bin 7552 -> 6273 bytes static/images/index_HL.png | Bin 0 -> 6516 bytes static/images/mall.png | Bin 0 -> 10532 bytes static/images/mall_HL.png | Bin 0 -> 18813 bytes static/images/map.png | Bin 0 -> 12816 bytes static/images/map_HL.png | Bin 0 -> 14692 bytes static/images/user.png | Bin 0 -> 7169 bytes static/images/user_HL.png | Bin 0 -> 9308 bytes static/js/CommonFunction.js | 2 +- store/modules/user.js | 8 - subPackages/webPage/webPage.vue | 29 + .../mp-weixin/common/runtime.js.map | 2 +- .../.sourcemap/mp-weixin/common/vendor.js.map | 2 +- .../mp-weixin/pages/index/index.js.map | 2 +- unpackage/dist/dev/mp-weixin/app.json | 23 +- .../dist/dev/mp-weixin/common/runtime.js | 2 +- unpackage/dist/dev/mp-weixin/common/vendor.js | 7 +- .../dist/dev/mp-weixin/pages/index/index.js | 2 +- .../dist/dev/mp-weixin/pages/index/index.json | 5 +- .../dist/dev/mp-weixin/pages/index/index.wxml | 2 +- .../dist/dev/mp-weixin/pages/index/index.wxss | 419 +++++++++- .../dev/mp-weixin/static/images/index.png | Bin 7552 -> 6273 bytes .../dev/mp-weixin/static/images/index_HL.png | Bin 9611 -> 6516 bytes .../dev/mp-weixin/static/images/lvyou_HL.png | Bin 14946 -> 0 bytes .../dev/mp-weixin/static/images/lvyous.png | Bin 10668 -> 0 bytes .../dev/mp-weixin/static/images/yuding.png | Bin 6893 -> 0 bytes .../dev/mp-weixin/static/images/yuding_HL.png | Bin 9962 -> 0 bytes .../dev/mp-weixin/static/images/yunlan.png | Bin 13170 -> 0 bytes .../dev/mp-weixin/static/images/yunlan_HL.png | Bin 17223 -> 0 bytes .../dev/mp-weixin/static/js/CommonFunction.js | 2 +- unpackage/dist/dev/mp-weixin/static/logo.png | Bin 4023 -> 0 bytes 34 files changed, 1367 insertions(+), 81 deletions(-) create mode 100644 compoents/waterList.vue create mode 100644 static/images/index_HL.png create mode 100644 static/images/mall.png create mode 100644 static/images/mall_HL.png create mode 100644 static/images/map.png create mode 100644 static/images/map_HL.png create mode 100644 static/images/user.png create mode 100644 static/images/user_HL.png create mode 100644 subPackages/webPage/webPage.vue delete mode 100644 unpackage/dist/dev/mp-weixin/static/images/lvyou_HL.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/images/lvyous.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/images/yuding.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/images/yuding_HL.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/images/yunlan.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/images/yunlan_HL.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/logo.png diff --git a/compoents/waterList.vue b/compoents/waterList.vue new file mode 100644 index 0000000..0c93772 --- /dev/null +++ b/compoents/waterList.vue @@ -0,0 +1,156 @@ + + + + + \ No newline at end of file diff --git a/pages.json b/pages.json index 928cdeb..3d4063f 100644 --- a/pages.json +++ b/pages.json @@ -3,6 +3,7 @@ { "path": "pages/index/index", "style": { + "navigationStyle": "custom", "navigationBarTitleText": "首页" } }, @@ -30,7 +31,11 @@ "root" : "subPackages", "pages": [ { - + "path" : "webPage/webPage", + "style" : { + "navigationBarTitleText" : "", + "enablePullDownRefresh" : false // 下拉刷新 + } } ] } @@ -49,25 +54,25 @@ { "pagePath" : "pages/index/index", "iconPath" : "/static/images/index.png", - "selectedIconPath" : "/static/images/index.png", + "selectedIconPath" : "/static/images/index_HL.png", "text" : "首页" }, { "pagePath" : "pages/map/map", - "iconPath" : "/static/images/index.png", - "selectedIconPath" : "/static/images/index.png", + "iconPath" : "/static/images/map.png", + "selectedIconPath" : "/static/images/map_HL.png", "text" : "地图" }, { "pagePath" : "pages/mall/mall", - "iconPath" : "/static/images/index.png", - "selectedIconPath" : "/static/images/index.png", + "iconPath" : "/static/images/mall.png", + "selectedIconPath" : "/static/images/mall_HL.png", "text" : "商城" }, { "pagePath" : "pages/user/user", - "iconPath" : "/static/images/index.png", - "selectedIconPath" : "/static/images/index.png", + "iconPath" : "/static/images/user.png", + "selectedIconPath" : "/static/images/user_HL.png", "text" : "我的" } ] diff --git a/pages/index/index.vue b/pages/index/index.vue index 6ee3b20..90c3ec2 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,49 +1,767 @@ - diff --git a/static/images/index.png b/static/images/index.png index 95ab94e115b80be989937cac2fa2381ec1bd458f..9930f3906b06f1a43145013d51b9c5ffe97e9f91 100644 GIT binary patch literal 6273 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 literal 7552 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 KC|M?M%;!@lm+_iWq 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 literal 0 HcmV?d00001 diff --git a/static/images/mall_HL.png b/static/images/mall_HL.png new file mode 100644 index 0000000000000000000000000000000000000000..34cef0a3b5942dbeefb764abc773364a9b606ce1 GIT binary patch literal 18813 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 literal 0 HcmV?d00001 diff --git a/static/images/map.png b/static/images/map.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d6b86ea527a5d19f06de39739928dcf72deaf7 GIT binary patch literal 12816 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 literal 0 HcmV?d00001 diff --git a/static/images/user.png b/static/images/user.png new file mode 100644 index 0000000000000000000000000000000000000000..15ec3824ec187ec5bd6eeb7ac5da3d4667a884aa GIT binary patch literal 7169 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 KMNUMnLSTXfh6UOH literal 0 HcmV?d00001 diff --git a/static/js/CommonFunction.js b/static/js/CommonFunction.js index 18bf2a5..ee9d838 100644 --- a/static/js/CommonFunction.js +++ b/static/js/CommonFunction.js @@ -65,7 +65,7 @@ Vue.prototype.showImg = img => { if (img.indexOf('https://') != -1 || img.indexOf('http://') != -1) { return img; } else { - return 'https://static.ticket.sz-trip.com' + img; + return 'https://tongli.sz-trip.com' + img; } } diff --git a/store/modules/user.js b/store/modules/user.js index 3679571..2704c9c 100644 --- a/store/modules/user.js +++ b/store/modules/user.js @@ -1,10 +1,6 @@ export default { // 类似 vue 的 data state: { - location: { - lat: '', - lon: '' - }, userInfo: { token: "" }, //保存用户登录信息, @@ -17,10 +13,6 @@ export default { state.userInfo = data; uni.setStorageSync('userInfo', JSON.stringify(data)) }, - changeLoationInfo(state, data) { - uni.setStorageSync('locationInfo', JSON.stringify(data)) - state.location = data; - }, changeLoginPath(state) { var pages = getCurrentPages() //获取加载的页面 var currentPage = pages[pages.length - 1] //获取当前页面的对象 diff --git a/subPackages/webPage/webPage.vue b/subPackages/webPage/webPage.vue new file mode 100644 index 0000000..6c115dd --- /dev/null +++ b/subPackages/webPage/webPage.vue @@ -0,0 +1,29 @@ + + + + + + \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map index 8e5158c..8aeeaef 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map @@ -1 +1 @@ -{"version":3,"sources":[null],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","global","oldJsonpFunction","slice"],"mappings":"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","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[null],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","global","oldJsonpFunction","slice"],"mappings":"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","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"common/runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"compoents/waterList\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"compoents/waterList\":\"compoents/waterList\"}[chunkId]||chunkId) + \".wxss\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ 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 58fad11..bbabf43 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js?3223","webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js?df3c","webpack:///(webpack)/buildin/global.js?3698","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js?47a9","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js?34cf","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js?ed45","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?7172","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?6382","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js?6454","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js?dd3e","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js?7ca3","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js?d551","webpack:///./node_modules/@babel/runtime/helpers/typeof.js?3b2d","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js?e6db","webpack:///./node_modules/@babel/runtime/helpers/construct.js?931d","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js?7647","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js?011a","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js?af34","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js?a708","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js?b893","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js?9008","webpack:///./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js?d3b4","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?67ad","webpack:///./node_modules/@babel/runtime/helpers/createClass.js?0bdb","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js?3240","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?828b","uni-app:///store/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js?8f59","uni-app:///store/modules/user.js","uni-app:///static/js/request.js","uni-app:///static/js/CommonFunction.js","uni-app:///mixins/myMixins.js","uni-app:///uni.promisify.adaptor.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","this","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","b64DecodeUnicode","str","decodeURIComponent","split","map","c","charCodeAt","toString","slice","getCurrentUserInfo","userInfo","token","wx","getStorageSync","tokenArr","length","uid","role","permission","tokenExpired","JSON","parse","error","Error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","atob","String","replace","test","bitmap","r1","r2","result","i","charAt","fromCharCode","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","promisify","success","fail","complete","assign","finally","constructor","value","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","locale","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","normalizeLocale","language","i18n","initVueI18n","t","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","deviceId","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","ctx","$on","arguments","$off","$emit","cid","cidErrMsg","enabled","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","parentVm","$children","childVm","$scope","_$vueId","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","observer","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","vFor","propPath","valuePath","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","todoApi","canIUseApi","apiName","uni","Proxy","uni$1","g","Function","window","module","exports","_interopRequireDefault","__esModule","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","r","l","Symbol","iterator","n","u","a","f","o","next","done","arrayLikeToArray","_unsupportedIterableToArray","minLen","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","setPrototypeOf","isNativeReflectConstruct","_construct","Reflect","construct","p","bind","_setPrototypeOf","_isNativeReflectConstruct","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","emptyObject","isUndef","isDef","isTrue","isFalse","isPrimitive","toRawType","isRegExp","isValidArrayIndex","parseFloat","isFinite","toNumber","makeMap","expectsLowerCase","list","isBuiltInTag","isReservedAttribute","remove","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","toArray","start","to","_from","toObject","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","getTime","keysA","keysB","looseIndexOf","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","bailRE","RegExp","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","weexPlatform","UA","navigator","userAgent","isIE","isEdge","nativeWatch","addEventListener","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","ownKeys","has","clear","tip","generateComponentTrace","formatComponentName","hasConsole","classifyRE","classify","msg","trace","includeFile","$root","_isVue","_componentTag","repeat","tree","currentRecursiveSequence","last","Dep","subs","pushTarget","SharedObject","targetStack","popTarget","addSub","removeSub","depend","addDep","notify","update","VNode","tag","children","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","copyAugment","protoAugment","src","observe","asRootData","__v_isMPComponent","defineReactive$$1","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","max","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","instanceData","defaultData","mergeAssets","assertObjectType","el","defaultStrat","key$1","inject","computed","provide","checkComponents","validateComponentName","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","prop","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","assertProp","_props","getType","required","valid","expectedTypes","assertedType","assertType","expectedType","validator","getInvalidTypeMessage","simpleCheckRE","isSameType","receivedType","expectedValue","styleValue","receivedValue","isExplicable","isBoolean","explicitTypes","some","elem","handleError","info","cur","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","initProxy","callbacks","pending","flushCallbacks","copies","setTimeout","MutationObserver","setImmediate","counter","textNode","document","createTextNode","characterData","nextTick","cb","_resolve","allowedGlobals","warnNonPresent","warnReservedPrefix","hasProxy","isBuiltInModifier","hasHandler","isAllowed","$data","getHandler","handlers","render","_withStripped","_renderProxy","mark","measure","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","perf","clearMarks","clearMeasures","startTag","endTag","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","extractPropertiesFromVNodeData","attrs","altKey","checkProp","extractPropsFromVNodeData","keyInLowerCase","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","shift","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","source","provideDefault","resolveSlots","slots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","_i","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","staticRenderFns","markStatic","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","d","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","devtoolsMeta","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","hooksToMerge","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","functional","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","merged","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","$vnode","pre","applyNS","registerDeepBindings","force","style","class","initRender","_vnode","parentVnode","_renderChildren","parentData","isUpdatingChildComponent","_parentListeners","currentRenderingInstance","renderMixin","$nextTick","_render","renderError","ensureCtor","comp","base","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","forceRender","renderCompleted","clearTimeout","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i$1","cbs","lowerCaseEvent","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","_$updateProperties","isInInactiveTree","direct","j","MAX_UPDATE_COUNT","activatedChildren","circular","waiting","flushing","resetSchedulerState","getNow","createEvent","timeStamp","flushSchedulerQueue","before","run","user","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","Watcher","expOrFn","isRenderWatcher","deep","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initComputed","initWatch","propsOptions","isRoot","_getFormData","__next_tick_pending","getData","computedWatcherOptions","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","_self","_$fallback","_name","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","exclude","created","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","util","defineReactive","ssrContext","ARRAYTYPE","OBJECTTYPE","NULLTYPE","UNDEFINEDTYPE","diff","syncKeys","_diff","rootCurrentType","rootPreType","currentValue","nullOrUndefined","currentType","preType","setResult","preValue","subKey","k","flushCallbacks$1","__next_tick_callbacks","log","hasRenderWatcher","nextTick$1","mpInstance$1","clearInstance","cloneWithData","dataKeys","reduce","compositionApiState","__composition_api_state__","__secret_vfa_state__","rawBindings","patch","__webviewId__","mpData","diffData","$shouldDiffData","createEmptyRender","mountComponent$1","template","updateComponent","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleBinding","bindingStyle","MP_METHODS","getTarget","internalMixin","onError","oldEmit","my","createSelectorQuery","createIntersectionObserver","__init_provide","__init_injections","__set_model","modifiers","__set_sync","__get_orig","__get_class","__get_style","dynamicStyle","staticStyle","dynamicStyleObj","styleObj","__map","iteratee","LIFECYCLE_HOOKS$1","lifecycleMixin$1","oldExtend","strategies","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","renderjs","__module","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","h","Vuex","Store","modules","applyMixin","vuexInit","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","mutation","prepend","subscribeAction","action","deepCopy","copy","forEachValue","assert","condition","partial","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","addChild","removeChild","getChild","hasChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","register","targetModule","newModule","assertRawModule","root","getNamespace","namespace","rawChildModule","unregister","isRegistered","functionAssert","expected","objectAssert","assertTypes","assertOptions","makeAssertionMessage","buf","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","dispatch","commit","payload","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","_vm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","rawGetter","_Vue","all","registerModule","preserveState","unregisterModule","hasModule","newOptions","committing","mapState","normalizeNamespace","states","isValidMap","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","groupCollapsed","group","groupEnd","time","pad","getHours","getMinutes","getSeconds","getMilliseconds","times","num","maxLength","index_cjs","location","lat","lon","toPath","changeUserInfo","setStorageSync","changeLoationInfo","changeLoginPath","currentPage","navigateTo","NEWAPIURL","Post","apiurl","showLoading","request","header","hideLoading","code","showToast","icon","formateRichText","reg","getUrlPara","arrUrl","para","idChinaName","idCardNumber","IsTel","tel","IsTelMacau","IsCode","IsMail","showImg","img","getLocation","startLocationUpdate","onLocationChange","latitude","longitude","getHeadImg","image","gotoPath","goBack","navigateBack","switchTab","openLocation","goDetail","link_type","navigateToMiniProgram","shortLink","ext_link","clickPhone","phone","makePhoneCall","phoneNumber","myMixins","wechat_qrcode","showShareMenu","withShareTicket","menus","onShareTimeline","summary","imageUrl","onShareAppMessage","view","mpId"],"mappings":"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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n } else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res, options).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(\r\n wrapperOptions(getApiInterceptorHooks(method), options),\r\n ...params\r\n )\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name) || !isFn(api)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n if (isFn(getApp)) {\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = isFn(getApp) ? getApp() : false;\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n const extraParam = {};\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n args (fromArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n fromArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n fromArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n }\r\n};\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting,\r\n compressImage\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n shareVideoMessage: shareVideoMessage,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector) || [];\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || toSkip(component);\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n const oldKeys = new Set(...Object.keys(refs));\r\n const newKeys = Object.keys(newRefs);\r\n newKeys.forEach(key => {\r\n const oldValue = refs[key];\r\n const newValue = newRefs[key];\r\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n return\r\n }\r\n refs[key] = newValue;\r\n oldKeys.delete(key);\r\n });\r\n oldKeys.forEach(key => {\r\n delete refs[key];\r\n });\r\n return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n const refs = {};\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || toSkip(component));\r\n });\r\n return syncRefs(refs, $refs)\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n // 在 Vue 中标记为小程序组件\r\n const IS_MP = '__v_isMPComponent';\r\n Object.defineProperty(component, IS_MP, {\r\n configurable: true,\r\n enumerable: false,\r\n value: true\r\n });\r\n return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n const OB = '__ob__';\r\n const SKIP = '__v_skip';\r\n if (isObject(obj) && Object.isExtensible(obj)) {\r\n // 避免被 @vue/composition-api 观测\r\n Object.defineProperty(obj, OB, {\r\n configurable: true,\r\n enumerable: false,\r\n value: {\r\n [SKIP]: true\r\n }\r\n });\r\n }\r\n return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n event = customize(event);\r\n } else {\r\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n const newEvent = customize(event);\r\n if (newEvent !== event) {\r\n oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n }\r\n }\r\n return oldTriggerEvent.apply(this, [event, ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n options[name] = function (...args) {\r\n markMPComponent(this);\r\n initTriggerEvent(this);\r\n if (oldHook) {\r\n return oldHook.apply(this, args)\r\n }\r\n };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n hooks.push(name);\r\n }\r\n });\r\n }\r\n return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) { }\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) { }\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n // fixed 用户直接触发 mpInstance.triggerEvent\r\n const __args__ = isPlainObject(event.detail)\r\n ? event.detail.__args__ || [event.detail]\r\n : [event.detail];\r\n\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return __args__\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n function currentId (fn) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n fn(vueId);\r\n }\r\n }\r\n\r\n Vue.prototype.$hasSSP = function (vueId) {\r\n const slot = center[vueId];\r\n if (!slot) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return slot\r\n };\r\n\r\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n const slot = center[vueId];\r\n if (slot) {\r\n const params = slot[name] || [];\r\n if (needAll) {\r\n return params\r\n }\r\n return params[0]\r\n }\r\n };\r\n\r\n Vue.prototype.$setSSP = function (name, value) {\r\n let index = 0;\r\n currentId.call(this, vueId => {\r\n const slot = center[vueId];\r\n const params = slot[name] = slot[name] || [];\r\n params.push(value);\r\n index = params.length - 1;\r\n });\r\n return index\r\n };\r\n\r\n Vue.prototype.$initSSP = function () {\r\n currentId.call(this, vueId => {\r\n center[vueId] = {};\r\n });\r\n };\r\n\r\n Vue.prototype.$callSSP = function () {\r\n currentId.call(this, vueId => {\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n });\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (\r\n ( this.mpType === 'page') &&\r\n typeof getApp === 'function'\r\n ) { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n initUnknownHooks(appOptions, vm.$options);\r\n\r\n return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}, needVueOptions) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (needVueOptions) {\r\n return [componentOptions, vueOptions, VueComponent]\r\n }\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n {\r\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n }\r\n {\r\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n }\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, extraApi[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.