diff --git a/pages.json b/pages.json
index 928cdeb..d429194 100644
--- a/pages.json
+++ b/pages.json
@@ -30,7 +30,31 @@
"root" : "subPackages",
"pages": [
{
-
+ "path" : "food/foodList",
+ "style" : {
+ "navigationBarTitleText" : "",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "food/foodDetail",
+ "style" : {
+ "navigationBarTitleText" : "美食餐饮"
+ }
+ },
+ {
+ "path" : "techan/techanList",
+ "style" : {
+ "navigationBarTitleText" : "",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path" : "line/lineList",
+ "style" : {
+ "navigationBarTitleText" : "",
+ "navigationStyle": "custom"
+ }
}
]
}
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/subPackages/food/foodDetail.vue b/subPackages/food/foodDetail.vue
new file mode 100644
index 0000000..79b2e0d
--- /dev/null
+++ b/subPackages/food/foodDetail.vue
@@ -0,0 +1,934 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ info.money / 100 }}
+
+
+ {{ info.title }}
+
+ {{ item }}
+
+
+
+
+
+
+ 选择
+
+
+
+ {{sku[0].title}}
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 立即购买
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/subPackages/food/foodList.vue b/subPackages/food/foodList.vue
new file mode 100644
index 0000000..d262d60
--- /dev/null
+++ b/subPackages/food/foodList.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{tagItem}}
+
+
+
+ 距您约{{ item.distance/1000 }}km
+
+
+ {{item.low_money/100}}
+
+
+
+
+
+
+
+
+
+
diff --git a/subPackages/line/lineList.vue b/subPackages/line/lineList.vue
new file mode 100644
index 0000000..cc076fc
--- /dev/null
+++ b/subPackages/line/lineList.vue
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+ {{item.low_money/100}}
+
+
+
+
+
+
+
+
+
+
diff --git a/subPackages/techan/techanList.vue b/subPackages/techan/techanList.vue
new file mode 100644
index 0000000..46f2a29
--- /dev/null
+++ b/subPackages/techan/techanList.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ {{item.money/100}}
+
+
+ 立即购买
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
index fcd0691..a6e1486 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js","webpack:///D:/work/yandu_WeChat/App.vue?9d1f","webpack:///D:/work/yandu_WeChat/App.vue?c338","uni-app:///App.vue","webpack:///D:/work/yandu_WeChat/App.vue?4050"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","mixin","myMixins","config","productionTip","App","mpType","app","store","$mount","render","staticRenderFns","components","renderjs","component","options","__file","onLaunch","console","onShow","onHide"],"mappings":"+IAAA,MAE2D,eAC3D,WACA,MACA,MACA,YAKA,WACgC,2kBAAhC,MAVAA,EAAGC,kCAAoCC,EAMvCC,UAAIC,MAAMC,YAKVF,UAAIG,OAAOC,eAAgB,EAC3BC,UAAIC,OAAS,MACb,IAAMC,EAAM,IAAIP,UAAI,EAAD,CACjBQ,MAAOA,WACJH,YAEL,EAAAE,GAAIE,W,8ECnBJ,yHAAIC,EAAQC,EAAmCC,EAC3CC,EADJ,QASIC,EAAY,qBACd,aACAJ,EACAC,GACA,EACA,KACA,KACA,MACA,EACAC,EACAC,GAGFC,EAAUC,QAAQC,OAAS,UACZ,aAAAF,E,yCCvBf,wHAAklB,eAAG,G,wGCCrlB,CACAG,oBACAC,2BAEAC,kBACAD,yBAEAE,kBACAF,0BAEA,a,gCCXA,wHAAy1B,eAAG,G","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App'\r\nimport store from './store'\r\nimport '@/static/js/request.js'\r\nimport '@/static/js/CommonFunction.js'\r\nimport {myMixins} from '@/mixins/myMixins.js'\r\n\r\nVue.mixin(myMixins)\r\n\r\n\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n store: store,\r\n ...App\r\n})\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\n","import mod from \"-!../../HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js",null,"webpack:///C:/Users/Administrator/Desktop/yandu_WeChat/App.vue?ba8e","uni-app:///App.vue","webpack:///C:/Users/Administrator/Desktop/yandu_WeChat/App.vue?51e5","webpack:///C:/Users/Administrator/Desktop/yandu_WeChat/App.vue?40c2"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","mixin","myMixins","config","productionTip","App","mpType","app","store","$mount"],"mappings":";;;;;;;;;iDAAA;;AAE2D;AAC3D;AACA;AACA;AACA;;;;;AAKA;AACA,uD,ynCAXA;AACAA,EAAE,CAACC,iCAAH,GAAuCC,mBAAvC,CAMAC,aAAIC,KAAJ,CAAUC,kBAAV,EAKAF,aAAIG,MAAJ,CAAWC,aAAX,GAA2B,KAA3B;AACAC,aAAIC,MAAJ,GAAa,KAAb;AACA,IAAMC,GAAG,GAAG,IAAIP,YAAJ;AACVQ,OAAK,EAAEA,cADG;AAEPH,YAFO,EAAZ;;AAIA,UAAAE,GAAG,EAACE,MAAJ,G;;;;;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACuD;AACL;AACa;;;AAG/D;AACqN;AACrN,gBAAgB,+NAAU;AAC1B,EAAE,yEAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,gF;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAA01B,CAAgB,u2BAAG,EAAC,C;;;;;;;;;;;;ACC92B;AACA;AACA;AACA,GAHA;AAIA;AACA;AACA,GANA;AAOA;AACA;AACA,GATA,E;;;;;;;;;;;ACDA;AAAA;AAAA;AAAA;AAAitC,CAAgB,gsCAAG,EAAC,C;;;;;;;;;;ACAruC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App'\r\nimport store from './store'\r\nimport '@/static/js/request.js'\r\nimport '@/static/js/CommonFunction.js'\r\nimport {myMixins} from '@/mixins/myMixins.js'\r\n\r\nVue.mixin(myMixins)\r\n\r\n\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n store: store,\r\n ...App\r\n})\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n","import mod from \"-!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1724720934792\n var cssReload = require(\"C:/QMDownload/SoftMgr/HBuilderX.2.7.14.20200618.full/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ 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..5198074 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":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,iBAAkB,GAGfK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,IAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BvC,K","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":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;;;QAGA;QACA,oBAAoB;QACpB;QACA;QACA;QACA,uBAAuB,gdAAgd;QACve;QACA;QACA,mBAAmB,6BAA6B;QAChD;QACA;QACA;QACA;QACA;QACA,mBAAmB,8BAA8B;QACjD;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA,KAAK;QACL;QACA,KAAK;QACL;;QAEA;;QAEA;QACA,iCAAiC;;QAEjC;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,MAAM;QACN;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,wBAAwB,kCAAkC;QAC1D,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA,0CAA0C,oBAAoB,WAAW;;QAEzE;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","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 = {\"uni_modules/uni-popup/components/uni-popup/uni-popup\":1,\"uni_modules/uni-rate/components/uni-rate/uni-rate\":1,\"uni_modules/uni-icons/components/uni-icons/uni-icons\":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 = \"\" + ({\"uni_modules/uni-popup/components/uni-popup/uni-popup\":\"uni_modules/uni-popup/components/uni-popup/uni-popup\",\"uni_modules/uni-rate/components/uni-rate/uni-rate\":\"uni_modules/uni-rate/components/uni-rate/uni-rate\",\"uni_modules/uni-transition/components/uni-transition/uni-transition\":\"uni_modules/uni-transition/components/uni-transition/uni-transition\",\"uni_modules/uni-icons/components/uni-icons/uni-icons\":\"uni_modules/uni-icons/components/uni-icons/uni-icons\"}[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..7d7ca76 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. , , v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page\n if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){\n (slots['page'] || (slots['page'] = [])).push(child);\n }else{\n (slots.default || (slots.default = [])).push(child);\n }\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i, i, i); // fixed by xxxxxx\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i, i); // fixed by xxxxxx\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering \n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n // fixed by xxxxxx app-plus scopedSlot\n nodes = scopedSlotFn(props, this, props._i) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n callHook(componentInstance, 'onServiceCreated');\n callHook(componentInstance, 'onServiceAttached');\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n \n // fixed by xxxxxx update properties(mp runtime)\n vm._$updateProperties && vm._$updateProperties(vm);\n \n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n {\n if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn\n return\n }\n //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n if(\n key === 'value' && \n Array.isArray(vm.$options.behaviors) &&\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\n ){\n return\n }\n if(vm._getFormData){\n return\n }\n var $parent = vm.$parent;\n while($parent){\n if($parent.__next_tick_pending){\n return \n }\n $parent = $parent.$parent;\n }\n }\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.SharedObject.target) {// fixed by xxxxxx\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n !vm._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\nvar NULLTYPE = '[object Null]';\nvar UNDEFINEDTYPE = '[object Undefined]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n var result = {};\n syncKeys(current, pre);\n _diff(current, pre, '', result);\n return result\n}\n\nfunction syncKeys(current, pre) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n if(Object.keys(current).length >= Object.keys(pre).length){\n for (var key in pre) {\n var currentValue = current[key];\n if (currentValue === undefined) {\n current[key] = null;\n } else {\n syncKeys(currentValue, pre[key]);\n }\n }\n }\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n if (current.length >= pre.length) {\n pre.forEach(function (item, index) {\n syncKeys(current[index], item);\n });\n }\n }\n}\n\nfunction nullOrUndefined(currentType, preType) {\n if(\n (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) && \n (preType === NULLTYPE || preType === UNDEFINEDTYPE)\n ) {\n return false\n }\n return true\n}\n\nfunction _diff(current, pre, path, result) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE) {\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n setResult(result, path, current);\n } else {\n var loop = function ( key ) {\n var currentValue = current[key];\n var preValue = pre[key];\n var currentType = type(currentValue);\n var preType = type(preValue);\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n }\n } else if (currentType == ARRAYTYPE) {\n if (preType != ARRAYTYPE) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n if (currentValue.length < preValue.length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n currentValue.forEach(function (item, index) {\n _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n });\n }\n }\n } else if (currentType == OBJECTTYPE) {\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n for (var subKey in currentValue) {\n _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n }\n }\n }\n };\n\n for (var key in current) loop( key );\n }\n } else if (rootCurrentType == ARRAYTYPE) {\n if (rootPreType != ARRAYTYPE) {\n setResult(result, path, current);\n } else {\n if (current.length < pre.length) {\n setResult(result, path, current);\n } else {\n current.forEach(function (item, index) {\n _diff(item, pre[index], path + '[' + index + ']', result);\n });\n }\n }\n } else {\n setResult(result, path, current);\n }\n}\n\nfunction setResult(result, k, v) {\n // if (type(v) != FUNCTIONTYPE) {\n result[k] = v;\n // }\n}\n\nfunction type(obj) {\n return Object.prototype.toString.call(obj)\n}\n\n/* */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n var mpInstance = vm.$scope;\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n }\r\n var copies = vm.__next_tick_callbacks.slice(0);\r\n vm.__next_tick_callbacks.length = 0;\r\n for (var i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n //2.nextTick 之前存在 render watcher\r\n if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n if(process.env.VUE_APP_DEBUG){\n var mpInstance = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n ']:nextVueTick');\n }\r\n return nextTick(cb, vm)\r\n }else{\n if(process.env.VUE_APP_DEBUG){\n var mpInstance$1 = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n ']:nextMPTick');\n }\n }\r\n var _resolve;\r\n if (!vm.__next_tick_callbacks) {\r\n vm.__next_tick_callbacks = [];\r\n }\r\n vm.__next_tick_callbacks.push(function () {\r\n if (cb) {\r\n try {\r\n cb.call(vm);\r\n } catch (e) {\r\n handleError(e, vm, 'nextTick');\r\n }\r\n } else if (_resolve) {\r\n _resolve(vm);\r\n }\r\n });\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(function (resolve) {\r\n _resolve = resolve;\r\n })\r\n }\r\n}\n\n/* */\r\n\r\nfunction clearInstance(key, value) {\r\n // 简易去除 Vue 和小程序组件实例\r\n if (value) {\r\n if (value._isVue || value.__v_isMPComponent) {\r\n return {}\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction cloneWithData(vm) {\r\n // 确保当前 vm 所有数据被同步\r\n var ret = Object.create(null);\r\n var dataKeys = [].concat(\r\n Object.keys(vm._data || {}),\r\n Object.keys(vm._computedWatchers || {}));\r\n\r\n dataKeys.reduce(function(ret, key) {\r\n ret[key] = vm[key];\r\n return ret\r\n }, ret);\r\n\r\n // vue-composition-api\r\n var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;\r\n var rawBindings = compositionApiState && compositionApiState.rawBindings;\r\n if (rawBindings) {\r\n Object.keys(rawBindings).forEach(function (key) {\r\n ret[key] = vm[key];\r\n });\r\n }\r\n\r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret, clearInstance))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err, vm, info) {\r\n Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\r\n console.error(err);\r\n /* eslint-disable no-undef */\r\n var app = typeof getApp === 'function' && getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];\r\n if (triggerEvent) {\r\n try {\r\n triggerEvent.call(this.$scope, event, {\r\n __args__: toArray(arguments, 1)\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n return oldEmit.apply(this, arguments)\r\n };\r\n\r\n Vue.prototype.$nextTick = function(fn) {\r\n return nextTick$1(this, fn)\r\n };\r\n\r\n MP_METHODS.forEach(function (method) {\r\n Vue.prototype[method] = function(args) {\r\n if (this.$scope && this.$scope[method]) {\r\n return this.$scope[method](args)\r\n }\r\n // mp-alipay\r\n if (typeof my === 'undefined') {\r\n return\r\n }\r\n if (method === 'createSelectorQuery') {\r\n /* eslint-disable no-undef */\r\n return my.createSelectorQuery(args)\r\n } else if (method === 'createIntersectionObserver') {\r\n /* eslint-disable no-undef */\r\n return my.createIntersectionObserver(args)\r\n }\r\n // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n };\r\n });\r\n\r\n Vue.prototype.__init_provide = initProvide;\r\n\r\n Vue.prototype.__init_injections = initInjections;\r\n\r\n Vue.prototype.__call_hook = function(hook, args) {\r\n var vm = this;\r\n // #7573 disable dep collection when invoking lifecycle hooks\r\n pushTarget();\r\n var handlers = vm.$options[hook];\r\n var info = hook + \" hook\";\r\n var ret;\r\n if (handlers) {\r\n for (var i = 0, j = handlers.length; i < j; i++) {\r\n ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n }\r\n }\r\n if (vm._hasHookEvent) {\r\n vm.$emit('hook:' + hook, args);\r\n }\r\n popTarget();\r\n return ret\r\n };\r\n\r\n Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n if (Array.isArray(modifiers)) {\r\n if (modifiers.indexOf('trim') !== -1) {\r\n value = value.trim();\r\n }\r\n if (modifiers.indexOf('number') !== -1) {\r\n value = this._n(value);\r\n }\r\n }\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__set_sync = function(target, key, value) {\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__get_orig = function(item) {\r\n if (isPlainObject(item)) {\r\n return item['$orig'] || item\r\n }\r\n return item\r\n };\r\n\r\n Vue.prototype.__get_value = function(dataPath, target) {\r\n return getTarget(target || this, dataPath)\r\n };\r\n\r\n\r\n Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n return renderClass(staticClass, dynamicClass)\r\n };\r\n\r\n Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n if (!dynamicStyle && !staticStyle) {\r\n return ''\r\n }\r\n var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n };\r\n\r\n Vue.prototype.__map = function(val, iteratee) {\r\n //TODO 暂不考虑 string\r\n var ret, i, l, keys, key;\r\n if (Array.isArray(val)) {\r\n ret = new Array(val.length);\r\n for (i = 0, l = val.length; i < l; i++) {\r\n ret[i] = iteratee(val[i], i);\r\n }\r\n return ret\r\n } else if (isObject(val)) {\r\n keys = Object.keys(val);\r\n ret = Object.create(null);\r\n for (i = 0, l = keys.length; i < l; i++) {\r\n key = keys[i];\r\n ret[key] = iteratee(val[key], key, i);\r\n }\r\n return ret\r\n } else if (typeof val === 'number') {\r\n ret = new Array(val);\r\n for (i = 0, l = val; i < l; i++) {\r\n // 第一个参数暂时仍和小程序一致\r\n ret[i] = iteratee(i, i);\r\n }\r\n return ret\r\n }\r\n return []\r\n };\r\n\r\n}\n\n/* */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n //App\r\n 'onLaunch',\r\n 'onShow',\r\n 'onHide',\r\n 'onUniNViewMessage',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onError',\r\n 'onUnhandledRejection',\r\n //Page\r\n 'onInit',\r\n 'onLoad',\r\n // 'onShow',\r\n 'onReady',\r\n // 'onHide',\r\n 'onUnload',\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onTabItemTap',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\r\n 'onUploadDouyinVideo',\r\n 'onNFCReadMessage',\r\n //Component\r\n // 'onReady', // 兼容旧版本,应该移除该事件\r\n 'onPageShow',\r\n 'onPageHide',\r\n 'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n //fixed vue-class-component\r\n var oldExtend = Vue.extend;\r\n Vue.extend = function(extendOptions) {\r\n extendOptions = extendOptions || {};\r\n\r\n var methods = extendOptions.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(function (methodName) {\r\n if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n extendOptions[methodName] = methods[methodName];\r\n delete methods[methodName];\r\n }\r\n });\r\n }\r\n\r\n return oldExtend.call(this, extendOptions)\r\n };\r\n\r\n var strategies = Vue.config.optionMergeStrategies;\r\n var mergeHook = strategies.created;\r\n LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n strategies[hook] = mergeHook;\r\n });\r\n\r\n Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/* */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n el ,\r\n hydrating \r\n) {\r\n return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/* */\n\nexport default Vue;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode, /* vue-cli only */\n components, // fixed by xxxxxx auto components\n renderjs // fixed by xxxxxx renderjs\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // fixed by xxxxxx auto components\n if (components) {\n if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n if(typeof renderjs.beforeCreate === 'function'){\n\t\t\trenderjs.beforeCreate = [renderjs.beforeCreate]\n\t\t}\n (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n this[renderjs.__module] = this\n });\n (options.mixins || (options.mixins = [])).push(renderjs)\n }\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport user from \"./modules/user\"\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n user: user,\r\n }\r\n})\r\n","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\n'use strict';\n\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array